From 364adc2454f686bbb23c80790465d8387ab17255 Mon Sep 17 00:00:00 2001 From: Dvir Date: Sun, 16 Jul 2023 02:08:15 +0300 Subject: [PATCH 01/24] WIP --- .../Guns/Ammunition/Boxes/light_rifle.yml | 2 +- .../Weapons/Guns/Ammunition/Boxes/pistol.yml | 15 +++++ .../Weapons/Guns/Ammunition/Boxes/rifle.yml | 2 +- .../Ammunition/Cartridges/caseless_rifle.yml | 2 +- .../Guns/Ammunition/Cartridges/pistol.yml | 8 +++ .../Guns/Ammunition/Magazines/light_rifle.yml | 21 +----- .../Guns/Ammunition/Magazines/pistol.yml | 14 ++++ .../Ammunition/Projectiles/light_rifle.yml | 2 +- .../Guns/Ammunition/Projectiles/pistol.yml | 8 +++ .../Weapons/Guns/Ammunition/explosives.yml | 17 +++++ .../Weapons/Guns/Battery/battery_guns.yml | 61 ++++++++++++++++++ .../Weapons/Guns/Projectiles/hitscan.yml | 22 +++++++ .../Weapons/Guns/Projectiles/projectiles.yml | 31 +++++++++ .../Explosives/explosives.rsi/emp.png | Bin 0 -> 317 bytes .../Explosives/explosives.rsi/meta.json | 3 + 15 files changed, 184 insertions(+), 24 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/emp.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml index 7018ff37647..942faa544d6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml @@ -117,4 +117,4 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - - state: incendiary + - state: incendiary \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index d8bab16cdbc..e22b049f9ce 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -98,3 +98,18 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - state: incendiary + +- type: entity + parent: BaseMagazineBoxPistol + id: MagazineBoxPistolEMP + name: ammunition box (.35 auto emp) + components: + - type: BallisticAmmoProvider + proto: CartridgePistolEMP + - type: Sprite + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: rubber \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml index 260237c3c0e..b2093a3a5d6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml @@ -137,4 +137,4 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - - state: incendiary + - state: incendiary \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle.yml index ecf0c4017e5..9f2d06f7493 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle.yml @@ -51,4 +51,4 @@ parent: BaseCartridgeCaselessRifle components: - type: CartridgeAmmo - proto: BulletCaselessRifleRubber + proto: BulletCaselessRifleRubber \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml index 39d9b945031..8c565054df4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml @@ -59,3 +59,11 @@ components: - type: CartridgeAmmo proto: BulletPistolIncendiary + +- type: entity + id: CartridgePistolEMP + name: cartridge (.35 auto emp) + parent: BaseCartridgePistol + components: + - type: CartridgeAmmo + proto: BulletPistolEMP \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml index f09d3e3bb62..98cb2d579fb 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml @@ -122,23 +122,4 @@ proto: CartridgeLightRifle capacity: 96 - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Magazine/LightRifle/maxim.rsi - -- type: entity - id: MagazineLightRiflePkBox - name: "PK munitions box (.30 rifle)" - parent: BaseMagazineLightRifle - components: - - type: Tag - tags: - - MagazineLightRifleBox - - type: BallisticAmmoProvider - proto: CartridgeLightRifle - capacity: 80 - - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Magazine/LightRifle/pk_box.rsi - - type: MagazineVisuals - magState: mag - steps: 7 - zeroVisible: false - - type: Appearance + sprite: Objects/Weapons/Guns/Ammunition/Magazine/LightRifle/maxim.rsi \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index 42bb1487424..3c05fbb9af5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -301,3 +301,17 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] + +- type: entity + id: MagazinePistolSubMachineGunEMP + name: SMG magazine (.35 auto emp) + parent: BaseMagazinePistolSubMachineGun + components: + - type: BallisticAmmoProvider + proto: CartridgePistolEMP + - type: Sprite + layers: + - state: rubber + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml index 8bf5ce5e625..be2484b3851 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml @@ -51,4 +51,4 @@ - type: Projectile damage: groups: - Burn: 17 + Burn: 17 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml index 8474160ef77..0bc22fda8d5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml @@ -52,3 +52,11 @@ damage: groups: Burn: 14 + +- type: entity + id: BulletPistolEMP + name: bullet (.35 auto emp) + parent: BaseBulletEMP + noSpawn: true + components: + - type: Projectile \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index 56d420cb33c..91e08dc953a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -135,3 +135,20 @@ - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi state: ball + +- type: entity + id: GrenadeEMP + name: emp grenade + parent: BaseGrenade + components: + - type: CartridgeAmmo + proto: BulletGrenadeEMP + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + layers: + - state: emp + map: ["enum.AmmoVisualLayers.Base"] + - type: Appearance + - type: SpentAmmoVisuals + state: emp + suffix: false \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 640b606020d..8b10db7b9e9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -31,6 +31,39 @@ - type: StaticPrice price: 500 +- type: entity + id: BaseWeaponEMP + parent: BaseItem + abstract: true + components: + - type: Sprite + - type: Item + size: 50 + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + quickEquip: false + slots: + - Back + - suitStorage + - type: AmmoCounter + - type: Gun + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: false + - type: Appearance + - type: StaticPrice + price: 500 + - type: entity id: BaseWeaponBatterySmall parent: BaseWeaponBattery @@ -460,3 +493,31 @@ - type: Appearance - type: StaticPrice price: 750 + +- type: entity + name: emp laser + parent: BaseWeaponEMP + id: WeaponEMPLaser + description: EMP-4. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/xray.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-0 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/xray.rsi + - type: Gun + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + - type: HitscanBatteryAmmoProvider + proto: EMPLaser + fireCost: 100 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml index ce58d69e4b8..15e4ddab275 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml @@ -104,3 +104,25 @@ impactFlash: sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi state: impact_blue + +- type: hitscan + id: EMPLaser + damage: + types: + Heat: 1 + components: + - type: ExplodeOnTrigger + - type: Explosive + - type: TriggerOnCollide + - type: EmpOnTrigger + range: 4 + energyConsumption: 50000 + muzzleFlash: + sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi + state: muzzle_xray + travelFlash: + sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi + state: xray + impactFlash: + sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi + state: impact_xray \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 4bae5cf5245..2856d569b92 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -721,3 +721,34 @@ - Impassable - HighImpassable - type: GrapplingProjectile + +- type: entity + id: BaseBulletEMP + name: base bullet emp + parent: BaseBulletTrigger + noSpawn: true + components: + - type: Projectile + damage: + types: + Shock: 0 + layers: + - state: grenade + - type: EmpOnTrigger + range: 0.3 + energyConsumption: 50000 + disableDuration: 20 + +- type: entity + id: BulletGrenadeEMP + name: emp grenade + parent: BaseBulletTrigger + noSpawn: true + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: EmpOnTrigger + range: 4 + energyConsumption: 50000 \ No newline at end of file diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/emp.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/emp.png new file mode 100644 index 0000000000000000000000000000000000000000..6f13f2267722035a9baa3334c054e560a9f1be9c GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCilo1AIbUWi*pi^{uj2UNLf8;TIawKB?2p%=dpQ_y0#-|9_tPzr*3c-i<)D zKK%uYffR2^kYDhBB*0+%La7ZX!CBxDSXwBt@h+f z1@HV169Z}(RkPB?1f-RO0;sR7;yic#^BisHu?S{6?Yvu!8#Ng@b=d#Wzp$PyxVtOwC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json index 5a58b6b6089..ae519a3a4e7 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json @@ -18,6 +18,9 @@ }, { "name": "frag" + }, + { + "name": "emp" }, { "name": "rpg" From 2e6e66468c9542000195da2ccbe0cb867d251ec0 Mon Sep 17 00:00:00 2001 From: Dvir Date: Mon, 17 Jul 2023 00:41:43 +0300 Subject: [PATCH 02/24] EMP --- .../Catalog/Fills/Boxes/ammunition.yml | 12 ++- .../Circuitboards/Machine/production.yml | 15 ++++ .../Weapons/Guns/Ammunition/Boxes/pistol.yml | 2 +- .../Weapons/Guns/Ammunition/explosives.yml | 22 +++++- .../Weapons/Guns/Projectiles/projectiles.yml | 13 +++- .../Entities/Structures/Machines/emp.yml | 66 +++++++++++++++++ .../Guns/Ammunition/Boxes/pistol.rsi/emp.png | Bin 0 -> 302 bytes .../Ammunition/Boxes/pistol.rsi/meta.json | 3 + .../emp_generator.rsi/emp-generator-o0.png | Bin 0 -> 5298 bytes .../emp_generator.rsi/emp-generator-o1.png | Bin 0 -> 5639 bytes .../emp_generator.rsi/emp-generator-o2.png | Bin 0 -> 5919 bytes .../emp_generator.rsi/emp-generator-o3.png | Bin 0 -> 5933 bytes .../emp_generator.rsi/emp-generator-o4.png | Bin 0 -> 6080 bytes .../emp-generator-ready-blinking.png | Bin 0 -> 697 bytes .../emp_generator.rsi/emp-generator-ready.png | Bin 0 -> 5312 bytes .../emp-generator-unready-blinking.png | Bin 0 -> 702 bytes .../emp-generator-unready.png | Bin 0 -> 5401 bytes .../emp_generator.rsi/emp-generator.png | Bin 0 -> 950 bytes .../Machines/emp_generator.rsi/meta.json | 69 ++++++++++++++++++ 19 files changed, 195 insertions(+), 7 deletions(-) create mode 100644 Resources/Prototypes/Entities/Structures/Machines/emp.yml create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/emp.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o0.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o1.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o2.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o3.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o4.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready-blinking.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready-blinking.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator.png create mode 100644 Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml index 65323e1a3b7..ee346e4cd0c 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml @@ -304,6 +304,17 @@ - id: MagazinePistolSubMachineGunRubber amount: 3 +- type: entity + name: box of SMG .35 auto (emp) magazines + parent: BoxMagazine + id: BoxMagazinePistolSubMachineGunEMP + description: A box full of SMG .35 auto (emp) magazines. + components: + - type: StorageFill + contents: + - id: MagazinePistolSubMachineGunEMP + amount: 3 + # Shotgun - type: entity name: box of (.50 pellet) ammo drums @@ -460,7 +471,6 @@ - state: boxwide - state: shellslug - # Rifle - type: entity name: box of .20 rifle magazines diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 71427232eb4..505402f58a2 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -928,3 +928,18 @@ Steel: 5 CableHV: 5 Cable: 2 + +- type: entity + parent: BaseMachineCircuitboard + id: EMPGeneratorMachineCircuitboard + name: emp generator machine board + description: A machine printed circuit board for a emp generator. + components: + - type: MachineBoard + prototype: EMPGenerator + requirements: + Capacitor: 4 + materialRequirements: + Steel: 5 + CableHV: 5 + Cable: 2 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index e22b049f9ce..35836b7c372 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -112,4 +112,4 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - - state: rubber \ No newline at end of file + - state: emp \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index 91e08dc953a..d27bf49a411 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -151,4 +151,24 @@ - type: Appearance - type: SpentAmmoVisuals state: emp - suffix: false \ No newline at end of file + suffix: false + +- type: entity + id: CartridgeRocketEMP + name: PG-7VL emp + parent: BaseItem + description: A 1.5 emp warhead designed for the RPG-7 launcher. Has tubular shape. + components: + - type: Tag + tags: + - CartridgeRocket + - type: Item + size: 5 + - type: CartridgeAmmo + proto: BulletRocketEMP + deleteOnSpawn: true + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + state: rpg + - type: StaticPrice + price: 20 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 2856d569b92..3f7ec3b792e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -740,15 +740,20 @@ disableDuration: 20 - type: entity - id: BulletGrenadeEMP - name: emp grenade + id: BulletRocketEMP + name: rocket parent: BaseBulletTrigger noSpawn: true components: + - type: Projectile + damage: + types: + Shock: 0 - type: Sprite sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi layers: - - state: grenade + - state: frag - type: EmpOnTrigger range: 4 - energyConsumption: 50000 \ No newline at end of file + energyConsumption: 50000 + disableDuration: 60 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/emp.yml b/Resources/Prototypes/Entities/Structures/Machines/emp.yml new file mode 100644 index 00000000000..1033e07f4e7 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Machines/emp.yml @@ -0,0 +1,66 @@ +- type: entity + parent: [ BaseMachinePowered, ConstructibleMachine ] + id: EmpGenerator + name: emp generator + description: Generate EMP blast. + components: + - type: Sprite + sprite: Structures/Machines/emp_generator.rsi + layers: + - state: emp-generator + - state: emp-generator-ready + visible: false + map: [ "ready" ] + - state: emp-generator-ready-blinking + visible: false + map: [ "readyBlinking" ] + - state: emp-generator-unready + visible: false + map: [ "unready" ] + - state: emp-generator-unready-blinking + visible: false + map: [ "unreadyBlinking" ] + - state: emp-generator-o4 + map: ["chargeState"] + shader: unshaded + - type: Appearance + - type: GenericVisualizer + visuals: + enum.SalvageMagnetVisuals.ChargeState: + chargeState: + 0: { state: emp-generator-o0, shader: "unshaded", visible: false } + 1: { state: emp-generator-o0, shader: "unshaded", visible: true } + 2: { state: emp-generator-o1, shader: "unshaded", visible: true } + 3: { state: emp-generator-o2, shader: "unshaded", visible: true } + 4: { state: emp-generator-o3, shader: "unshaded", visible: true } + 5: { state: emp-generator-o4, shader: "unshaded", visible: true } + enum.SalvageMagnetVisuals.Ready: + ready: + False: { state: emp-generator-ready, visible: false, shader: "unshaded" } + True: { state: emp-generator-ready, visible: true, shader: "unshaded" } + enum.SalvageMagnetVisuals.ReadyBlinking: + readyBlinking: + False: { state: emp-generator-ready-blinking, visible: false, shader: "unshaded" } + True: { state: emp-generator-ready-blinking, visible: true, shader: "unshaded" } + enum.SalvageMagnetVisuals.Unready: + unready: + False: { state: emp-generator-unready, visible: false, shader: "unshaded" } + True: { state: emp-generator-unready, visible: true, shader: "unshaded" } + enum.SalvageMagnetVisuals.UnreadyBlinking: + unreadyBlinking: + False: { state: emp-generator-unready-blinking, visible: false, shader: "unshaded" } + True: { state: emp-generator-unready-blinking, visible: true, shader: "unshaded" } + - type: Rotatable + - type: Transform + noRot: false + - type: IntrinsicRadioReceiver + - type: ActiveRadio + channels: + - Security +# - type: SalvageMagnet +# - type: EmpGenerator + - type: ApcPowerReceiver + powerLoad: 100 # TODO change this to a HV power draw that really hits the grid hard WHEN active +# powerLoad: 2500 # TODO change this to a HV power draw that really hits the grid hard WHEN active + - type: Machine + board: EMPGeneratorMachineCircuitboard \ No newline at end of file diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/emp.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/emp.png new file mode 100644 index 0000000000000000000000000000000000000000..f317d03c212f3d84d7f601471c095bcc8fa328c9 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJubwWBArY;~60D08M0iXRRF3~+ zX6H-jNd5Bu2mhjUk*b6lFCRQ;xU3_V#lmpn)BAIA0pHB#@Gb0Qo}kOl7$keh#rO30 z)ggycf*ilr&$3{c|J2~X&T?tT;uA#-dZ%UIZ#h)!-SbqzAxv+__OsI%?>eP4 zn$K`fV1L8xQgoFeJhU(C~(-S^j+7Ao>22WQ%mvv4FO#s;&d$0fi literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/meta.json index 67d525fcfd9..6e4341d168c 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi/meta.json @@ -30,6 +30,9 @@ }, { "name": "rubber" + }, + { + "name": "emp" } ] } diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o0.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o0.png new file mode 100644 index 0000000000000000000000000000000000000000..6df11fbe99c98becf9242ae66248965096667d93 GIT binary patch literal 5298 zcmeHLc~lcu7Y_m=2vpo?l_kcdh)gnBNg@GcGZ8`oL6C}?WfCG}A(=o}WDzL1p@P;z zaRH%FKKVSTSVcu;(P~)*Sro+;)Rsk{fI>?r0TsWm=X}R=zW(Rr%w*=idw=iV-@EU= zH?z~rbFGoVA_Ei(WyE5-_#prB$muw1CUU*q5*LR;=@dly2Eaa?2((Nt6^KG1G#n{| z(2z7GxUkv?bcjYlJ6@ z4eW6E-aN*22QvoUx3TFb)6xgS!`q}kIS=nklju0L)`WFfcBCaqU2KP9m)@%GfkY=d zi3RtbO8w_PIhkqm=qNSo*^Y9B$2Y1pBUp*OabUC7_C*%;`*I9D?2?x~##WfFYd3XI zK2jGn!@+}f>%y3RjLxBWRNk|rh1Z2(=Z!AF&4Frv=42|Xr6aMkWH{8}c~|=h%jYk? zy_P|)ADI)GPwoe%5PDDF4UE@I{Vq4`^e$J+p5w$LY|v)Wml{kkFVR^C0ea?^ssAhAdFm< z?=em{h2BP(BVpI@ zt*Fyss~uCp(iw&WHr_SM)_sw>r#*EJQ*X_JhK+M=LB}FHRC)$;ChceAn!VCJbzU3F zYYL0fcNFsRvc!YB8&|Fz;@!;2DavK}oyjU&SiEtd?ou|;H?WCqlNm@MezxIcnM(fq zZ(Y6BA&)Rtoq_ucs@+$Xa&H^dFWBO5SXdgC@om<*j+2qAa_$(v9%?S_mfVkiq3qwE zpko=?*6;0hgtR0-^M^V+@f({nSf=>qI(Prg3%@;e`ejDx_bt-8EnD|WT1LTAy}KFY zfLaS|@Zov)vlH;1Iu%AI6Y#U56$_8}Jg)8NG8{8G?eqm&nL!LD&Yan_ti|=KUP;%C z+|lKibO$RJPkh}~@k4J$&GujJjRY)?KKwkTWR+2b*9r7ke{2+VDmwZP&f-|g!!tc` zKYK5>KCLK>-%n+nBB+ zO;Y(QW)v%f7m@3|i%;3xxS#SrF4S$D(6Nc}PPM0QTOk4lI^6tzmqhN4^0?DdY=|TJ zd{BhL?qt^MhjtfZQVpoVt% zTxrFhrL&SHk8(!CUp?@f7k-s8W>buQTzk91P2W{G;GObo(s$%T2kr)3s6D-YSpjtW znemH**ILKh&_b|#Cp9>V4_rC{rf^JwPg zka?}An+M22A?4{4b0Z(^Zi@>$OG=1R9GtnRgWeoJ&tOh}X9gL(vMyyfy0Wgx8_e%@ zJpNm$m$iM5YEf3SXQAJT+U1co&BR?st8${`L;4(N%aU-uk+ONPY%ZZn&w6R>9SrGn zhdgoA$i#AU*T|^Bns$18!UQAtRrbO8aRQQi^WdCg;?dyI`@?Z-xAe`r(&MHdr(JO? z(95Z*k%2;KC5xP$y;#o9Z%YoU@$8k&8oLF?c)B+IDAgn&t5@i(bkU({j8jl zeO8@)xmEtclq6#MY%a1FU)Elcg02P@N!J*W*uw_&+UYu!Jh)I;x(TX{9x(kze)krkRb;#*&DCa!z6qhoD#viPcOcov zBQMyY>yafq&XV7JYMpR^r?sGPznR0R<#=yP%~zi1Svj9KyyD)otaR+gHWaoGkCcdQ zJy8=xS$^sGAv!q7iYm@`O^YuVKYU!4e>3{(Gh?tn&;6UH%-Ad^`_C>NYqW(D{`~rQ zbZt-Zg?&wWXm-$YNqnO7);!1dUoHB2xApaO5^MjAMcH4MrYwG@TFV`s}jqQH3o&Ub5O}RybuURb0MKf!oc)hyn;cC_za9cnGLdK&QP$386}6- zM|t}4qC$8yKE}b`z)nR+0K^c?L94`}5(Qnwz-Vyk$h}&O!=N=Pa0mkv!1h8rOXU!n zge74?z*Qv*Ct&Oi&~|dZfbQesHU)t^F)+a}ETiLa5fKsC2qIQ07vk_V8Vv^$a0CK? zXaI^x3CvLe62($A#3Y6bq~OU#GFT*)pw*Zhu2cy#Fc_pA{nkIRjLm)rFHuaffbfA+ zab!3=7Q~6gxak%O*fkshnR4iFEfl`UQjGI~6jG&}2f2nr5_su!2tMzfy-X<&)r7<6 z;h<1RjHoJ*UhyAvxt7KDdS{`gKqwN+G*$@NA85iN!F#ek@J-#K31_+^i1|C*547LL zu2Dv`*lfCsl&4g?$8up{)cw=>Ql5xU*W7ZsG!jQZrU5i6RREBvWLtpB#d84)4-az5 z$d$mQOoL)c6fj4^gVaz6I97zkMLQR93aQYfA76U`TPWGyic!hFc0b;0BGb$EOci%#DS%9 zU#T>dfl)hvR$IPnW+T&y&w)8E92i1CK>~q}$J6mdU*v{Fqm!rrNTGw%^rd`}Ao71{ zt0xcIZgR+(A_dZaq((G3qt-)VlTVY6p(4#xLZda4g3jShhM?etLwt>&2-aj1FPI|{ zLP+(PO4qk?(ch#3L=)h-Tq+Ns2=F9;MB`EbDuILtZ24p^A5SCL;)(x(u8<1g2#y?D zBSd&axI)rX!xh>}Gf*o(^d%w~QjY>c7=XtE?+K$#5r&%z7^kioZzHzD{TC;88ii>^ z2CLsj>J6dqAK+b@EaCexmCWT_453M=5{Gu1|D*6aycn z{3*NsZ*&>Ff1QFP$Sx=Xd0E;YQ%FT#v}SVM*Ser4)W74G3o;OizKpq1fkI)Is!uId zzC$=7)Pq@USG}&;#yWWXY>$g9MDzvh8UQ;>#p+!-O0!vn_~-}`9E?_P7X1^9O%Wv@ zmdhGn7Ko*k`0=R&R3krgYO4SM~ z6{WUX7etUMi(898Eubi{jhBn1e7YDj`Y zsav{&LU(sMn7oOe9-=#OLlnc@y+>>qvIdI{dI8tjvv#hU^L0YW<(c&z5nO)D+7a7c zTG*~0PA2&LPRf-=$-X0xwvC+sGkN#DAA44^Tpzw^Rmav%-cXQn&L!gO){a>nkM{h% zy3HxKXQaog&d2}xtEcN9vt<2OpSERRxtb|6jZNa*T!TALI}XRe#TBy5Ve4l%$&n?U z36nERMg!BCLuk`FuaG0Y&kegA29DZ!iWy?RPfiC$#2~dlRUemjeX1BU$cw302yYS%k$o!YFt^?hT3+_L> z#anL?d-(pc$0@<8wP){J<3{d1dR;OaJAAhvwd>X!&LaKmH82 z-uwjng_Si5`d!!6Xme`W1nz;xCn!c!O+jF9p?7KZP49d2?Ne?<;B$?r3oH(=8T2`L zVCD+pv0WX%4h~Fzey9qL$uWN5YWlrSj(N$l*UEvv-l}cF7EI~2(Fu$*dCQsgAY0jW<+lUrhQ3V^e{U&oD?Ir8hk(LK z-WEAI;*2b2%Y%kZ+X&tD+|%gQf3f%9B=qpp{c3JzG-gaX?iF~#GL&{oK+40`N1v@J z#)XJ#3wgX*H`D6E_5=Cs>}r=6F?!P!oG3v6f4-sF zoqof(Y*y(6+*|web1f}o&l7XJ4KMhjhbXf9?zO(T!4|^pcxRv5=?$CuQyfiMT`$U{ z!^M*hN=H3s<*CBw{(kde$X@$m-?oaJ(WBe~+X~U)VcGSRv;&-?6!DDCUdJ72zEGKO zTwhbHRp0}8u0N`nNo%eM2WynQD|@RNLUo>R|H^wbd#g)4e7Cr~wy>|#>ohKucPMCQ zUz#c~xXIv22_PBTlCAoBi>@%QFFeS!+OLLvJHGv!li0vi@6921{7Wo6avpa^{5@e> z$l>KDZtUlmlJT}!U>_O2}S{tJ*pIATx%6-j@X5okqAF zIx#-|+JhM(!iD_EuS3Oe#Cm%x@*c8`{quHR+6QiQcbeHl-DUP@qvy7;o`rsT-Y0iO z`AmLnOg^1(ULS53yU96A4%^$!yzgnaS7d9MmHC!Ey+vW77mrR` znODN3XHz1J9WJgC+qb;Z;jOw{p7|A&5ovVXJBP{isOUEeP|xWsZG2rnn)<`(lejc# zamOE}jb?e)mfK7QhIq9{r{~WvS6qTrde7F)-|q*J0a4}d#uY!W!{rmJYMshsCp%rb ztpA5b7=q}DTNJxvIAMMN4g>x5k(mVBN=2)L)Kx+G{O+&5mcji&E&a5(9WHEJ0 z#$Bi-YNZ}!+GG8A8#Aj%8(R&m_(ue%q=qdL)-OXHIWz+^Jp06gLj`sWdNd9H_L}=S zw>A2Mrh`8@x?MO|l^Gaibyzp*hVA$Da?2YN>Ai)r>}Y^)9@*9yXw~*=#NqW>>YG1x z{V%$CW?h?=H=sNHq(djgz3`Y}V=%`Q(7Selbh|GpBJc8^lC6_F^9w%%%x^FH#?d`JV8NNkQOaHmGQZPl( zc}p*;R<%}LZ7y@Hd*(9K^T=Q6ptlM=xbT+gR`q&y@~z(){nIvu_y=sR+j7<90x)Rb z4DPv4x3Hd}mfYqX?cP#VEiB0FqDnkH=6;9Hay;(!+WiWc{@0A?vteLu$}@|N%9b0% zX2@)ImgmCRlco}nI~JH2`!A;iEIktA+WpWD9^oplcg|1C5$Q}X%C>fWWjE5-^qa5G zd2YeX`a$7cyDGOHY<F8 zfg|1aeX;#d?~`iZ zu0gq6QSLZ3Z0(G^rPUDfHV)=3Ws2ldtUxRmf>^awfxN9zC}&r-LLiC*VL%8*Loyb+ zzw8$@0Et=XAPNu9Q+R+e5GPp)E=%^|i<09+3^Cf(#mHIBL;$29ECAHfc$tc+W}&sX zOypi8#-RbN2^_~l2lM;@54jQq$XGHKkMUGP2}HDu5#X#8OPB#{uW<3@1$!nSAmai3qlb!*Y-(@;ph~_{ zDFQtcKpAZRF@#w3-e0j&8Lv%8EW&~DpcFAxA)^vL8FDd~=l9-2LqRkoRcO5svOlqe zA;|}_K8a1E(WdipAc*^W+)u3E<*qeGtav;oTP|9u36INWp*7<(#c~lOW@>MVVk(6w z5Q#8U3Ymx@3rPYDorWi3#6$v#L1WAZ71A&a0#SsKkcmVQi7H@-D3XsLe3cMVm4f(>qtZZ$5hwzgETmCrBn&|)reMf4 z3Kc^q(}fs1iB4ybs1!VrF497YMNBWbQYt{E6Osy|L7YMstyO3UXD;&Nvd}~<{)5CX zUI0rF2NrrMBwMNepx{GNa2YJnut}g&>0~^CNTTEE45UUs7zKh#6;g>BOadNDB5F07 zX<;JCAjAqZb&3FJ9?wE+LIO0N@6|kHIf(_ZfGvPQ1QbssG6@7G zfy75{$TTK_iosKv_>b)6Vn~wozpOQj2XG#nat@?I#!u3U##YoaaK+fu*ke4TT}l9; zT@*}#Xe<3zB=RH7JxEE+_*$9TEElSBVd3S^>?L7?2P*_PMoy{A2k`oZ%l?XFQgaZ-Z#T>&X9Qj&0~Bn{>>o(;L9MN z#qSrozR>kq41AXHm+JaL*Jm;CS;k+g>;FcV(TC3|P=@S+5|NLknX0u{kPj^bq4#1o zYE<*fzj$;fBAKM%gs4y`ti9&cQ5U)$tQ#%^Wu#yX0r<*Wa*m TIyWl5tPyZMeb_&`N3Hu07q69W literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o2.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o2.png new file mode 100644 index 0000000000000000000000000000000000000000..ac86dc152da8cd98727348e80c105bc34ba0ca71 GIT binary patch literal 5919 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o3.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o3.png new file mode 100644 index 0000000000000000000000000000000000000000..6a313591d35a6d136d1865b4fed4855c7f9e2558 GIT binary patch literal 5933 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready.png new file mode 100644 index 0000000000000000000000000000000000000000..084dc7ecf0067e3a47335b31459ba2a96ec09cbd GIT binary patch literal 5312 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 E07qW{zW@LL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready-blinking.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready-blinking.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc46e2eb39b590b72090873877f8fb33e97f9e0 GIT binary patch literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU~J8Fb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJZrHeuZtvf7IRx~9zh8zi89niwHFf8Nh!6%pWGcHY7vcrOF9V@%N z*lIq#bGxi|a5X((?^rx}@}ll3KlU%VpmeSIaowKX-*;5Ab6i!ryk=XW!{uCK!S1e= zUsg#}xQbUPB#6`+ZSJx3>{|Tv$FBDN_2q)|uKv0+e{uBL2%Zm}M>d}^$bH27=%w%N z2YdWwk}4xr?bPLrUp5`-j|sP_dpxH&^1)0+kSct9^;wZ*yb8y{csWB6}eu+;p| zQZ0keo>fa1w)QvN%YE=@*Fw$e15f!3KBSyj_QtDjmXjIxp7|Hemp1;3UQm4Y_1b;? zm)R9OV~^%HG&?7#xZixOd++YWJGb|zzxw-^!Ffy3lyn2b3}C#lC3(BM0O|h>Z0mMt zEeEnV3p^r=85s1GL71^(seKtxkiEpy*OmPlHy@Lw;c*Gy&p;u`64!_l=ltB<)VvY~ z=c3falGGH1^30M91$R&1fbd2>aiF59o-U3d6}R5r*~oi9fyecr|F`=$BNY}YaUCgF z73%$}r92U+2o9D@`L|EK^5l@gw*NbNK%%!cT#02Hr;+IHP} zehf?w3>*xMAn6My*PWlX=dfA;NI-#s1tf+52hQbfFXR!Qd_nRVNYK;O&t;ucLK6T% C1r^W$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready.png b/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready.png new file mode 100644 index 0000000000000000000000000000000000000000..a20b91edd163bdc05e1e45b3a7334dc20914968e GIT binary patch literal 5401 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 Az5oCK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json b/Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json new file mode 100644 index 00000000000..48781e2ef27 --- /dev/null +++ b/Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json @@ -0,0 +1,69 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Edit by 20kdc using small parts of autolathe from https://github.com/tgstation/tgstation/blob/acb091f9744e9ab7d5a27fb32dd0c03bd019f58c/icons/obj/stationobjs.dmi (may be an earlier version) and tcboss from https://github.com/tgstation/tgstation/blob/e32357e6b0ec0f0a1821d2773f0d1e1d6ce7d494/icons/obj/computer.dmi (may be an earlier version)", + "size": { + "x": 32, + "y": 64 + }, + "states": [ + { + "name": "emp-generator", + "directions": 4 + }, + { + "name": "emp-generator-o0", + "directions": 4, + "commentary": "o0 - 04 represent the amount of time remaining during EMP and cooldown." + }, + { + "name": "emp-generator-o1", + "directions": 4 + }, + { + "name": "emp-generator-o2", + "directions": 4 + }, + { + "name": "emp-generator-o3", + "directions": 4 + }, + { + "name": "emp-generator-o4", + "directions": 4 + }, + { + "name": "emp-generator-unready", + "directions": 4, + "commentary": "Cooldown state" + }, + { + "name": "emp-generator-ready", + "directions": 4, + "commentary": "EMP state" + }, + { + "name": "emp-generator-ready-blinking", + "directions": 4, + "delays": [ + [ 0.2, 0.2], + [ 0.2, 0.2], + [ 0.2, 0.2], + [ 0.2, 0.2] + ], + "commentary": "EMP active state" + }, + { + "name": "emp-generator-unready-blinking", + "directions": 4, + "delays": [ + [ 0.2, 0.2], + [ 0.2, 0.2], + [ 0.2, 0.2], + [ 0.2, 0.2] + ], + "commentary": "EMP inactive state" + } + ] +} + From c36a97035da882d3b9fc32ca24913f0271118d63 Mon Sep 17 00:00:00 2001 From: Dvir Date: Mon, 17 Jul 2023 00:52:03 +0300 Subject: [PATCH 03/24] E --- .../Weapons/Guns/Battery/battery_guns.yml | 66 +++++++++---------- .../Weapons/Guns/Projectiles/projectiles.yml | 17 +++++ 2 files changed, 50 insertions(+), 33 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 8b10db7b9e9..21387532f3d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -31,39 +31,6 @@ - type: StaticPrice price: 500 -- type: entity - id: BaseWeaponEMP - parent: BaseItem - abstract: true - components: - - type: Sprite - - type: Item - size: 50 - - type: Clothing - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi - quickEquip: false - slots: - - Back - - suitStorage - - type: AmmoCounter - - type: Gun - fireRate: 2 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/laser.ogg - - type: Battery - maxCharge: 1000 - startingCharge: 1000 - - type: MagazineVisuals - magState: mag - steps: 5 - zeroVisible: false - - type: Appearance - - type: StaticPrice - price: 500 - - type: entity id: BaseWeaponBatterySmall parent: BaseWeaponBattery @@ -494,6 +461,39 @@ - type: StaticPrice price: 750 +- type: entity + id: BaseWeaponEMP + parent: BaseItem + abstract: true + components: + - type: Sprite + - type: Item + size: 50 + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + quickEquip: false + slots: + - Back + - suitStorage + - type: AmmoCounter + - type: Gun + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: false + - type: Appearance + - type: StaticPrice + price: 500 + - type: entity name: emp laser parent: BaseWeaponEMP diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 3f7ec3b792e..784e954bb44 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -739,6 +739,23 @@ energyConsumption: 50000 disableDuration: 20 +- type: entity + id: BulletGrenadeEMP + name: emp grenade + parent: BaseBulletTrigger + noSpawn: true + components: + damage: + types: + Shock: 0 + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: EmpOnTrigger + range: 4 + energyConsumption: 50000 + - type: entity id: BulletRocketEMP name: rocket From 5e9382011ba7b70cdc56b9df95463684ed642e89 Mon Sep 17 00:00:00 2001 From: Dvir Date: Mon, 17 Jul 2023 02:36:13 +0300 Subject: [PATCH 04/24] Ye --- .../Weapons/Guns/Ammunition/explosives.yml | 4 +- .../Weapons/Guns/Battery/battery_guns.yml | 2 +- .../Weapons/Guns/Projectiles/hitscan.yml | 8 ++-- .../Weapons/Guns/Projectiles/projectiles.yml | 43 ++++++++++++++++-- .../Explosives/explosives.rsi/meta.json | 3 ++ .../Explosives/explosives.rsi/rpg-emp.png | Bin 0 -> 716 bytes .../Projectiles/projectiles2.rsi/frag-emp.png | Bin 0 -> 269 bytes .../Projectiles/projectiles2.rsi/meta.json | 3 ++ 8 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/rpg-emp.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/frag-emp.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index d27bf49a411..0413fbb6263 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -169,6 +169,4 @@ deleteOnSpawn: true - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi - state: rpg - - type: StaticPrice - price: 20 \ No newline at end of file + state: rpg-emp \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 21387532f3d..7880bd57e84 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -498,7 +498,7 @@ name: emp laser parent: BaseWeaponEMP id: WeaponEMPLaser - description: EMP-4. + description: WIP-1. components: - type: Sprite sprite: Objects/Weapons/Guns/Battery/xray.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml index 15e4ddab275..02bbd147df0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml @@ -109,14 +109,12 @@ id: EMPLaser damage: types: - Heat: 1 + Shock: 0 components: - - type: ExplodeOnTrigger - - type: Explosive - - type: TriggerOnCollide - type: EmpOnTrigger - range: 4 + range: 1 energyConsumption: 50000 + disableDuration: 60 muzzleFlash: sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi state: muzzle_xray diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 784e954bb44..be7e4d54c2f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -737,7 +737,7 @@ - type: EmpOnTrigger range: 0.3 energyConsumption: 50000 - disableDuration: 20 + disableDuration: 10 - type: entity id: BulletGrenadeEMP @@ -745,6 +745,7 @@ parent: BaseBulletTrigger noSpawn: true components: + - type: Projectile damage: types: Shock: 0 @@ -755,6 +756,7 @@ - type: EmpOnTrigger range: 4 energyConsumption: 50000 + disableDuration: 60 - type: entity id: BulletRocketEMP @@ -769,8 +771,43 @@ - type: Sprite sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi layers: - - state: frag + - state: frag-emp - type: EmpOnTrigger range: 4 energyConsumption: 50000 - disableDuration: 60 \ No newline at end of file + disableDuration: 60 + +#- type: entity +# parent: BaseBullet +# id: AnomalousParticleDelta +# name: delta particles +# noSpawn: true +# components: +# - type: Sprite +# sprite: Objects/Weapons/Guns/Projectiles/magic.rsi +# layers: +# - state: magicm +# shader: unshaded +# - type: Ammo +# muzzleFlash: null +# - type: Physics +# - type: Fixtures +# fixtures: +# projectile: +# shape: +# !type:PhysShapeAabb +# bounds: "-0.2,-0.2,0.2,0.2" +# hard: false +# mask: +# - Opaque +# fly-by: *flybyfixture +# - type: Projectile +# damage: +# types: +# Shock: 0 +# - type: TimedDespawn +# lifetime: 3 +# - type: EmpOnTrigger +# range: 4 +# energyConsumption: 50000 +# disableDuration: 60 \ No newline at end of file diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json index ae519a3a4e7..ba4c1d14240 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/meta.json @@ -25,6 +25,9 @@ { "name": "rpg" }, + { + "name": "rpg-emp" + }, { "name": "ball" }, diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/rpg-emp.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi/rpg-emp.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd1f4b6b38738a4dfe1d20beca341764767e347 GIT binary patch literal 716 zcmV;-0yF)IP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vG?Apig_Apr+l{Qm#|0%1u+K~z{r?UK(+ zR8bVizvsR;qfR;*Dzwmc*}@i1hAt|oO&Aokh?YS_wF&wY+T^}XJB4;Z1VxL;jA#)- zgjl9QU=+0p$r*K=(Rn}a?R(ygIq`)+`~Boip4=RSb3p&04sO!HMf?7flqjeyOyTH_gD@y? zV>@7TpeEKGoN>;&Aa=H98Og!Yui>TLmyX`yiNvXAw*>eezW_QtPiSEIa_~GJhZAvj zDKf6dH@c@=iR~MiaM!Lr(0Rh6nI*j`d+~6W>F6KDsljeo`>Viv(?3>nzUks&3w8{%Ze$bYj2HO6 y)M9w+ys*l##?F;FRfG*1`D5DWjalMMM76ggNdS)TmY->1ExK(oV= zdwHR-o1)97w$Dtqf%gY)Mt0$vU1!Df1nih!Y3y*^%hBpqP|vt6PwvFtmzr~dHZpj+`njxgN@xNA>nv8b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json index f9825de1a4a..9cfee3da832 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Projectiles/projectiles2.rsi/meta.json @@ -28,6 +28,9 @@ { "name": "frag" }, + { + "name": "frag-emp" + }, { "name": "grenade", "delays": [ From 657c7c6c3edc0b4dc5f6d37932b73cd71aea884d Mon Sep 17 00:00:00 2001 From: Dvir Date: Tue, 18 Jul 2023 02:54:37 +0300 Subject: [PATCH 05/24] More EMP --- .../Weapons/Guns/Ammunition/Boxes/pistol.yml | 4 +- .../Guns/Ammunition/Cartridges/pistol.yml | 4 +- .../Guns/Ammunition/Magazines/pistol.yml | 4 +- .../Guns/Ammunition/Projectiles/pistol.yml | 4 +- .../Weapons/Guns/Ammunition/explosives.yml | 8 +- .../Weapons/Guns/Battery/battery_guns.yml | 54 ++++-------- .../Weapons/Guns/Projectiles/hitscan.yml | 22 +---- .../Weapons/Guns/Projectiles/projectiles.yml | 78 +++++++++--------- .../Projectiles/magic.rsi/emp_projectile.png | Bin 0 -> 466 bytes .../Guns/Projectiles/magic.rsi/meta.json | 11 +++ 10 files changed, 79 insertions(+), 110 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/emp_projectile.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index 35836b7c372..0e8e6d069e9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -101,11 +101,11 @@ - type: entity parent: BaseMagazineBoxPistol - id: MagazineBoxPistolEMP + id: MagazineBoxPistolEmp name: ammunition box (.35 auto emp) components: - type: BallisticAmmoProvider - proto: CartridgePistolEMP + proto: CartridgePistolEmp - type: Sprite layers: - state: base diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml index 8c565054df4..936c702b767 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml @@ -61,9 +61,9 @@ proto: BulletPistolIncendiary - type: entity - id: CartridgePistolEMP + id: CartridgePistolEmp name: cartridge (.35 auto emp) parent: BaseCartridgePistol components: - type: CartridgeAmmo - proto: BulletPistolEMP \ No newline at end of file + proto: BulletPistolEmp \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index 3c05fbb9af5..93b7420c638 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -303,12 +303,12 @@ map: ["enum.GunVisualLayers.Mag"] - type: entity - id: MagazinePistolSubMachineGunEMP + id: MagazinePistolSubMachineGunEmp name: SMG magazine (.35 auto emp) parent: BaseMagazinePistolSubMachineGun components: - type: BallisticAmmoProvider - proto: CartridgePistolEMP + proto: CartridgePistolEmp - type: Sprite layers: - state: rubber diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml index 0bc22fda8d5..0be43ee4ce2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml @@ -54,9 +54,9 @@ Burn: 14 - type: entity - id: BulletPistolEMP + id: BulletPistolEmp name: bullet (.35 auto emp) - parent: BaseBulletEMP + parent: BaseBulletEmp noSpawn: true components: - type: Projectile \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index 0413fbb6263..f2edfb68b4b 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -137,12 +137,12 @@ state: ball - type: entity - id: GrenadeEMP + id: GrenadeEmp name: emp grenade parent: BaseGrenade components: - type: CartridgeAmmo - proto: BulletGrenadeEMP + proto: BulletGrenadeEmp - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi layers: @@ -154,7 +154,7 @@ suffix: false - type: entity - id: CartridgeRocketEMP + id: CartridgeRocketEmp name: PG-7VL emp parent: BaseItem description: A 1.5 emp warhead designed for the RPG-7 launcher. Has tubular shape. @@ -165,7 +165,7 @@ - type: Item size: 5 - type: CartridgeAmmo - proto: BulletRocketEMP + proto: BulletRocketEmp deleteOnSpawn: true - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 7880bd57e84..7b48e547fbb 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -462,43 +462,10 @@ price: 750 - type: entity - id: BaseWeaponEMP - parent: BaseItem - abstract: true - components: - - type: Sprite - - type: Item - size: 50 - - type: Clothing - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi - quickEquip: false - slots: - - Back - - suitStorage - - type: AmmoCounter - - type: Gun - fireRate: 2 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/laser.ogg - - type: Battery - maxCharge: 1000 - startingCharge: 1000 - - type: MagazineVisuals - magState: mag - steps: 5 - zeroVisible: false - - type: Appearance - - type: StaticPrice - price: 500 - -- type: entity - name: emp laser - parent: BaseWeaponEMP - id: WeaponEMPLaser - description: WIP-1. + name: emp emitter + parent: BaseWeaponBattery + id: WeaponEmpEmitter + description: Releases electromagnetic pulses that disrupt or damage many electronic devices or drain power cells. components: - type: Sprite sprite: Objects/Weapons/Guns/Battery/xray.rsi @@ -511,11 +478,18 @@ - type: Clothing sprite: Objects/Weapons/Guns/Battery/xray.rsi - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/laser3.ogg - - type: HitscanBatteryAmmoProvider - proto: EMPLaser - fireCost: 100 + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: ProjectileBatteryAmmoProvider + proto: ProjectileEmp + fireCost: 1000 - type: MagazineVisuals magState: mag steps: 5 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml index 02bbd147df0..dbe569c4a76 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/hitscan.yml @@ -103,24 +103,4 @@ state: beam_blue impactFlash: sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi - state: impact_blue - -- type: hitscan - id: EMPLaser - damage: - types: - Shock: 0 - components: - - type: EmpOnTrigger - range: 1 - energyConsumption: 50000 - disableDuration: 60 - muzzleFlash: - sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi - state: muzzle_xray - travelFlash: - sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi - state: xray - impactFlash: - sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi - state: impact_xray \ No newline at end of file + state: impact_blue \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index be7e4d54c2f..22b18a50dd4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -723,7 +723,7 @@ - type: GrapplingProjectile - type: entity - id: BaseBulletEMP + id: BaseBulletEmp name: base bullet emp parent: BaseBulletTrigger noSpawn: true @@ -740,7 +740,7 @@ disableDuration: 10 - type: entity - id: BulletGrenadeEMP + id: BulletGrenadeEmp name: emp grenade parent: BaseBulletTrigger noSpawn: true @@ -749,6 +749,8 @@ damage: types: Shock: 0 + - type: TimedDespawn + lifetime: 15 - type: Sprite sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi layers: @@ -759,7 +761,7 @@ disableDuration: 60 - type: entity - id: BulletRocketEMP + id: BulletRocketEmp name: rocket parent: BaseBulletTrigger noSpawn: true @@ -768,6 +770,8 @@ damage: types: Shock: 0 + - type: TimedDespawn + lifetime: 15 - type: Sprite sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi layers: @@ -777,37 +781,37 @@ energyConsumption: 50000 disableDuration: 60 -#- type: entity -# parent: BaseBullet -# id: AnomalousParticleDelta -# name: delta particles -# noSpawn: true -# components: -# - type: Sprite -# sprite: Objects/Weapons/Guns/Projectiles/magic.rsi -# layers: -# - state: magicm -# shader: unshaded -# - type: Ammo -# muzzleFlash: null -# - type: Physics -# - type: Fixtures -# fixtures: -# projectile: -# shape: -# !type:PhysShapeAabb -# bounds: "-0.2,-0.2,0.2,0.2" -# hard: false -# mask: -# - Opaque -# fly-by: *flybyfixture -# - type: Projectile -# damage: -# types: -# Shock: 0 -# - type: TimedDespawn -# lifetime: 3 -# - type: EmpOnTrigger -# range: 4 -# energyConsumption: 50000 -# disableDuration: 60 \ No newline at end of file +- type: entity + parent: BaseBulletTrigger + id: ProjectileEmp + name: emp projectile + noSpawn: true + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/magic.rsi + layers: + - state: emp_projectile + shader: unshaded + - type: Ammo + muzzleFlash: null + - type: Physics + - type: Fixtures + fixtures: + projectile: + shape: + !type:PhysShapeAabb + bounds: "-0.2,-0.2,0.2,0.2" + hard: false + mask: + - Opaque + fly-by: *flybyfixture + - type: Projectile + damage: + types: + Shock: 0 + - type: TimedDespawn + lifetime: 15 + - type: EmpOnTrigger + range: 2 + energyConsumption: 50000 + disableDuration: 30 \ No newline at end of file diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/emp_projectile.png b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/emp_projectile.png new file mode 100644 index 0000000000000000000000000000000000000000..b824881c5f8c6a3d5b158875e30f5de08137473f GIT binary patch literal 466 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDEfH31!Z9ZwBhICIC$B>G+x3>=ZG8+oCKIDDMu)Sb`kXM6| zK&k_0$f3qN4P^?Ce|RcqD;o+|E8qA(dC^z3pnDaMEZEbTfQAZ`{r~Ydt-osb4!NJR zt9S!nd|P$LZ}<7bU!P_cS4;G!{yZhNT5+;`Uc>x9-!|EpzTG!1yGd<*P9X2aKiyTl zncN!+e|Ppg+I)J)v$Sju(*;|*Wg+oX3n->3kV^lWz{FM#A<{z9Kp?J}E`SRlD%s{t+K-f{g z%r}Ag;@6e!OAQtU$OgV#qE@9dHT9=ekLlBvjCf}?`#TKwKesU$@8W#>MD=#do&U_U zm~z%!HMn)>iSM?y0Or2Z`zsjMP7w6^=d)dY` z%>ucF_jC4LOY`2=cJ)8cydzwlc~-V_t>uAE__2A}OZMcW_YdCLdv_zqO`fiPF6*2U FngFDY$@u^P literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json index 0dbedf2922b..b1022c3c939 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json @@ -18,6 +18,17 @@ ] ] }, + { + "name": "emp_projectile", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, { "name": "magicm_green", "delays": [ From 22f751cf590d0345dc9fbcbc28fdedd51b28cb9d Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 19 Jul 2023 02:40:06 +0300 Subject: [PATCH 06/24] More EMP --- .../Salvage/M_EmpGeneratorComponent.cs | 5 + .../Salvage/M_EmpGeneratorComponent.cs | 131 +++++++ Content.Server/Salvage/M_EmpGridComponent.cs | 14 + Content.Server/Salvage/M_EmpSystem.cs | 362 ++++++++++++++++++ .../Salvage/SharedM_EmpGeneratorComponent.cs | 31 ++ .../Salvage/SharedM_EmpSystem.cs.old | 16 + Resources/Locale/en-US/m_emp/m_emp-system.ftl | 23 ++ .../Circuitboards/Machine/production.yml | 8 +- .../Entities/Structures/Machines/emp.yml | 66 ---- .../Entities/Structures/Machines/m_emp.yml | 64 ++++ .../m_emp-o0.png} | Bin .../m_emp-o1.png} | Bin .../m_emp-o2.png} | Bin .../m_emp-o3.png} | Bin .../m_emp-o4.png} | Bin .../m_emp-ready-blinking.png} | Bin .../m_emp-ready.png} | Bin .../m_emp-unready-blinking.png} | Bin .../m_emp-unready.png} | Bin .../emp-generator.png => m_emp.rsi/m_emp.png} | Bin .../meta.json | 20 +- 21 files changed, 660 insertions(+), 80 deletions(-) create mode 100644 Content.Client/Salvage/M_EmpGeneratorComponent.cs create mode 100644 Content.Server/Salvage/M_EmpGeneratorComponent.cs create mode 100644 Content.Server/Salvage/M_EmpGridComponent.cs create mode 100644 Content.Server/Salvage/M_EmpSystem.cs create mode 100644 Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs create mode 100644 Content.Shared/Salvage/SharedM_EmpSystem.cs.old create mode 100644 Resources/Locale/en-US/m_emp/m_emp-system.ftl delete mode 100644 Resources/Prototypes/Entities/Structures/Machines/emp.yml create mode 100644 Resources/Prototypes/Entities/Structures/Machines/m_emp.yml rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-o0.png => m_emp.rsi/m_emp-o0.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-o1.png => m_emp.rsi/m_emp-o1.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-o2.png => m_emp.rsi/m_emp-o2.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-o3.png => m_emp.rsi/m_emp-o3.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-o4.png => m_emp.rsi/m_emp-o4.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-ready-blinking.png => m_emp.rsi/m_emp-ready-blinking.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-ready.png => m_emp.rsi/m_emp-ready.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-unready-blinking.png => m_emp.rsi/m_emp-unready-blinking.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator-unready.png => m_emp.rsi/m_emp-unready.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi/emp-generator.png => m_emp.rsi/m_emp.png} (100%) rename Resources/Textures/Structures/Machines/{emp_generator.rsi => m_emp.rsi}/meta.json (77%) diff --git a/Content.Client/Salvage/M_EmpGeneratorComponent.cs b/Content.Client/Salvage/M_EmpGeneratorComponent.cs new file mode 100644 index 00000000000..93ab39118b3 --- /dev/null +++ b/Content.Client/Salvage/M_EmpGeneratorComponent.cs @@ -0,0 +1,5 @@ +using Content.Shared.M_Emp; +using Robust.Shared.GameStates; + +[NetworkedComponent, RegisterComponent] +public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent { } diff --git a/Content.Server/Salvage/M_EmpGeneratorComponent.cs b/Content.Server/Salvage/M_EmpGeneratorComponent.cs new file mode 100644 index 00000000000..d5d182d37dc --- /dev/null +++ b/Content.Server/Salvage/M_EmpGeneratorComponent.cs @@ -0,0 +1,131 @@ +using Content.Shared.Radio; +using Content.Shared.Random; +using Content.Shared.M_Emp; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Server.M_Emp +{ + /// + /// A M_Emp generator. + /// + [NetworkedComponent, RegisterComponent] + [Access(typeof(M_EmpSystem))] + public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent + { + /// + /// The entity attached to the generator + /// + // [ViewVariables(VVAccess.ReadOnly)] + // [DataField("attachedEntity")] + // public EntityUid? AttachedEntity; + + /// + /// Current state of this generator + /// + [ViewVariables(VVAccess.ReadOnly)] + [DataField("generatorState")] + public GeneratorState GeneratorState = GeneratorState.Inactive; + + /// + /// How long it takes for the generator to pull in the debris + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("baseAttachingTime")] + public TimeSpan BaseAttachingTime = TimeSpan.FromSeconds(30); + + /// + /// How long it actually takes for the generator to pull in the debris + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("attachingTime")] + public TimeSpan AttachingTime = TimeSpan.FromSeconds(30); + + /// + /// How long the generator can hold the debris until it starts losing the lock + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("holdTime")] + public TimeSpan HoldTime = TimeSpan.FromSeconds(240); + + /// + /// How long the generator can hold the debris while losing the lock + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("detachingTime")] + public TimeSpan DetachingTime = TimeSpan.FromSeconds(30); + + /// + /// How long the generator has to cool down for after use + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("baseCooldownTime")] + public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(60); + + /// + /// How long the generator actually has to cool down for after use + /// + [ViewVariables(VVAccess.ReadWrite)] + [DataField("cooldownTime")] + public TimeSpan CooldownTime = TimeSpan.FromSeconds(60); + + [DataField("M_EmpChannel", customTypeSerializer: typeof(PrototypeIdSerializer))] + public string M_EmpChannel = "Security"; + + /// + /// Current how much charge the generator currently has + /// + [DataField("chargeRemaining")] + public int ChargeRemaining = 5; + + /// + /// How much capacity the generator can hold + /// + [DataField("chargeCapacity")] + public int ChargeCapacity = 5; + + /// + /// Used as a guard to prevent spamming the appearance system + /// + [DataField("previousCharge")] + public int PreviousCharge = 5; + + /// + /// The chance that a random procgen asteroid will be + /// generated rather than a static M_Emp prototype. + /// + // [DataField("asteroidChance"), ViewVariables(VVAccess.ReadWrite)] + // public float AsteroidChance = 0.6f; + + /// + /// A weighted random prototype corresponding to + /// what asteroid entities will be generated. + /// +// [DataField("asteroidPool", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] +// public string AsteroidPool = "RandomAsteroidPool"; + } + + [CopyByRef, DataRecord] + public record struct GeneratorState(GeneratorStateType StateType, TimeSpan Until) + { + public static readonly GeneratorState Inactive = new (GeneratorStateType.Inactive, TimeSpan.Zero); + }; + + public sealed class M_EmpGeneratorActivatedEvent : EntityEventArgs + { + public EntityUid Generator; + + public M_EmpGeneratorActivatedEvent(EntityUid generator) + { + Generator = generator; + } + } + public enum GeneratorStateType + { + Inactive, + Attaching, + Holding, + Detaching, + CoolingDown, + } +} diff --git a/Content.Server/Salvage/M_EmpGridComponent.cs b/Content.Server/Salvage/M_EmpGridComponent.cs new file mode 100644 index 00000000000..90b3eadd766 --- /dev/null +++ b/Content.Server/Salvage/M_EmpGridComponent.cs @@ -0,0 +1,14 @@ +namespace Content.Server.M_Emp +{ + /// + /// A grid spawned by a salvage magnet. + /// + [RegisterComponent] + public sealed class M_EmpGridComponent : Component + { + /// + /// The magnet that spawned this grid. + /// + public EntityUid? SpawnerMagnet; + } +} diff --git a/Content.Server/Salvage/M_EmpSystem.cs b/Content.Server/Salvage/M_EmpSystem.cs new file mode 100644 index 00000000000..4f5fbefdd22 --- /dev/null +++ b/Content.Server/Salvage/M_EmpSystem.cs @@ -0,0 +1,362 @@ +using System.Linq; +using Content.Server.Construction; +using Content.Server.GameTicking; +using Content.Server.Radio.EntitySystems; +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Popups; +using Content.Shared.Radio; +using Content.Shared.M_Emp; +using Robust.Server.GameObjects; +using Robust.Shared.Configuration; +using Robust.Shared.Map; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Utility; +using Content.Server.Chat.Managers; +using Content.Server.Parallax; +using Content.Server.Procedural; +using Content.Server.Shuttles.Systems; +using Content.Server.Station.Systems; +using Content.Shared.CCVar; +using Content.Shared.Random; +using Content.Shared.Random.Helpers; +using Robust.Server.Maps; +using Robust.Shared.Map.Components; +using Robust.Shared.Timing; + +namespace Content.Server.M_Emp +{ + public sealed partial class M_EmpSystem : EntitySystem + { + [Dependency] private readonly IChatManager _chat = default!; + [Dependency] private readonly IConfigurationManager _configurationManager = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly IMapManager _mapManager = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly ITileDefinitionManager _tileDefManager = default!; + [Dependency] private readonly BiomeSystem _biome = default!; + [Dependency] private readonly DungeonSystem _dungeon = default!; + [Dependency] private readonly MapLoaderSystem _map = default!; + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly RadioSystem _radioSystem = default!; + [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly ShuttleSystem _shuttle = default!; + [Dependency] private readonly ShuttleConsoleSystem _shuttleConsoles = default!; + [Dependency] private readonly StationSystem _station = default!; + [Dependency] private readonly UserInterfaceSystem _ui = default!; + + // TODO: This is probably not compatible with multi-station + private readonly Dictionary _M_EmpGridStates = new(); + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInteractHand); + SubscribeLocalEvent(OnRefreshParts); + SubscribeLocalEvent(OnUpgradeExamine); + SubscribeLocalEvent(OnExamined); +// SubscribeLocalEvent(OnGeneratorRemoval); +// SubscribeLocalEvent(OnGridRemoval); + + // Can't use RoundRestartCleanupEvent, I need to clean up before the grid, and components are gone to prevent the announcements + SubscribeLocalEvent(OnRoundEnd); + +// InitializeExpeditions(); +// InitializeRunner(); + } + + public override void Shutdown() + { + base.Shutdown(); +// ShutdownExpeditions(); + } + + private void OnRoundEnd(GameRunLevelChangedEvent ev) + { + if(ev.New != GameRunLevel.InRound) + { + // _M_EmpGridStates.Clear(); + } + } + + private void UpdateAppearance(EntityUid uid, M_EmpGeneratorComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.ReadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Attaching); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Ready, component.GeneratorState.StateType == GeneratorStateType.Holding); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Unready, component.GeneratorState.StateType == GeneratorStateType.CoolingDown); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.UnreadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Detaching); + } + + private void UpdateChargeStateAppearance(EntityUid uid, TimeSpan currentTime, M_EmpGeneratorComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + var timeLeft = Convert.ToInt32(component.GeneratorState.Until.TotalSeconds - currentTime.TotalSeconds); + + component.ChargeRemaining = component.GeneratorState.StateType switch + { + GeneratorStateType.Inactive => 5, + GeneratorStateType.Holding => timeLeft / (Convert.ToInt32(component.HoldTime.TotalSeconds) / component.ChargeCapacity) + 1, + GeneratorStateType.Detaching => 0, + GeneratorStateType.CoolingDown => component.ChargeCapacity - timeLeft / (Convert.ToInt32(component.CooldownTime.TotalSeconds) / component.ChargeCapacity) - 1, + _ => component.ChargeRemaining + }; + + if (component.PreviousCharge == component.ChargeRemaining) + return; + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.ChargeState, component.ChargeRemaining); + component.PreviousCharge = component.ChargeRemaining; + } + +// private void OnGridRemoval(GridRemovalEvent ev) +// { +// // If we ever want to give generators names, and announce them individually, we would need to loop this, before removing it. +// if (_M_EmpGridStates.Remove(ev.EntityUid)) +// { +// if (TryComp(ev.EntityUid, out var salvComp) && +// TryComp(salvComp.SpawnerGenerator, out var generator)) +// Report(salvComp.SpawnerGenerator.Value, generator.M_EmpChannel, "M_Emp-system-announcement-spawn-generator-lost"); +// // For the very unlikely possibility that the M_Emp generator was on a M_Emp, we will not return here +// } +// foreach(var gridState in _M_EmpGridStates) +// { +// foreach(var generator in gridState.Value.ActiveGenerators) +// { +// if (!TryComp(generator, out var generatorComponent)) +// continue; + +// if (generatorComponent.AttachedEntity != ev.EntityUid) +// continue; +// generatorComponent.AttachedEntity = null; +// generatorComponent.GeneratorState = GeneratorState.Inactive; +// return; +// } +// } +// } + +// private void OnGeneratorRemoval(EntityUid uid, M_EmpGeneratorComponent component, ComponentShutdown args) +// { +// if (component.GeneratorState.StateType == GeneratorStateType.Inactive) +// return; +// +// var generatorTranform = Transform(uid); +// if (generatorTranform.GridUid is not { } gridId || !_M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) +// return; +// +// M_EmpGridState.ActiveGenerators.Remove(uid); +// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-spawn-generator-lost"); +// if (component.AttachedEntity.HasValue) +// { +// SafeDeleteM_Emp(component.AttachedEntity.Value); +// component.AttachedEntity = null; +// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-lost"); +// } +// else if (component.GeneratorState is { StateType: GeneratorStateType.Attaching }) +// { +// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-spawn-no-debris-available"); +// } +// +// component.GeneratorState = GeneratorState.Inactive; +// } + + private void OnRefreshParts(EntityUid uid, M_EmpGeneratorComponent component, RefreshPartsEvent args) + { + var rating = args.PartRatings[component.MachinePartDelay] - 1; + var factor = MathF.Pow(component.PartRatingDelay, rating); + component.AttachingTime = component.BaseAttachingTime * factor; + component.CooldownTime = component.BaseCooldownTime * factor; + } + + private void OnUpgradeExamine(EntityUid uid, M_EmpGeneratorComponent component, UpgradeExamineEvent args) + { + args.AddPercentageUpgrade("m_emp-system-generator-delay-upgrade", (float) (component.CooldownTime / component.BaseCooldownTime)); + } + + private void OnExamined(EntityUid uid, M_EmpGeneratorComponent component, ExaminedEvent args) + { + if (!args.IsInDetailsRange) + return; + + var gotGrid = false; + var remainingTime = TimeSpan.Zero; + +// if (Transform(uid).GridUid is { } gridId && +// _M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) +// { +// remainingTime = component.GeneratorState.Until - M_EmpGridState.CurrentTime; +// gotGrid = true; +// } +// else +// { +// Log.Warning("Failed to load M_Emp grid state, can't display remaining time"); +// } + + switch (component.GeneratorState.StateType) + { + case GeneratorStateType.Inactive: + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-inactive")); + break; + case GeneratorStateType.Attaching: + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-pulling-in")); + break; + case GeneratorStateType.Detaching: + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-releasing")); + break; + case GeneratorStateType.CoolingDown: + if (gotGrid) + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-cooling-down", ("timeLeft", Math.Ceiling(remainingTime.TotalSeconds)))); + break; + case GeneratorStateType.Holding: + if (gotGrid) + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-active", ("timeLeft", Math.Ceiling(remainingTime.TotalSeconds)))); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + private void OnInteractHand(EntityUid uid, M_EmpGeneratorComponent component, InteractHandEvent args) + { + if (args.Handled) + return; + args.Handled = true; + StartGenerator(uid, component, args.User); + UpdateAppearance(uid, component); + } + + private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, EntityUid user) + { + switch (component.GeneratorState.StateType) + { + case GeneratorStateType.Inactive: + ShowPopup(uid, "m_emp-system-report-activate-success", user); + var generatorTransform = Transform(uid); + var gridId = generatorTransform.GridUid ?? throw new InvalidOperationException("Generator had no grid associated"); + if (!_M_EmpGridStates.TryGetValue(gridId, out var gridState)) + { + gridState = new M_EmpGridState(); + _M_EmpGridStates[gridId] = gridState; + } + gridState.ActiveGenerators.Add(uid); + component.GeneratorState = new GeneratorState(GeneratorStateType.Attaching, gridState.CurrentTime + component.AttachingTime); + RaiseLocalEvent(new M_EmpGeneratorActivatedEvent(uid)); + Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); + break; + case GeneratorStateType.Attaching: + case GeneratorStateType.Holding: + ShowPopup(uid, "m_emp-system-report-already-active", user); + break; + case GeneratorStateType.Detaching: + case GeneratorStateType.CoolingDown: + ShowPopup(uid, "m_emp-system-report-cooling-down", user); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + private void ShowPopup(EntityUid uid, string messageKey, EntityUid user) + { + _popupSystem.PopupEntity(Loc.GetString(messageKey), uid, user); + } + + private void Report(EntityUid source, string channelName, string messageKey, params (string, object)[] args) + { + var message = args.Length == 0 ? Loc.GetString(messageKey) : Loc.GetString(messageKey, args); + var channel = _prototypeManager.Index(channelName); + _radioSystem.SendRadioMessage(source, message, channel, source); + } + + private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSpan currentTime) + { + switch (generator.GeneratorState.StateType) + { + case GeneratorStateType.Attaching: +// if (SpawnM_Emp(uid, generator)) +// { +// generator.GeneratorState = new GeneratorState(GeneratorStateType.Holding, currentTime + generator.HoldTime); +// } +// else +// { +// generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); +// } + break; + case GeneratorStateType.Holding: + Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-losing", ("timeLeft", generator.DetachingTime.TotalSeconds)); + generator.GeneratorState = new GeneratorState(GeneratorStateType.Detaching, currentTime + generator.DetachingTime); + break; + case GeneratorStateType.Detaching: + // if (generator.AttachedEntity.HasValue) + // { + // SafeDeleteM_Emp(generator.AttachedEntity.Value); + // } + // else + // { + // Log.Error("M_Emp detaching was expecting attached entity but it was null"); + // } + Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-lost"); + generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); + break; + case GeneratorStateType.CoolingDown: + generator.GeneratorState = GeneratorState.Inactive; + break; + } + UpdateAppearance(uid, generator); + UpdateChargeStateAppearance(uid, currentTime, generator); + } + + public override void Update(float frameTime) + { + var secondsPassed = TimeSpan.FromSeconds(frameTime); + // Keep track of time, and state per grid + foreach (var (uid, state) in _M_EmpGridStates) + { + if (state.ActiveGenerators.Count == 0) continue; + // Not handling the case where the M_Emp we spawned got paused + // They both need to be paused, or it doesn't make sense + if (MetaData(uid).EntityPaused) continue; + state.CurrentTime += secondsPassed; + + var deleteQueue = new RemQueue(); + + foreach(var generator in state.ActiveGenerators) + { + if (!TryComp(generator, out var generatorComp)) + continue; + + UpdateChargeStateAppearance(generator, state.CurrentTime, generatorComp); + if (generatorComp.GeneratorState.Until > state.CurrentTime) continue; + Transition(generator, generatorComp, state.CurrentTime); + if (generatorComp.GeneratorState.StateType == GeneratorStateType.Inactive) + { + deleteQueue.Add(generator); + } + } + + foreach(var generator in deleteQueue) + { + state.ActiveGenerators.Remove(generator); + } + } + +// UpdateExpeditions(); +// UpdateRunner(); + } + } + + public sealed class M_EmpGridState + { + public TimeSpan CurrentTime { get; set; } + public List ActiveGenerators { get; } = new(); + } +} + diff --git a/Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs b/Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs new file mode 100644 index 00000000000..5a932c196c3 --- /dev/null +++ b/Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs @@ -0,0 +1,31 @@ +using Content.Shared.Construction.Prototypes; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; + +namespace Content.Shared.M_Emp; + +public abstract class SharedM_EmpGeneratorComponent : Component +{ + /// + /// The machine part that affects the attaching and cooldown times + /// + [DataField("machinePartDelay", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] + public string MachinePartDelay = "Capacitor"; + + /// + /// A multiplier applied to the attaching and cooldown times for each level of + /// + [DataField("partRatingDelay"), ViewVariables(VVAccess.ReadWrite)] + public float PartRatingDelay = 0.75f; +} + +[Serializable, NetSerializable] +public enum M_EmpGeneratorVisuals : byte +{ + ChargeState, + Ready, + ReadyBlinking, + Unready, + UnreadyBlinking +} diff --git a/Content.Shared/Salvage/SharedM_EmpSystem.cs.old b/Content.Shared/Salvage/SharedM_EmpSystem.cs.old new file mode 100644 index 00000000000..8758722f338 --- /dev/null +++ b/Content.Shared/Salvage/SharedM_EmpSystem.cs.old @@ -0,0 +1,16 @@ +using System.Linq; +using Content.Shared.Dataset; +using Content.Shared.Random; +using Content.Shared.Random.Helpers; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; +using Robust.Shared.Serialization; +using Robust.Shared.Utility; + +namespace Content.Shared.M_Emp; + +public abstract class SharedM_EmpSystem : EntitySystem +{ + [Dependency] private readonly ILocalizationManager _loc = default!; + [Dependency] private readonly IPrototypeManager _proto = default!; +} diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp-system.ftl new file mode 100644 index 00000000000..c6306d093d9 --- /dev/null +++ b/Resources/Locale/en-US/m_emp/m_emp-system.ftl @@ -0,0 +1,23 @@ +m_emp-system-announcement-source = Salvage Control System +m_emp-system-announcement-arrived = A piece of salvagable debris has been pulled in. Estimated hold time: {$timeLeft} seconds. +m_emp-system-announcement-losing = The generator is no longer able to hold the salvagable debris. Estimated time until loss: {$timeLeft} seconds. +m_emp-system-announcement-lost = The salvagable debris have been lost. + +m_emp-system-announcement-spawn-generator-lost = The M_EMP Generator has been lost. +m_emp-system-announcement-spawn-no-debris-available = No debris could be recovered by the M_EMP Generator. +m_emp-system-announcement-spawn-debris-disintegrated = Debris disintegrated during orbital transfer. + +m_emp-system-report-already-active = The M_EMP Generator is already active. +m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. +m_emp-system-report-activate-success = The M_EMP Generator on MAP at location is starting up! + +m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. +m_emp-system-generator-examined-pulling-in = The M_EMP Generator is attempting to pull in m_emp. +m_emp-system-generator-examined-active = The M_EMP Generator is holding m_emp in place. Can hold for { $timeLeft -> + [1] one second. + *[other] { $timeLeft } seconds. +} +m_emp-system-generator-examined-releasing = The M_EMP Generator is releasing the m_emp. +m_emp-system-generator-examined-cooling-down = The M_EMP Generator is cooling down. It will be ready in: {$timeLeft} seconds. +m_emp-system-generator-delay-upgrade = Attaching/cooldown delay + diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index 505402f58a2..5a0d520b400 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -931,12 +931,12 @@ - type: entity parent: BaseMachineCircuitboard - id: EMPGeneratorMachineCircuitboard - name: emp generator machine board - description: A machine printed circuit board for a emp generator. + id: M_EmpMachineCircuitboard + name: M_EMP Generator machine board + description: A machine printed circuit board for a mobile EMP generator. components: - type: MachineBoard - prototype: EMPGenerator + prototype: M_Emp requirements: Capacitor: 4 materialRequirements: diff --git a/Resources/Prototypes/Entities/Structures/Machines/emp.yml b/Resources/Prototypes/Entities/Structures/Machines/emp.yml deleted file mode 100644 index 1033e07f4e7..00000000000 --- a/Resources/Prototypes/Entities/Structures/Machines/emp.yml +++ /dev/null @@ -1,66 +0,0 @@ -- type: entity - parent: [ BaseMachinePowered, ConstructibleMachine ] - id: EmpGenerator - name: emp generator - description: Generate EMP blast. - components: - - type: Sprite - sprite: Structures/Machines/emp_generator.rsi - layers: - - state: emp-generator - - state: emp-generator-ready - visible: false - map: [ "ready" ] - - state: emp-generator-ready-blinking - visible: false - map: [ "readyBlinking" ] - - state: emp-generator-unready - visible: false - map: [ "unready" ] - - state: emp-generator-unready-blinking - visible: false - map: [ "unreadyBlinking" ] - - state: emp-generator-o4 - map: ["chargeState"] - shader: unshaded - - type: Appearance - - type: GenericVisualizer - visuals: - enum.SalvageMagnetVisuals.ChargeState: - chargeState: - 0: { state: emp-generator-o0, shader: "unshaded", visible: false } - 1: { state: emp-generator-o0, shader: "unshaded", visible: true } - 2: { state: emp-generator-o1, shader: "unshaded", visible: true } - 3: { state: emp-generator-o2, shader: "unshaded", visible: true } - 4: { state: emp-generator-o3, shader: "unshaded", visible: true } - 5: { state: emp-generator-o4, shader: "unshaded", visible: true } - enum.SalvageMagnetVisuals.Ready: - ready: - False: { state: emp-generator-ready, visible: false, shader: "unshaded" } - True: { state: emp-generator-ready, visible: true, shader: "unshaded" } - enum.SalvageMagnetVisuals.ReadyBlinking: - readyBlinking: - False: { state: emp-generator-ready-blinking, visible: false, shader: "unshaded" } - True: { state: emp-generator-ready-blinking, visible: true, shader: "unshaded" } - enum.SalvageMagnetVisuals.Unready: - unready: - False: { state: emp-generator-unready, visible: false, shader: "unshaded" } - True: { state: emp-generator-unready, visible: true, shader: "unshaded" } - enum.SalvageMagnetVisuals.UnreadyBlinking: - unreadyBlinking: - False: { state: emp-generator-unready-blinking, visible: false, shader: "unshaded" } - True: { state: emp-generator-unready-blinking, visible: true, shader: "unshaded" } - - type: Rotatable - - type: Transform - noRot: false - - type: IntrinsicRadioReceiver - - type: ActiveRadio - channels: - - Security -# - type: SalvageMagnet -# - type: EmpGenerator - - type: ApcPowerReceiver - powerLoad: 100 # TODO change this to a HV power draw that really hits the grid hard WHEN active -# powerLoad: 2500 # TODO change this to a HV power draw that really hits the grid hard WHEN active - - type: Machine - board: EMPGeneratorMachineCircuitboard \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/m_emp.yml b/Resources/Prototypes/Entities/Structures/Machines/m_emp.yml new file mode 100644 index 00000000000..7c133ce2d10 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Machines/m_emp.yml @@ -0,0 +1,64 @@ +- type: entity + parent: [ BaseMachinePowered, ConstructibleMachine ] + id: M_Emp + name: M_EMP Generator + description: Mobile EMP generator. + components: + - type: Sprite + sprite: Structures/Machines/m_emp.rsi + layers: + - state: m_emp + - state: m_emp-ready + visible: false + map: [ "ready" ] + - state: m_emp-ready-blinking + visible: false + map: [ "readyBlinking" ] + - state: m_emp-unready + visible: false + map: [ "unready" ] + - state: m_emp-unready-blinking + visible: false + map: [ "unreadyBlinking" ] + - state: m_emp-o4 + map: ["chargeState"] + shader: unshaded + - type: Appearance + - type: GenericVisualizer + visuals: + enum.M_EmpGeneratorVisuals.ChargeState: + chargeState: + 0: { state: m_emp-o0, shader: "unshaded", visible: false } + 1: { state: m_emp-o0, shader: "unshaded", visible: true } + 2: { state: m_emp-o1, shader: "unshaded", visible: true } + 3: { state: m_emp-o2, shader: "unshaded", visible: true } + 4: { state: m_emp-o3, shader: "unshaded", visible: true } + 5: { state: m_emp-o4, shader: "unshaded", visible: true } + enum.M_EmpGeneratorVisuals.Ready: + ready: + False: { state: m_emp-ready, visible: false, shader: "unshaded" } + True: { state: m_emp-ready, visible: true, shader: "unshaded" } + enum.M_EmpGeneratorVisuals.ReadyBlinking: + readyBlinking: + False: { state: m_emp-ready-blinking, visible: false, shader: "unshaded" } + True: { state: m_emp-ready-blinking, visible: true, shader: "unshaded" } + enum.M_EmpGeneratorVisuals.Unready: + unready: + False: { state: m_emp-unready, visible: false, shader: "unshaded" } + True: { state: m_emp-unready, visible: true, shader: "unshaded" } + enum.M_EmpGeneratorVisuals.UnreadyBlinking: + unreadyBlinking: + False: { state: m_emp-unready-blinking, visible: false, shader: "unshaded" } + True: { state: m_emp-unready-blinking, visible: true, shader: "unshaded" } + - type: Rotatable + - type: Transform + noRot: false + - type: IntrinsicRadioReceiver + - type: ActiveRadio + channels: + - Security + - type: M_EmpGenerator + - type: ApcPowerReceiver + powerLoad: 100 # TODO change this to a HV power draw that really hits the grid hard WHEN active + - type: Machine + board: M_EmpMachineCircuitboard \ No newline at end of file diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o0.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o0.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o0.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o0.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o1.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o1.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o1.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o1.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o2.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o2.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o2.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o2.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o3.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o3.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o3.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o3.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o4.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o4.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-o4.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o4.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready-blinking.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready-blinking.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-ready.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready-blinking.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready-blinking.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator-unready.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator.png b/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp.png similarity index 100% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/emp-generator.png rename to Resources/Textures/Structures/Machines/m_emp.rsi/m_emp.png diff --git a/Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json b/Resources/Textures/Structures/Machines/m_emp.rsi/meta.json similarity index 77% rename from Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json rename to Resources/Textures/Structures/Machines/m_emp.rsi/meta.json index 48781e2ef27..5eca3207be8 100644 --- a/Resources/Textures/Structures/Machines/emp_generator.rsi/meta.json +++ b/Resources/Textures/Structures/Machines/m_emp.rsi/meta.json @@ -8,42 +8,42 @@ }, "states": [ { - "name": "emp-generator", + "name": "m_emp", "directions": 4 }, { - "name": "emp-generator-o0", + "name": "m_emp-o0", "directions": 4, "commentary": "o0 - 04 represent the amount of time remaining during EMP and cooldown." }, { - "name": "emp-generator-o1", + "name": "m_emp-o1", "directions": 4 }, { - "name": "emp-generator-o2", + "name": "m_emp-o2", "directions": 4 }, { - "name": "emp-generator-o3", + "name": "m_emp-o3", "directions": 4 }, { - "name": "emp-generator-o4", + "name": "m_emp-o4", "directions": 4 }, { - "name": "emp-generator-unready", + "name": "m_emp-unready", "directions": 4, "commentary": "Cooldown state" }, { - "name": "emp-generator-ready", + "name": "m_emp-ready", "directions": 4, "commentary": "EMP state" }, { - "name": "emp-generator-ready-blinking", + "name": "m_emp-ready-blinking", "directions": 4, "delays": [ [ 0.2, 0.2], @@ -54,7 +54,7 @@ "commentary": "EMP active state" }, { - "name": "emp-generator-unready-blinking", + "name": "m_emp-unready-blinking", "directions": 4, "delays": [ [ 0.2, 0.2], From f5bb7633a754e4ddf49b0b0aeb590a2e907ec120 Mon Sep 17 00:00:00 2001 From: Dvir Date: Mon, 24 Jul 2023 21:24:49 +0300 Subject: [PATCH 07/24] EMP --- .../M_Emp}/M_EmpGeneratorComponent.cs | 2 +- Content.Server/Emp/EmpIgnoreComponent.cs | 12 ++ Content.Server/Emp/EmpSystem.cs | 7 + .../Light/EntitySystems/PoweredLightSystem.cs | 4 +- .../Power/EntitySystems/ApcSystem.cs | 15 +- .../M_Emp}/M_EmpGeneratorComponent.cs | 41 +--- .../M_Emp}/M_EmpGridComponent.cs | 2 +- .../{Salvage => _NF/M_Emp}/M_EmpSystem.cs | 180 ++++++++---------- .../M_Emp}/SharedM_EmpGeneratorComponent.cs | 2 +- .../M_Emp/SharedM_EmpSystem.cs} | 2 +- Resources/Locale/en-US/m_emp/m_emp-system.ftl | 14 +- .../_NF/Entities/Structures/Power/apc.yml | 10 + 12 files changed, 145 insertions(+), 146 deletions(-) rename Content.Client/{Salvage => _NF/M_Emp}/M_EmpGeneratorComponent.cs (82%) create mode 100644 Content.Server/Emp/EmpIgnoreComponent.cs rename Content.Server/{Salvage => _NF/M_Emp}/M_EmpGeneratorComponent.cs (71%) rename Content.Server/{Salvage => _NF/M_Emp}/M_EmpGridComponent.cs (89%) rename Content.Server/{Salvage => _NF/M_Emp}/M_EmpSystem.cs (71%) rename Content.Shared/{Salvage => _NF/M_Emp}/SharedM_EmpGeneratorComponent.cs (96%) rename Content.Shared/{Salvage/SharedM_EmpSystem.cs.old => _NF/M_Emp/SharedM_EmpSystem.cs} (92%) create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml diff --git a/Content.Client/Salvage/M_EmpGeneratorComponent.cs b/Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs similarity index 82% rename from Content.Client/Salvage/M_EmpGeneratorComponent.cs rename to Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs index 93ab39118b3..dd6d3dfa14d 100644 --- a/Content.Client/Salvage/M_EmpGeneratorComponent.cs +++ b/Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs @@ -1,4 +1,4 @@ -using Content.Shared.M_Emp; +using Content.Shared._NF.M_Emp; using Robust.Shared.GameStates; [NetworkedComponent, RegisterComponent] diff --git a/Content.Server/Emp/EmpIgnoreComponent.cs b/Content.Server/Emp/EmpIgnoreComponent.cs new file mode 100644 index 00000000000..b5c94652976 --- /dev/null +++ b/Content.Server/Emp/EmpIgnoreComponent.cs @@ -0,0 +1,12 @@ +namespace Content.Server.Emp; + +/// +/// Upon being triggered will EMP area around it. +/// +[RegisterComponent] +[Access(typeof(EmpSystem))] +public sealed class EmpIgnoreComponent : Component +{ + [DataField("IgnoreEmp"), ViewVariables(VVAccess.ReadWrite)] + public float IgnoreEmp = "true"; +} diff --git a/Content.Server/Emp/EmpSystem.cs b/Content.Server/Emp/EmpSystem.cs index b327f086db0..6626c5347e5 100644 --- a/Content.Server/Emp/EmpSystem.cs +++ b/Content.Server/Emp/EmpSystem.cs @@ -1,3 +1,4 @@ +using Content.Server.Entry; using Content.Server.Explosion.EntitySystems; using Content.Server.Power.EntitySystems; using Content.Server.Radio; @@ -20,6 +21,7 @@ public override void Initialize() SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(HandleEmpTrigger); + SubscribeLocalEvent(IgnoreEMP); SubscribeLocalEvent(OnRadioSendAttempt); SubscribeLocalEvent(OnRadioReceiveAttempt); @@ -79,6 +81,11 @@ private void HandleEmpTrigger(EntityUid uid, EmpOnTriggerComponent comp, Trigger args.Handled = true; } + private void HandleEmpTrigger(EntityUid uid, EmpIgnoreComponent comp, IgnoreEMP args) + { + args.Ignored = true; + } + private void OnRadioSendAttempt(EntityUid uid, EmpDisabledComponent component, ref RadioSendAttemptEvent args) { args.Cancelled = true; diff --git a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs index bac13274ea7..3a0dc3ee8ce 100644 --- a/Content.Server/Light/EntitySystems/PoweredLightSystem.cs +++ b/Content.Server/Light/EntitySystems/PoweredLightSystem.cs @@ -429,8 +429,8 @@ private void OnDoAfter(EntityUid uid, PoweredLightComponent component, DoAfterEv private void OnEmpPulse(EntityUid uid, PoweredLightComponent component, ref EmpPulseEvent args) { - if (TryDestroyBulb(uid, component)) - args.Affected = true; + // if (TryDestroyBulb(uid, component)) // Make it so EMP isnt exploding lights + // args.Affected = true; // Make it so EMP isnt exploding lights } } } diff --git a/Content.Server/Power/EntitySystems/ApcSystem.cs b/Content.Server/Power/EntitySystems/ApcSystem.cs index 4df8c33c5b6..03f287e14cd 100644 --- a/Content.Server/Power/EntitySystems/ApcSystem.cs +++ b/Content.Server/Power/EntitySystems/ApcSystem.cs @@ -13,6 +13,7 @@ using Robust.Server.GameObjects; using Robust.Shared.Audio; using Robust.Shared.Timing; +using Content.Server.EmpIgnore.Component; namespace Content.Server.Power.EntitySystems { @@ -25,6 +26,7 @@ internal sealed class ApcSystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly EmpIgnoreComponent _EmpIgnore = default!; public override void Initialize() { @@ -201,13 +203,16 @@ private ApcExternalPowerState CalcExtPowerState(EntityUid uid, PowerState.Batter return ApcExternalPowerState.Good; } - private void OnEmpPulse(EntityUid uid, ApcComponent component, ref EmpPulseEvent args) + private void OnEmpPulse(EntityUid uid, ApcComponent component, ref EmpPulseEvent args, ref EmpIgnore args) { - if (component.MainBreakerEnabled) + if (component.EmpIgnore) { - args.Affected = true; - args.Disabled = true; - ApcToggleBreaker(uid, component); + if (component.MainBreakerEnabled) + { + args.Affected = true; + args.Disabled = true; + ApcToggleBreaker(uid, component); + } } } } diff --git a/Content.Server/Salvage/M_EmpGeneratorComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs similarity index 71% rename from Content.Server/Salvage/M_EmpGeneratorComponent.cs rename to Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs index d5d182d37dc..44ac6bde5ea 100644 --- a/Content.Server/Salvage/M_EmpGeneratorComponent.cs +++ b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs @@ -1,10 +1,10 @@ using Content.Shared.Radio; using Content.Shared.Random; -using Content.Shared.M_Emp; +using Content.Shared._NF.M_Emp; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -namespace Content.Server.M_Emp +namespace Content.Server._NF.M_Emp { /// /// A M_Emp generator. @@ -13,13 +13,6 @@ namespace Content.Server.M_Emp [Access(typeof(M_EmpSystem))] public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent { - /// - /// The entity attached to the generator - /// - // [ViewVariables(VVAccess.ReadOnly)] - // [DataField("attachedEntity")] - // public EntityUid? AttachedEntity; - /// /// Current state of this generator /// @@ -31,36 +24,36 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent /// How long it takes for the generator to pull in the debris /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("baseAttachingTime")] - public TimeSpan BaseAttachingTime = TimeSpan.FromSeconds(30); + [DataField("baseActivatingTime")] + public TimeSpan BaseActivatingTime = TimeSpan.FromSeconds(10); /// /// How long it actually takes for the generator to pull in the debris /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("attachingTime")] - public TimeSpan AttachingTime = TimeSpan.FromSeconds(30); + [DataField("activatingTime")] + public TimeSpan ActivatingTime = TimeSpan.FromSeconds(10); /// /// How long the generator can hold the debris until it starts losing the lock /// [ViewVariables(VVAccess.ReadWrite)] [DataField("holdTime")] - public TimeSpan HoldTime = TimeSpan.FromSeconds(240); + public TimeSpan HoldTime = TimeSpan.FromSeconds(60); /// /// How long the generator can hold the debris while losing the lock /// [ViewVariables(VVAccess.ReadWrite)] [DataField("detachingTime")] - public TimeSpan DetachingTime = TimeSpan.FromSeconds(30); + public TimeSpan DetachingTime = TimeSpan.FromSeconds(10); /// /// How long the generator has to cool down for after use /// [ViewVariables(VVAccess.ReadWrite)] [DataField("baseCooldownTime")] - public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(60); + public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(10); /// /// How long the generator actually has to cool down for after use @@ -89,20 +82,6 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent /// [DataField("previousCharge")] public int PreviousCharge = 5; - - /// - /// The chance that a random procgen asteroid will be - /// generated rather than a static M_Emp prototype. - /// - // [DataField("asteroidChance"), ViewVariables(VVAccess.ReadWrite)] - // public float AsteroidChance = 0.6f; - - /// - /// A weighted random prototype corresponding to - /// what asteroid entities will be generated. - /// -// [DataField("asteroidPool", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] -// public string AsteroidPool = "RandomAsteroidPool"; } [CopyByRef, DataRecord] @@ -123,7 +102,7 @@ public M_EmpGeneratorActivatedEvent(EntityUid generator) public enum GeneratorStateType { Inactive, - Attaching, + Activating, Holding, Detaching, CoolingDown, diff --git a/Content.Server/Salvage/M_EmpGridComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGridComponent.cs similarity index 89% rename from Content.Server/Salvage/M_EmpGridComponent.cs rename to Content.Server/_NF/M_Emp/M_EmpGridComponent.cs index 90b3eadd766..9e46b73a145 100644 --- a/Content.Server/Salvage/M_EmpGridComponent.cs +++ b/Content.Server/_NF/M_Emp/M_EmpGridComponent.cs @@ -1,4 +1,4 @@ -namespace Content.Server.M_Emp +namespace Content.Server._NF.M_Emp { /// /// A grid spawned by a salvage magnet. diff --git a/Content.Server/Salvage/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs similarity index 71% rename from Content.Server/Salvage/M_EmpSystem.cs rename to Content.Server/_NF/M_Emp/M_EmpSystem.cs index 4f5fbefdd22..e6bd435c7d5 100644 --- a/Content.Server/Salvage/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -6,7 +6,7 @@ using Content.Shared.Interaction; using Content.Shared.Popups; using Content.Shared.Radio; -using Content.Shared.M_Emp; +using Content.Shared._NF.M_Emp; using Robust.Server.GameObjects; using Robust.Shared.Configuration; using Robust.Shared.Map; @@ -17,16 +17,13 @@ using Content.Server.Chat.Managers; using Content.Server.Parallax; using Content.Server.Procedural; -using Content.Server.Shuttles.Systems; using Content.Server.Station.Systems; using Content.Shared.CCVar; -using Content.Shared.Random; -using Content.Shared.Random.Helpers; using Robust.Server.Maps; -using Robust.Shared.Map.Components; using Robust.Shared.Timing; +using Content.Server.Emp; -namespace Content.Server.M_Emp +namespace Content.Server._NF.M_Emp { public sealed partial class M_EmpSystem : EntitySystem { @@ -45,10 +42,9 @@ public sealed partial class M_EmpSystem : EntitySystem [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; - [Dependency] private readonly ShuttleSystem _shuttle = default!; - [Dependency] private readonly ShuttleConsoleSystem _shuttleConsoles = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; + [Dependency] private readonly EmpSystem _emp = default!; // TODO: This is probably not compatible with multi-station private readonly Dictionary _M_EmpGridStates = new(); @@ -61,8 +57,8 @@ public override void Initialize() SubscribeLocalEvent(OnRefreshParts); SubscribeLocalEvent(OnUpgradeExamine); SubscribeLocalEvent(OnExamined); -// SubscribeLocalEvent(OnGeneratorRemoval); -// SubscribeLocalEvent(OnGridRemoval); + SubscribeLocalEvent(OnGeneratorRemoval); + SubscribeLocalEvent(OnGridRemoval); // Can't use RoundRestartCleanupEvent, I need to clean up before the grid, and components are gone to prevent the announcements SubscribeLocalEvent(OnRoundEnd); @@ -74,14 +70,13 @@ public override void Initialize() public override void Shutdown() { base.Shutdown(); -// ShutdownExpeditions(); } private void OnRoundEnd(GameRunLevelChangedEvent ev) { if(ev.New != GameRunLevel.InRound) { - // _M_EmpGridStates.Clear(); + _M_EmpGridStates.Clear(); } } @@ -90,7 +85,7 @@ private void UpdateAppearance(EntityUid uid, M_EmpGeneratorComponent? component if (!Resolve(uid, ref component, false)) return; - _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.ReadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Attaching); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.ReadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Activating); _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Ready, component.GeneratorState.StateType == GeneratorStateType.Holding); _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Unready, component.GeneratorState.StateType == GeneratorStateType.CoolingDown); _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.UnreadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Detaching); @@ -118,62 +113,43 @@ private void UpdateChargeStateAppearance(EntityUid uid, TimeSpan currentTime, M_ component.PreviousCharge = component.ChargeRemaining; } -// private void OnGridRemoval(GridRemovalEvent ev) -// { -// // If we ever want to give generators names, and announce them individually, we would need to loop this, before removing it. -// if (_M_EmpGridStates.Remove(ev.EntityUid)) -// { -// if (TryComp(ev.EntityUid, out var salvComp) && -// TryComp(salvComp.SpawnerGenerator, out var generator)) -// Report(salvComp.SpawnerGenerator.Value, generator.M_EmpChannel, "M_Emp-system-announcement-spawn-generator-lost"); -// // For the very unlikely possibility that the M_Emp generator was on a M_Emp, we will not return here -// } -// foreach(var gridState in _M_EmpGridStates) -// { -// foreach(var generator in gridState.Value.ActiveGenerators) -// { -// if (!TryComp(generator, out var generatorComponent)) -// continue; - -// if (generatorComponent.AttachedEntity != ev.EntityUid) -// continue; -// generatorComponent.AttachedEntity = null; -// generatorComponent.GeneratorState = GeneratorState.Inactive; -// return; -// } -// } -// } - -// private void OnGeneratorRemoval(EntityUid uid, M_EmpGeneratorComponent component, ComponentShutdown args) -// { -// if (component.GeneratorState.StateType == GeneratorStateType.Inactive) -// return; -// -// var generatorTranform = Transform(uid); -// if (generatorTranform.GridUid is not { } gridId || !_M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) -// return; -// -// M_EmpGridState.ActiveGenerators.Remove(uid); -// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-spawn-generator-lost"); -// if (component.AttachedEntity.HasValue) -// { -// SafeDeleteM_Emp(component.AttachedEntity.Value); -// component.AttachedEntity = null; -// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-lost"); -// } -// else if (component.GeneratorState is { StateType: GeneratorStateType.Attaching }) -// { -// Report(uid, component.M_EmpChannel, "M_Emp-system-announcement-spawn-no-debris-available"); -// } -// -// component.GeneratorState = GeneratorState.Inactive; -// } + private void OnGridRemoval(GridRemovalEvent ev) + { + // If we ever want to give generators names, and announce them individually, we would need to loop this, before removing it. + if (_M_EmpGridStates.Remove(ev.EntityUid)) + { + // For the very unlikely possibility that the M_Emp generator was on a M_Emp, we will not return here + } + foreach(var gridState in _M_EmpGridStates) + { + foreach(var generator in gridState.Value.ActiveGenerators) + { + if (!TryComp(generator, out var generatorComponent)) + continue; + + generatorComponent.GeneratorState = GeneratorState.Inactive; + return; + } + } + } + + private void OnGeneratorRemoval(EntityUid uid, M_EmpGeneratorComponent component, ComponentShutdown args) + { + if (component.GeneratorState.StateType == GeneratorStateType.Inactive) + return; + + var generatorTranform = Transform(uid); + if (generatorTranform.GridUid is not { } gridId || !_M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) + return; + + component.GeneratorState = GeneratorState.Inactive; + } private void OnRefreshParts(EntityUid uid, M_EmpGeneratorComponent component, RefreshPartsEvent args) { var rating = args.PartRatings[component.MachinePartDelay] - 1; var factor = MathF.Pow(component.PartRatingDelay, rating); - component.AttachingTime = component.BaseAttachingTime * factor; + component.ActivatingTime = component.BaseActivatingTime * factor; component.CooldownTime = component.BaseCooldownTime * factor; } @@ -190,24 +166,24 @@ private void OnExamined(EntityUid uid, M_EmpGeneratorComponent component, Examin var gotGrid = false; var remainingTime = TimeSpan.Zero; -// if (Transform(uid).GridUid is { } gridId && -// _M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) -// { -// remainingTime = component.GeneratorState.Until - M_EmpGridState.CurrentTime; -// gotGrid = true; -// } -// else -// { -// Log.Warning("Failed to load M_Emp grid state, can't display remaining time"); -// } + if (Transform(uid).GridUid is { } gridId && + _M_EmpGridStates.TryGetValue(gridId, out var M_EmpGridState)) + { + remainingTime = component.GeneratorState.Until - M_EmpGridState.CurrentTime; + gotGrid = true; + } + else + { + Log.Warning("Failed to load M_Emp grid state, can't display remaining time"); + } switch (component.GeneratorState.StateType) { case GeneratorStateType.Inactive: args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-inactive")); break; - case GeneratorStateType.Attaching: - args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-pulling-in")); + case GeneratorStateType.Activating: + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-starting")); break; case GeneratorStateType.Detaching: args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-releasing")); @@ -248,11 +224,12 @@ private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, En _M_EmpGridStates[gridId] = gridState; } gridState.ActiveGenerators.Add(uid); - component.GeneratorState = new GeneratorState(GeneratorStateType.Attaching, gridState.CurrentTime + component.AttachingTime); + + component.GeneratorState = new GeneratorState(GeneratorStateType.Activating, gridState.CurrentTime + component.ActivatingTime); RaiseLocalEvent(new M_EmpGeneratorActivatedEvent(uid)); Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); break; - case GeneratorStateType.Attaching: + case GeneratorStateType.Activating: case GeneratorStateType.Holding: ShowPopup(uid, "m_emp-system-report-already-active", user); break; @@ -269,6 +246,25 @@ private void ShowPopup(EntityUid uid, string messageKey, EntityUid user) _popupSystem.PopupEntity(Loc.GetString(messageKey), uid, user); } + private bool SpawnM_Emp(EntityUid uid, M_EmpGeneratorComponent component) + { + EntityUid? salvageEnt; + + var opts = new MapLoadOptions + { + Offset = new Vector2(0, 0) + }; + + Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.HoldTime.TotalSeconds)); + + var empRange = 100; + var EmpEnergyConsumption = 50000; + var EmpDisabledDuration = 60; + _emp.EmpPulse(Transform(uid).MapPosition, empRange, EmpEnergyConsumption, EmpDisabledDuration); + + return true; + } + private void Report(EntityUid source, string channelName, string messageKey, params (string, object)[] args) { var message = args.Length == 0 ? Loc.GetString(messageKey) : Loc.GetString(messageKey, args); @@ -280,29 +276,21 @@ private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSp { switch (generator.GeneratorState.StateType) { - case GeneratorStateType.Attaching: -// if (SpawnM_Emp(uid, generator)) -// { -// generator.GeneratorState = new GeneratorState(GeneratorStateType.Holding, currentTime + generator.HoldTime); -// } -// else -// { -// generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); -// } + case GeneratorStateType.Activating: + if (SpawnM_Emp(uid, generator)) + { + generator.GeneratorState = new GeneratorState(GeneratorStateType.Holding, currentTime + generator.HoldTime); + } + else + { + generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); + } break; case GeneratorStateType.Holding: - Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-losing", ("timeLeft", generator.DetachingTime.TotalSeconds)); + Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-cooling-down", ("timeLeft", generator.DetachingTime.TotalSeconds)); generator.GeneratorState = new GeneratorState(GeneratorStateType.Detaching, currentTime + generator.DetachingTime); break; case GeneratorStateType.Detaching: - // if (generator.AttachedEntity.HasValue) - // { - // SafeDeleteM_Emp(generator.AttachedEntity.Value); - // } - // else - // { - // Log.Error("M_Emp detaching was expecting attached entity but it was null"); - // } Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-lost"); generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); break; diff --git a/Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs b/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs similarity index 96% rename from Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs rename to Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs index 5a932c196c3..5049891d081 100644 --- a/Content.Shared/Salvage/SharedM_EmpGeneratorComponent.cs +++ b/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs @@ -3,7 +3,7 @@ using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -namespace Content.Shared.M_Emp; +namespace Content.Shared._NF.M_Emp; public abstract class SharedM_EmpGeneratorComponent : Component { diff --git a/Content.Shared/Salvage/SharedM_EmpSystem.cs.old b/Content.Shared/_NF/M_Emp/SharedM_EmpSystem.cs similarity index 92% rename from Content.Shared/Salvage/SharedM_EmpSystem.cs.old rename to Content.Shared/_NF/M_Emp/SharedM_EmpSystem.cs index 8758722f338..c40b6cf1ab9 100644 --- a/Content.Shared/Salvage/SharedM_EmpSystem.cs.old +++ b/Content.Shared/_NF/M_Emp/SharedM_EmpSystem.cs @@ -7,7 +7,7 @@ using Robust.Shared.Serialization; using Robust.Shared.Utility; -namespace Content.Shared.M_Emp; +namespace Content.Shared._NF.M_Emp; public abstract class SharedM_EmpSystem : EntitySystem { diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp-system.ftl index c6306d093d9..b7f9778135d 100644 --- a/Resources/Locale/en-US/m_emp/m_emp-system.ftl +++ b/Resources/Locale/en-US/m_emp/m_emp-system.ftl @@ -1,18 +1,16 @@ -m_emp-system-announcement-source = Salvage Control System -m_emp-system-announcement-arrived = A piece of salvagable debris has been pulled in. Estimated hold time: {$timeLeft} seconds. -m_emp-system-announcement-losing = The generator is no longer able to hold the salvagable debris. Estimated time until loss: {$timeLeft} seconds. -m_emp-system-announcement-lost = The salvagable debris have been lost. +m_emp-system-announcement-source = M_EMP Generator System +m_emp-system-announcement-active = M_EMP generator activated. Estimated EMP time: {$timeLeft} seconds. +m_emp-system-announcement-cooling-down = The M_EMP geneartor EMP effect is no longer active. Estimated time until EMP cooldown: {$timeLeft} seconds. +m_emp-system-announcement-lost = The M_EMP generator charging up. m_emp-system-announcement-spawn-generator-lost = The M_EMP Generator has been lost. -m_emp-system-announcement-spawn-no-debris-available = No debris could be recovered by the M_EMP Generator. -m_emp-system-announcement-spawn-debris-disintegrated = Debris disintegrated during orbital transfer. m_emp-system-report-already-active = The M_EMP Generator is already active. m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. -m_emp-system-report-activate-success = The M_EMP Generator on MAP at location is starting up! +m_emp-system-report-activate-success = The M_EMP Generator on targetGrid at LOCATION is starting up! m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. -m_emp-system-generator-examined-pulling-in = The M_EMP Generator is attempting to pull in m_emp. +m_emp-system-generator-examined-starting = The M_EMP Generator is starting up. m_emp-system-generator-examined-active = The M_EMP Generator is holding m_emp in place. Can hold for { $timeLeft -> [1] one second. *[other] { $timeLeft } seconds. diff --git a/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml b/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml new file mode 100644 index 00000000000..a4f0f17290a --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml @@ -0,0 +1,10 @@ +# APCs in use +- type: entity + parent: BaseAPC + id: APCBasicEmpImmune + suffix: EMP Immune, 50kW + components: + - type: Battery + maxCharge: 50000 + startingCharge: 50000 + - type: EmpIgnore \ No newline at end of file From 9594415e90d1ac87a34daf235b4c71dbe2069001 Mon Sep 17 00:00:00 2001 From: Dvir Date: Mon, 24 Jul 2023 23:49:16 +0300 Subject: [PATCH 08/24] EMP --- Content.Server/Emp/EmpIgnoreComponent.cs | 12 ------------ Content.Server/Emp/EmpSystem.cs | 6 ------ Content.Server/Power/Components/ApcComponent.cs | 3 +++ Content.Server/Power/EntitySystems/ApcSystem.cs | 11 +++++++---- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 5 ----- Content.Shared/Emp/EmpDisabledComponent.cs | 3 +++ .../Prototypes/_NF/Entities/Structures/Power/apc.yml | 3 ++- 7 files changed, 15 insertions(+), 28 deletions(-) delete mode 100644 Content.Server/Emp/EmpIgnoreComponent.cs diff --git a/Content.Server/Emp/EmpIgnoreComponent.cs b/Content.Server/Emp/EmpIgnoreComponent.cs deleted file mode 100644 index b5c94652976..00000000000 --- a/Content.Server/Emp/EmpIgnoreComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Content.Server.Emp; - -/// -/// Upon being triggered will EMP area around it. -/// -[RegisterComponent] -[Access(typeof(EmpSystem))] -public sealed class EmpIgnoreComponent : Component -{ - [DataField("IgnoreEmp"), ViewVariables(VVAccess.ReadWrite)] - public float IgnoreEmp = "true"; -} diff --git a/Content.Server/Emp/EmpSystem.cs b/Content.Server/Emp/EmpSystem.cs index 6626c5347e5..8248971c492 100644 --- a/Content.Server/Emp/EmpSystem.cs +++ b/Content.Server/Emp/EmpSystem.cs @@ -21,7 +21,6 @@ public override void Initialize() SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(HandleEmpTrigger); - SubscribeLocalEvent(IgnoreEMP); SubscribeLocalEvent(OnRadioSendAttempt); SubscribeLocalEvent(OnRadioReceiveAttempt); @@ -81,11 +80,6 @@ private void HandleEmpTrigger(EntityUid uid, EmpOnTriggerComponent comp, Trigger args.Handled = true; } - private void HandleEmpTrigger(EntityUid uid, EmpIgnoreComponent comp, IgnoreEMP args) - { - args.Ignored = true; - } - private void OnRadioSendAttempt(EntityUid uid, EmpDisabledComponent component, ref RadioSendAttemptEvent args) { args.Cancelled = true; diff --git a/Content.Server/Power/Components/ApcComponent.cs b/Content.Server/Power/Components/ApcComponent.cs index e6e6dc58454..40ed3f87942 100644 --- a/Content.Server/Power/Components/ApcComponent.cs +++ b/Content.Server/Power/Components/ApcComponent.cs @@ -10,6 +10,9 @@ public sealed class ApcComponent : BaseApcNetComponent [DataField("onReceiveMessageSound")] public SoundSpecifier OnReceiveMessageSound = new SoundPathSpecifier("/Audio/Machines/machine_switch.ogg"); + [DataField("apcIgnoreEmp")] + public bool ApcIgnoreEmp = false; + [ViewVariables] public ApcChargeState LastChargeState; public TimeSpan LastChargeStateTime; diff --git a/Content.Server/Power/EntitySystems/ApcSystem.cs b/Content.Server/Power/EntitySystems/ApcSystem.cs index 538c675ac67..ed07ee912a9 100644 --- a/Content.Server/Power/EntitySystems/ApcSystem.cs +++ b/Content.Server/Power/EntitySystems/ApcSystem.cs @@ -12,7 +12,6 @@ using Robust.Server.GameObjects; using Robust.Shared.Audio; using Robust.Shared.Timing; -using Content.Server.EmpIgnore.Component; namespace Content.Server.Power.EntitySystems { @@ -25,7 +24,6 @@ internal sealed class ApcSystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly EmpIgnoreComponent _EmpIgnore = default!; public override void Initialize() { @@ -189,9 +187,14 @@ private ApcExternalPowerState CalcExtPowerState(EntityUid uid, PowerState.Batter return ApcExternalPowerState.Good; } - private void OnEmpPulse(EntityUid uid, ApcComponent component, ref EmpPulseEvent args, ref EmpIgnore args) + private void OnEmpPulse(EntityUid uid, ApcComponent component, ref EmpPulseEvent args) { - if (component.EmpIgnore) + if (component.ApcIgnoreEmp) + { + args.Affected = false; + args.Disabled = false; + } + else { if (component.MainBreakerEnabled) { diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index e6bd435c7d5..e3378c73669 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -250,11 +250,6 @@ private bool SpawnM_Emp(EntityUid uid, M_EmpGeneratorComponent component) { EntityUid? salvageEnt; - var opts = new MapLoadOptions - { - Offset = new Vector2(0, 0) - }; - Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.HoldTime.TotalSeconds)); var empRange = 100; diff --git a/Content.Shared/Emp/EmpDisabledComponent.cs b/Content.Shared/Emp/EmpDisabledComponent.cs index c84bab9d4dc..b1e5c805e36 100644 --- a/Content.Shared/Emp/EmpDisabledComponent.cs +++ b/Content.Shared/Emp/EmpDisabledComponent.cs @@ -20,6 +20,9 @@ public sealed class EmpDisabledComponent : Component [DataField("effectCoolDown"), ViewVariables(VVAccess.ReadWrite)] public float EffectCooldown = 3f; + [DataField("ignored"), ViewVariables(VVAccess.ReadWrite)] + public bool Ignored = false; + /// /// When next effect will be spawned /// diff --git a/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml b/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml index a4f0f17290a..3bdab73e958 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Power/apc.yml @@ -7,4 +7,5 @@ - type: Battery maxCharge: 50000 startingCharge: 50000 - - type: EmpIgnore \ No newline at end of file + - type: Apc + apcIgnoreEmp: true \ No newline at end of file From c69eee804b0bf44d2d1a5562b0efbba47547e0ff Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 26 Jul 2023 00:25:59 +0300 Subject: [PATCH 09/24] EMP --- .../_NF/M_Emp/M_EmpGeneratorComponent.cs | 16 ++-- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 74 +++++++------------ Resources/Locale/en-US/m_emp/m_emp-system.ftl | 16 ++-- 3 files changed, 43 insertions(+), 63 deletions(-) diff --git a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs index 44ac6bde5ea..98822d7229b 100644 --- a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs +++ b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs @@ -25,7 +25,7 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent /// [ViewVariables(VVAccess.ReadWrite)] [DataField("baseActivatingTime")] - public TimeSpan BaseActivatingTime = TimeSpan.FromSeconds(10); + public TimeSpan BaseActivatingTime = TimeSpan.FromSeconds(5); /// /// How long it actually takes for the generator to pull in the debris @@ -38,22 +38,22 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent /// How long the generator can hold the debris until it starts losing the lock /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("holdTime")] - public TimeSpan HoldTime = TimeSpan.FromSeconds(60); + [DataField("engagedTime")] + public TimeSpan EngagedTime = TimeSpan.FromSeconds(60); /// /// How long the generator can hold the debris while losing the lock /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("detachingTime")] - public TimeSpan DetachingTime = TimeSpan.FromSeconds(10); + [DataField("coolingDownTime")] + public TimeSpan CoolingDownTime = TimeSpan.FromSeconds(60); /// /// How long the generator has to cool down for after use /// [ViewVariables(VVAccess.ReadWrite)] [DataField("baseCooldownTime")] - public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(10); + public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(60); /// /// How long the generator actually has to cool down for after use @@ -103,8 +103,8 @@ public enum GeneratorStateType { Inactive, Activating, - Holding, - Detaching, + Engaged, CoolingDown, + Recharging, } } diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index e3378c73669..aadb923bd22 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -10,16 +10,11 @@ using Robust.Server.GameObjects; using Robust.Shared.Configuration; using Robust.Shared.Map; -using Robust.Shared.Player; using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Utility; using Content.Server.Chat.Managers; -using Content.Server.Parallax; -using Content.Server.Procedural; using Content.Server.Station.Systems; -using Content.Shared.CCVar; -using Robust.Server.Maps; using Robust.Shared.Timing; using Content.Server.Emp; @@ -30,13 +25,7 @@ public sealed partial class M_EmpSystem : EntitySystem [Dependency] private readonly IChatManager _chat = default!; [Dependency] private readonly IConfigurationManager _configurationManager = default!; [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly ITileDefinitionManager _tileDefManager = default!; - [Dependency] private readonly BiomeSystem _biome = default!; - [Dependency] private readonly DungeonSystem _dungeon = default!; - [Dependency] private readonly MapLoaderSystem _map = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly RadioSystem _radioSystem = default!; [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; @@ -62,9 +51,6 @@ public override void Initialize() // Can't use RoundRestartCleanupEvent, I need to clean up before the grid, and components are gone to prevent the announcements SubscribeLocalEvent(OnRoundEnd); - -// InitializeExpeditions(); -// InitializeRunner(); } public override void Shutdown() @@ -86,9 +72,9 @@ private void UpdateAppearance(EntityUid uid, M_EmpGeneratorComponent? component return; _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.ReadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Activating); - _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Ready, component.GeneratorState.StateType == GeneratorStateType.Holding); - _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Unready, component.GeneratorState.StateType == GeneratorStateType.CoolingDown); - _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.UnreadyBlinking, component.GeneratorState.StateType == GeneratorStateType.Detaching); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Ready, component.GeneratorState.StateType == GeneratorStateType.Engaged); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.Unready, component.GeneratorState.StateType == GeneratorStateType.Recharging); + _appearanceSystem.SetData(uid, M_EmpGeneratorVisuals.UnreadyBlinking, component.GeneratorState.StateType == GeneratorStateType.CoolingDown); } private void UpdateChargeStateAppearance(EntityUid uid, TimeSpan currentTime, M_EmpGeneratorComponent? component = null) @@ -101,9 +87,9 @@ private void UpdateChargeStateAppearance(EntityUid uid, TimeSpan currentTime, M_ component.ChargeRemaining = component.GeneratorState.StateType switch { GeneratorStateType.Inactive => 5, - GeneratorStateType.Holding => timeLeft / (Convert.ToInt32(component.HoldTime.TotalSeconds) / component.ChargeCapacity) + 1, - GeneratorStateType.Detaching => 0, - GeneratorStateType.CoolingDown => component.ChargeCapacity - timeLeft / (Convert.ToInt32(component.CooldownTime.TotalSeconds) / component.ChargeCapacity) - 1, + GeneratorStateType.Engaged => timeLeft / (Convert.ToInt32(component.EngagedTime.TotalSeconds) / component.ChargeCapacity) + 1, + GeneratorStateType.CoolingDown => 0, + GeneratorStateType.Recharging => component.ChargeCapacity - timeLeft / (Convert.ToInt32(component.CooldownTime.TotalSeconds) / component.ChargeCapacity) - 1, _ => component.ChargeRemaining }; @@ -185,14 +171,14 @@ private void OnExamined(EntityUid uid, M_EmpGeneratorComponent component, Examin case GeneratorStateType.Activating: args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-starting")); break; - case GeneratorStateType.Detaching: - args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-releasing")); - break; case GeneratorStateType.CoolingDown: + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-cooling-down")); + break; + case GeneratorStateType.Recharging: if (gotGrid) - args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-cooling-down", ("timeLeft", Math.Ceiling(remainingTime.TotalSeconds)))); + args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-recharging", ("timeLeft", Math.Ceiling(remainingTime.TotalSeconds)))); break; - case GeneratorStateType.Holding: + case GeneratorStateType.Engaged: if (gotGrid) args.PushMarkup(Loc.GetString("m_emp-system-generator-examined-active", ("timeLeft", Math.Ceiling(remainingTime.TotalSeconds)))); break; @@ -230,12 +216,12 @@ private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, En Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); break; case GeneratorStateType.Activating: - case GeneratorStateType.Holding: + case GeneratorStateType.Engaged: ShowPopup(uid, "m_emp-system-report-already-active", user); break; - case GeneratorStateType.Detaching: case GeneratorStateType.CoolingDown: - ShowPopup(uid, "m_emp-system-report-cooling-down", user); + case GeneratorStateType.Recharging: + ShowPopup(uid, "m_emp-system-report-recharging", user); break; default: throw new ArgumentOutOfRangeException(); @@ -248,14 +234,13 @@ private void ShowPopup(EntityUid uid, string messageKey, EntityUid user) private bool SpawnM_Emp(EntityUid uid, M_EmpGeneratorComponent component) { - EntityUid? salvageEnt; - - Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.HoldTime.TotalSeconds)); + Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.EngagedTime.TotalSeconds)); var empRange = 100; - var EmpEnergyConsumption = 50000; - var EmpDisabledDuration = 60; - _emp.EmpPulse(Transform(uid).MapPosition, empRange, EmpEnergyConsumption, EmpDisabledDuration); + var empEnergyConsumption = 50000; + var empDisabledDuration = 60; + + _emp.EmpPulse(Transform(uid).MapPosition, empRange, empEnergyConsumption, empDisabledDuration); return true; } @@ -274,22 +259,22 @@ private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSp case GeneratorStateType.Activating: if (SpawnM_Emp(uid, generator)) { - generator.GeneratorState = new GeneratorState(GeneratorStateType.Holding, currentTime + generator.HoldTime); + generator.GeneratorState = new GeneratorState(GeneratorStateType.Engaged, currentTime + generator.EngagedTime); } else { - generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); + generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.CooldownTime); } break; - case GeneratorStateType.Holding: - Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-cooling-down", ("timeLeft", generator.DetachingTime.TotalSeconds)); - generator.GeneratorState = new GeneratorState(GeneratorStateType.Detaching, currentTime + generator.DetachingTime); - break; - case GeneratorStateType.Detaching: - Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-lost"); - generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CooldownTime); + case GeneratorStateType.Engaged: + Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-cooling-down", ("timeLeft", generator.CoolingDownTime.TotalSeconds)); + generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CoolingDownTime); break; case GeneratorStateType.CoolingDown: + Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-recharging"); + generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.CooldownTime); + break; + case GeneratorStateType.Recharging: generator.GeneratorState = GeneratorState.Inactive; break; } @@ -330,9 +315,6 @@ public override void Update(float frameTime) state.ActiveGenerators.Remove(generator); } } - -// UpdateExpeditions(); -// UpdateRunner(); } } diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp-system.ftl index b7f9778135d..62168849fe0 100644 --- a/Resources/Locale/en-US/m_emp/m_emp-system.ftl +++ b/Resources/Locale/en-US/m_emp/m_emp-system.ftl @@ -1,21 +1,19 @@ m_emp-system-announcement-source = M_EMP Generator System -m_emp-system-announcement-active = M_EMP generator activated. Estimated EMP time: {$timeLeft} seconds. -m_emp-system-announcement-cooling-down = The M_EMP geneartor EMP effect is no longer active. Estimated time until EMP cooldown: {$timeLeft} seconds. -m_emp-system-announcement-lost = The M_EMP generator charging up. - -m_emp-system-announcement-spawn-generator-lost = The M_EMP Generator has been lost. +m_emp-system-announcement-active = Activated. Estimated EMP: {$timeLeft} seconds. +m_emp-system-announcement-cooling-down = EMP effect is no longer active. Estimated Recharging: {$timeLeft} seconds. +m_emp-system-announcement-recharging = Recharging. m_emp-system-report-already-active = The M_EMP Generator is already active. m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. -m_emp-system-report-activate-success = The M_EMP Generator on targetGrid at LOCATION is starting up! +m_emp-system-report-activate-success = The M_EMP Generator pulse on GRID at CORDS! m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. m_emp-system-generator-examined-starting = The M_EMP Generator is starting up. -m_emp-system-generator-examined-active = The M_EMP Generator is holding m_emp in place. Can hold for { $timeLeft -> +m_emp-system-generator-examined-active = The M_EMP active. EMP will last { $timeLeft -> [1] one second. *[other] { $timeLeft } seconds. } -m_emp-system-generator-examined-releasing = The M_EMP Generator is releasing the m_emp. -m_emp-system-generator-examined-cooling-down = The M_EMP Generator is cooling down. It will be ready in: {$timeLeft} seconds. +m_emp-system-generator-examined-cooling-down = Cooling down. +m_emp-system-generator-examined-recharging = Recharging. Ready in: {$timeLeft} seconds. m_emp-system-generator-delay-upgrade = Attaching/cooldown delay From eb4c0d3a596c953e922089d5658397fdd76db6e5 Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 26 Jul 2023 02:36:30 +0300 Subject: [PATCH 10/24] EMP --- Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs | 12 ++++++------ Content.Server/_NF/M_Emp/M_EmpSystem.cs | 8 +++++++- .../_NF/M_Emp/SharedM_EmpGeneratorComponent.cs | 5 +++++ Resources/Locale/en-US/m_emp/m_emp-system.ftl | 4 ++-- .../Entities/Structures/Machines/m_emp.yml | 2 +- .../Structures/Machines/m_emp.rsi/m_emp-o0.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-o1.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-o2.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-o3.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-o4.png | Bin .../Machines/m_emp.rsi/m_emp-ready-blinking.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-ready.png | Bin .../Machines/m_emp.rsi/m_emp-unready-blinking.png | Bin .../Structures/Machines/m_emp.rsi/m_emp-unready.png | Bin .../Structures/Machines/m_emp.rsi/m_emp.png | Bin .../Structures/Machines/m_emp.rsi/meta.json | 0 16 files changed, 21 insertions(+), 10 deletions(-) rename Resources/Prototypes/{ => _NF}/Entities/Structures/Machines/m_emp.yml (98%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-o0.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-o1.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-o2.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-o3.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-o4.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-ready.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp-unready.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/m_emp.png (100%) rename Resources/Textures/{ => _NF}/Structures/Machines/m_emp.rsi/meta.json (100%) diff --git a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs index 98822d7229b..76a4f9c6bff 100644 --- a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs +++ b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs @@ -21,28 +21,28 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent public GeneratorState GeneratorState = GeneratorState.Inactive; /// - /// How long it takes for the generator to pull in the debris + /// How long it takes for the generator to EMP /// [ViewVariables(VVAccess.ReadWrite)] [DataField("baseActivatingTime")] - public TimeSpan BaseActivatingTime = TimeSpan.FromSeconds(5); + public TimeSpan BaseActivatingTime = TimeSpan.FromSeconds(3.5); /// - /// How long it actually takes for the generator to pull in the debris + /// How long it actually takes for the generator to EMP /// [ViewVariables(VVAccess.ReadWrite)] [DataField("activatingTime")] - public TimeSpan ActivatingTime = TimeSpan.FromSeconds(10); + public TimeSpan ActivatingTime = TimeSpan.FromSeconds(3.5); /// - /// How long the generator can hold the debris until it starts losing the lock + /// How long the generator EMP is working /// [ViewVariables(VVAccess.ReadWrite)] [DataField("engagedTime")] public TimeSpan EngagedTime = TimeSpan.FromSeconds(60); /// - /// How long the generator can hold the debris while losing the lock + /// How long the generator Cooling Down /// [ViewVariables(VVAccess.ReadWrite)] [DataField("coolingDownTime")] diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index aadb923bd22..40c060a2072 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -211,6 +211,8 @@ private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, En } gridState.ActiveGenerators.Add(uid); + PlayActivatedSound(uid, component); + component.GeneratorState = new GeneratorState(GeneratorStateType.Activating, gridState.CurrentTime + component.ActivatingTime); RaiseLocalEvent(new M_EmpGeneratorActivatedEvent(uid)); Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); @@ -271,7 +273,7 @@ private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSp generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CoolingDownTime); break; case GeneratorStateType.CoolingDown: - Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-recharging"); + //Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-recharging"); //Less chat spam generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.CooldownTime); break; case GeneratorStateType.Recharging: @@ -316,6 +318,10 @@ public override void Update(float frameTime) } } } + private void PlayActivatedSound(EntityUid uid, SharedM_EmpGeneratorComponent component) + { + _audio.PlayPvs(_audio.GetSound(component.ActivatedSound), uid); + } } public sealed class M_EmpGridState diff --git a/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs b/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs index 5049891d081..c5abcf44b27 100644 --- a/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs +++ b/Content.Shared/_NF/M_Emp/SharedM_EmpGeneratorComponent.cs @@ -2,6 +2,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Robust.Shared.Audio; namespace Content.Shared._NF.M_Emp; @@ -18,6 +19,10 @@ public abstract class SharedM_EmpGeneratorComponent : Component /// [DataField("partRatingDelay"), ViewVariables(VVAccess.ReadWrite)] public float PartRatingDelay = 0.75f; + + [DataField("activatedSound")] + public SoundSpecifier ActivatedSound = + new SoundPathSpecifier("/Audio/Effects/countdown.ogg"); } [Serializable, NetSerializable] diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp-system.ftl index 62168849fe0..ff3222329c1 100644 --- a/Resources/Locale/en-US/m_emp/m_emp-system.ftl +++ b/Resources/Locale/en-US/m_emp/m_emp-system.ftl @@ -5,7 +5,7 @@ m_emp-system-announcement-recharging = Recharging. m_emp-system-report-already-active = The M_EMP Generator is already active. m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. -m_emp-system-report-activate-success = The M_EMP Generator pulse on GRID at CORDS! +m_emp-system-report-activate-success = The M_EMP Generator engaging on GRID at CORDS! m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. m_emp-system-generator-examined-starting = The M_EMP Generator is starting up. @@ -15,5 +15,5 @@ m_emp-system-generator-examined-active = The M_EMP active. EMP will last { $time } m_emp-system-generator-examined-cooling-down = Cooling down. m_emp-system-generator-examined-recharging = Recharging. Ready in: {$timeLeft} seconds. -m_emp-system-generator-delay-upgrade = Attaching/cooldown delay +m_emp-system-generator-delay-upgrade = Cooling down / Recharging speed diff --git a/Resources/Prototypes/Entities/Structures/Machines/m_emp.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml similarity index 98% rename from Resources/Prototypes/Entities/Structures/Machines/m_emp.yml rename to Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml index 7c133ce2d10..e3def20ab61 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/m_emp.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml @@ -5,7 +5,7 @@ description: Mobile EMP generator. components: - type: Sprite - sprite: Structures/Machines/m_emp.rsi + sprite: _NF/Structures/Machines/m_emp.rsi layers: - state: m_emp - state: m_emp-ready diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o0.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o0.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o0.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o0.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o1.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o1.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o1.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o1.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o2.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o2.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o2.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o2.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o3.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o3.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o3.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o3.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o4.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o4.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-o4.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-o4.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-ready-blinking.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-ready.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-ready.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-ready.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-unready-blinking.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-unready.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp-unready.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp-unready.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/m_emp.png b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp.png similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/m_emp.png rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/m_emp.png diff --git a/Resources/Textures/Structures/Machines/m_emp.rsi/meta.json b/Resources/Textures/_NF/Structures/Machines/m_emp.rsi/meta.json similarity index 100% rename from Resources/Textures/Structures/Machines/m_emp.rsi/meta.json rename to Resources/Textures/_NF/Structures/Machines/m_emp.rsi/meta.json From 943087763239464d3573f0c6b2a4407cc969fd7f Mon Sep 17 00:00:00 2001 From: Dvir Date: Thu, 27 Jul 2023 18:16:45 +0300 Subject: [PATCH 11/24] EMP --- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 7 ++++++- Resources/Locale/en-US/m_emp/m_emp-system.ftl | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index 40c060a2072..6b93211be80 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -215,7 +215,12 @@ private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, En component.GeneratorState = new GeneratorState(GeneratorStateType.Activating, gridState.CurrentTime + component.ActivatingTime); RaiseLocalEvent(new M_EmpGeneratorActivatedEvent(uid)); - Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); + + var station = _station.GetOwningStation(uid); + var stationName = station is null ? null : Name(station.Value); + + Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success", ("grid", stationName)); + break; case GeneratorStateType.Activating: case GeneratorStateType.Engaged: diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp-system.ftl index ff3222329c1..0142a0646ff 100644 --- a/Resources/Locale/en-US/m_emp/m_emp-system.ftl +++ b/Resources/Locale/en-US/m_emp/m_emp-system.ftl @@ -5,7 +5,7 @@ m_emp-system-announcement-recharging = Recharging. m_emp-system-report-already-active = The M_EMP Generator is already active. m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. -m_emp-system-report-activate-success = The M_EMP Generator engaging on GRID at CORDS! +m_emp-system-report-activate-success = The M_EMP Generator engaging on {$grid}! m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. m_emp-system-generator-examined-starting = The M_EMP Generator is starting up. From 84002c3a9ed55e5466bb8d1fd5d10a8634fe1ceb Mon Sep 17 00:00:00 2001 From: Dvir Date: Fri, 28 Jul 2023 02:33:37 +0300 Subject: [PATCH 12/24] EMP --- ...eneratorComponent.cs => M_EmpComponent.cs} | 5 ++- .../_NF/M_Emp/M_EmpGeneratorComponent.cs | 20 +++++---- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 41 +++++++++++++------ .../_NF/M_Emp/SharedM_EmpComponent.cs | 13 ++++++ .../_NF/machine-linking/receiver_ports.ftl | 2 + .../m_emp/{m_emp-system.ftl => m_emp.ftl} | 4 +- .../_NF/DeviceLinking/sink_ports.yml | 4 ++ .../_NF/DeviceLinking/source_ports.yml | 0 .../Entities/Structures/Machines/m_emp.yml | 12 +++++- .../_NF/MachineLinking/transmitter_ports.yml | 0 10 files changed, 76 insertions(+), 25 deletions(-) rename Content.Client/_NF/M_Emp/{M_EmpGeneratorComponent.cs => M_EmpComponent.cs} (62%) create mode 100644 Content.Shared/_NF/M_Emp/SharedM_EmpComponent.cs create mode 100644 Resources/Locale/en-US/_NF/machine-linking/receiver_ports.ftl rename Resources/Locale/en-US/m_emp/{m_emp-system.ftl => m_emp.ftl} (92%) create mode 100644 Resources/Prototypes/_NF/DeviceLinking/sink_ports.yml create mode 100644 Resources/Prototypes/_NF/DeviceLinking/source_ports.yml create mode 100644 Resources/Prototypes/_NF/MachineLinking/transmitter_ports.yml diff --git a/Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs b/Content.Client/_NF/M_Emp/M_EmpComponent.cs similarity index 62% rename from Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs rename to Content.Client/_NF/M_Emp/M_EmpComponent.cs index dd6d3dfa14d..18a740975cd 100644 --- a/Content.Client/_NF/M_Emp/M_EmpGeneratorComponent.cs +++ b/Content.Client/_NF/M_Emp/M_EmpComponent.cs @@ -1,5 +1,8 @@ using Content.Shared._NF.M_Emp; using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; [NetworkedComponent, RegisterComponent] -public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent { } +public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent +{ +} diff --git a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs index 76a4f9c6bff..65b6513e316 100644 --- a/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs +++ b/Content.Server/_NF/M_Emp/M_EmpGeneratorComponent.cs @@ -1,5 +1,4 @@ using Content.Shared.Radio; -using Content.Shared.Random; using Content.Shared._NF.M_Emp; using Robust.Shared.GameStates; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; @@ -45,22 +44,29 @@ public sealed class M_EmpGeneratorComponent : SharedM_EmpGeneratorComponent /// How long the generator Cooling Down /// [ViewVariables(VVAccess.ReadWrite)] + [DataField("baseCoolingDownTime")] + public TimeSpan BaseCoolingDownTime = TimeSpan.FromSeconds(60); + + /// + /// How long the generator actually has to cooldown after use + /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("coolingDownTime")] public TimeSpan CoolingDownTime = TimeSpan.FromSeconds(60); /// - /// How long the generator has to cool down for after use + /// How long the generator has to recharge after use /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("baseCooldownTime")] - public TimeSpan BaseCooldownTime = TimeSpan.FromSeconds(60); + [DataField("baseRecharging")] + public TimeSpan BaseRecharging = TimeSpan.FromSeconds(60); /// - /// How long the generator actually has to cool down for after use + /// How long the generator actually has to recharge after use /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("cooldownTime")] - public TimeSpan CooldownTime = TimeSpan.FromSeconds(60); + [DataField("Recharging")] + public TimeSpan Recharging = TimeSpan.FromSeconds(60); [DataField("M_EmpChannel", customTypeSerializer: typeof(PrototypeIdSerializer))] public string M_EmpChannel = "Security"; diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index 6b93211be80..2c9a7a0bc37 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -11,12 +11,18 @@ using Robust.Shared.Configuration; using Robust.Shared.Map; using Robust.Shared.Prototypes; -using Robust.Shared.Random; using Robust.Shared.Utility; using Content.Server.Chat.Managers; using Content.Server.Station.Systems; using Robust.Shared.Timing; using Content.Server.Emp; +using Content.Shared.DeviceLinking; +using Content.Server.DeviceLinking.Systems; + +// TO ANYONE LOOKING AT THIS CODE, IM SORRY +// This code was reused for the salvage magnet and is a mess right now as it is, it has no known issues with it as for now but its not cleaned as it sould be. +// If you know what you are doing, fix this please to look "usable" +// - Dvir01 namespace Content.Server._NF.M_Emp { @@ -34,6 +40,7 @@ public sealed partial class M_EmpSystem : EntitySystem [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly UserInterfaceSystem _ui = default!; [Dependency] private readonly EmpSystem _emp = default!; + [Dependency] private readonly DeviceLinkSystem _linker = default!; // TODO: This is probably not compatible with multi-station private readonly Dictionary _M_EmpGridStates = new(); @@ -42,6 +49,7 @@ public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnInit); // TODO make this function later SubscribeLocalEvent(OnInteractHand); SubscribeLocalEvent(OnRefreshParts); SubscribeLocalEvent(OnUpgradeExamine); @@ -89,7 +97,7 @@ private void UpdateChargeStateAppearance(EntityUid uid, TimeSpan currentTime, M_ GeneratorStateType.Inactive => 5, GeneratorStateType.Engaged => timeLeft / (Convert.ToInt32(component.EngagedTime.TotalSeconds) / component.ChargeCapacity) + 1, GeneratorStateType.CoolingDown => 0, - GeneratorStateType.Recharging => component.ChargeCapacity - timeLeft / (Convert.ToInt32(component.CooldownTime.TotalSeconds) / component.ChargeCapacity) - 1, + GeneratorStateType.Recharging => component.ChargeCapacity - timeLeft / (Convert.ToInt32(component.Recharging.TotalSeconds) / component.ChargeCapacity) - 1, _ => component.ChargeRemaining }; @@ -135,13 +143,13 @@ private void OnRefreshParts(EntityUid uid, M_EmpGeneratorComponent component, Re { var rating = args.PartRatings[component.MachinePartDelay] - 1; var factor = MathF.Pow(component.PartRatingDelay, rating); - component.ActivatingTime = component.BaseActivatingTime * factor; - component.CooldownTime = component.BaseCooldownTime * factor; + component.CoolingDownTime = component.BaseCoolingDownTime * factor; + component.Recharging = component.BaseRecharging * factor; } private void OnUpgradeExamine(EntityUid uid, M_EmpGeneratorComponent component, UpgradeExamineEvent args) { - args.AddPercentageUpgrade("m_emp-system-generator-delay-upgrade", (float) (component.CooldownTime / component.BaseCooldownTime)); + args.AddPercentageUpgrade("m_emp-system-generator-delay-upgrade", (float) (component.Recharging / component.BaseRecharging)); } private void OnExamined(EntityUid uid, M_EmpGeneratorComponent component, ExaminedEvent args) @@ -196,6 +204,11 @@ private void OnInteractHand(EntityUid uid, M_EmpGeneratorComponent component, In UpdateAppearance(uid, component); } + private void OnInit(EntityUid uid, SharedM_EmpComponent component, ComponentInit args) + { + _linker.EnsureSinkPorts(uid, component.ReceiverPort); + } + private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, EntityUid user) { switch (component.GeneratorState.StateType) @@ -216,10 +229,7 @@ private void StartGenerator(EntityUid uid, M_EmpGeneratorComponent component, En component.GeneratorState = new GeneratorState(GeneratorStateType.Activating, gridState.CurrentTime + component.ActivatingTime); RaiseLocalEvent(new M_EmpGeneratorActivatedEvent(uid)); - var station = _station.GetOwningStation(uid); - var stationName = station is null ? null : Name(station.Value); - - Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success", ("grid", stationName)); + //Report(uid, component.M_EmpChannel, "m_emp-system-report-activate-success"); Removed to lower spam break; case GeneratorStateType.Activating: @@ -241,7 +251,12 @@ private void ShowPopup(EntityUid uid, string messageKey, EntityUid user) private bool SpawnM_Emp(EntityUid uid, M_EmpGeneratorComponent component) { - Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.EngagedTime.TotalSeconds)); + var station = _station.GetOwningStation(uid); + var stationName = station is null ? null : Name(station.Value); + +#pragma warning disable CS8620 // TODO need to fix it later, this is not creating an actual error + Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.EngagedTime.TotalSeconds), ("grid", stationName)); +#pragma warning restore CS8620 // TODO need to fix it later, this is not creating an actual error var empRange = 100; var empEnergyConsumption = 50000; @@ -270,7 +285,7 @@ private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSp } else { - generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.CooldownTime); + generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.Recharging); } break; case GeneratorStateType.Engaged: @@ -278,8 +293,8 @@ private void Transition(EntityUid uid, M_EmpGeneratorComponent generator, TimeSp generator.GeneratorState = new GeneratorState(GeneratorStateType.CoolingDown, currentTime + generator.CoolingDownTime); break; case GeneratorStateType.CoolingDown: - //Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-recharging"); //Less chat spam - generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.CooldownTime); + //Report(uid, generator.M_EmpChannel, "m_emp-system-announcement-recharging"); // Less chat spam + generator.GeneratorState = new GeneratorState(GeneratorStateType.Recharging, currentTime + generator.Recharging); break; case GeneratorStateType.Recharging: generator.GeneratorState = GeneratorState.Inactive; diff --git a/Content.Shared/_NF/M_Emp/SharedM_EmpComponent.cs b/Content.Shared/_NF/M_Emp/SharedM_EmpComponent.cs new file mode 100644 index 00000000000..0f93204cb61 --- /dev/null +++ b/Content.Shared/_NF/M_Emp/SharedM_EmpComponent.cs @@ -0,0 +1,13 @@ +using Content.Shared._NF.M_Emp; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Content.Shared.MachineLinking; + +namespace Content.Shared._NF.M_Emp; + +[NetworkedComponent, RegisterComponent] +public sealed class SharedM_EmpComponent : Component +{ + [DataField("receiverPort", customTypeSerializer: typeof(PrototypeIdSerializer)), ViewVariables(VVAccess.ReadWrite)] + public string ReceiverPort = "M_Emp"; +} diff --git a/Resources/Locale/en-US/_NF/machine-linking/receiver_ports.ftl b/Resources/Locale/en-US/_NF/machine-linking/receiver_ports.ftl new file mode 100644 index 00000000000..90da17cdf23 --- /dev/null +++ b/Resources/Locale/en-US/_NF/machine-linking/receiver_ports.ftl @@ -0,0 +1,2 @@ +signal-port-name-m_emp = M_EMP +signal-port-description-m_emp = Activate the device. \ No newline at end of file diff --git a/Resources/Locale/en-US/m_emp/m_emp-system.ftl b/Resources/Locale/en-US/m_emp/m_emp.ftl similarity index 92% rename from Resources/Locale/en-US/m_emp/m_emp-system.ftl rename to Resources/Locale/en-US/m_emp/m_emp.ftl index 0142a0646ff..4949388230a 100644 --- a/Resources/Locale/en-US/m_emp/m_emp-system.ftl +++ b/Resources/Locale/en-US/m_emp/m_emp.ftl @@ -1,11 +1,11 @@ m_emp-system-announcement-source = M_EMP Generator System -m_emp-system-announcement-active = Activated. Estimated EMP: {$timeLeft} seconds. +m_emp-system-announcement-active = Engaging on {$grid}. EMP: {$timeLeft} seconds. m_emp-system-announcement-cooling-down = EMP effect is no longer active. Estimated Recharging: {$timeLeft} seconds. m_emp-system-announcement-recharging = Recharging. m_emp-system-report-already-active = The M_EMP Generator is already active. m_emp-system-report-cooling-down = The M_EMP Generator is cooling down. -m_emp-system-report-activate-success = The M_EMP Generator engaging on {$grid}! +m_emp-system-report-activate-success = The M_EMP Generator engaging! m_emp-system-generator-examined-inactive = The M_EMP Generator is inactive. m_emp-system-generator-examined-starting = The M_EMP Generator is starting up. diff --git a/Resources/Prototypes/_NF/DeviceLinking/sink_ports.yml b/Resources/Prototypes/_NF/DeviceLinking/sink_ports.yml new file mode 100644 index 00000000000..7523787a58c --- /dev/null +++ b/Resources/Prototypes/_NF/DeviceLinking/sink_ports.yml @@ -0,0 +1,4 @@ +- type: sinkPort + id: M_Emp + name: signal-port-name-m_emp + description: signal-port-description-m_emp \ No newline at end of file diff --git a/Resources/Prototypes/_NF/DeviceLinking/source_ports.yml b/Resources/Prototypes/_NF/DeviceLinking/source_ports.yml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml index e3def20ab61..b073361de92 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/m_emp.yml @@ -59,6 +59,14 @@ - Security - type: M_EmpGenerator - type: ApcPowerReceiver - powerLoad: 100 # TODO change this to a HV power draw that really hits the grid hard WHEN active + powerLoad: 2500 # TODO change this to a HV power draw that really hits the grid hard WHEN active - type: Machine - board: M_EmpMachineCircuitboard \ No newline at end of file + board: M_EmpMachineCircuitboard + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: BasicDevice + - type: WirelessNetworkConnection + range: 200 + - type: DeviceLinkSink + ports: + - M_Emp \ No newline at end of file diff --git a/Resources/Prototypes/_NF/MachineLinking/transmitter_ports.yml b/Resources/Prototypes/_NF/MachineLinking/transmitter_ports.yml new file mode 100644 index 00000000000..e69de29bb2d From ce54ec63499b053350b9476844ccb0da7feee3a2 Mon Sep 17 00:00:00 2001 From: Dvir Date: Fri, 28 Jul 2023 20:11:19 +0300 Subject: [PATCH 13/24] EMP --- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 2 +- .../Locale/en-US/_NF/store/uplink-catalog.ftl | 2 + .../Catalog/Fills/Boxes/ammunition.yml | 4 +- .../Weapons/Guns/Ammunition/Boxes/pistol.yml | 4 +- .../Guns/Ammunition/Cartridges/pistol.yml | 2 +- .../Guns/Ammunition/Magazines/pistol.yml | 2 +- .../Guns/Ammunition/Projectiles/pistol.yml | 3 +- .../Weapons/Guns/Ammunition/explosives.yml | 35 ---------- .../Weapons/Guns/Battery/battery_guns.yml | 35 ---------- .../Weapons/Guns/Projectiles/projectiles.yml | 2 +- .../_NF/Catalog/Fills/Backpacks/duffelbag.yml | 11 ++++ .../Prototypes/_NF/Catalog/uplink_catalog.yml | 10 +++ .../Weapons/Ammunition/Boxes/pistol.yml | 0 .../Weapons/Ammunition/Cartridges/pistol.yml | 0 .../Weapons/Ammunition/Magazines/pistol.yml | 0 .../Weapons/Ammunition/Projectiles/pistol.yml | 0 .../Objects/Weapons/Ammunition/explosives.yml | 38 +++++++++++ .../Weapons/Guns/Battery/battery_guns.yml | 34 ++++++++++ .../Weapons/Guns/Launchers/launchers.yml | 65 +++++++++++++++++++ .../Weapons/Guns/Projectiles/projectiles.yml | 0 20 files changed, 170 insertions(+), 79 deletions(-) create mode 100644 Resources/Locale/en-US/_NF/store/uplink-catalog.ftl create mode 100644 Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag.yml create mode 100644 Resources/Prototypes/_NF/Catalog/uplink_catalog.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Boxes/pistol.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Cartridges/pistol.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Magazines/pistol.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Projectiles/pistol.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/explosives.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Launchers/launchers.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index 2c9a7a0bc37..d5fd68ef916 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -20,7 +20,7 @@ using Content.Server.DeviceLinking.Systems; // TO ANYONE LOOKING AT THIS CODE, IM SORRY -// This code was reused for the salvage magnet and is a mess right now as it is, it has no known issues with it as for now but its not cleaned as it sould be. +// This code was reused for the salvage magnet and is a mess right now as it is, it has no known issues with, I hope, but its not cleaned as it sould be. // If you know what you are doing, fix this please to look "usable" // - Dvir01 diff --git a/Resources/Locale/en-US/_NF/store/uplink-catalog.ftl b/Resources/Locale/en-US/_NF/store/uplink-catalog.ftl new file mode 100644 index 00000000000..89f0c2cf6c2 --- /dev/null +++ b/Resources/Locale/en-US/_NF/store/uplink-catalog.ftl @@ -0,0 +1,2 @@ +uplink-emp-grenade-launcher-bundle-name = EMP China-Lake Bundle +uplink-emp-grenade-launcher-bundle-desc = An old China-Lake grenade launcher bundled with 8 rounds of EMP. \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml index a02b7bbb59b..cd8b5f463b6 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml @@ -307,12 +307,12 @@ - type: entity name: box of SMG .35 auto (emp) magazines parent: BoxMagazine - id: BoxMagazinePistolSubMachineGunEMP + id: BoxMagazinePistolSubMachineGunEmp description: A box full of SMG .35 auto (emp) magazines. components: - type: StorageFill contents: - - id: MagazinePistolSubMachineGunEMP + - id: MagazinePistolSubMachineGunEmp amount: 3 # Shotgun diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index 0e8e6d069e9..b386ee67ac5 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -85,8 +85,8 @@ - state: rubber - type: entity - id: MagazineBoxPistolIncendiary parent: BaseMagazineBoxPistol + id: MagazineBoxPistolIncendiary name: ammunition box (.35 auto incendiary) components: - type: BallisticAmmoProvider @@ -112,4 +112,4 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - - state: emp \ No newline at end of file + - state: emp diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml index 936c702b767..c7590865aec 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml @@ -66,4 +66,4 @@ parent: BaseCartridgePistol components: - type: CartridgeAmmo - proto: BulletPistolEmp \ No newline at end of file + proto: BulletPistolEmp diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index 93b7420c638..83b68c37eb2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -314,4 +314,4 @@ - state: rubber map: ["enum.GunVisualLayers.Base"] - state: mag-1 - map: ["enum.GunVisualLayers.Mag"] \ No newline at end of file + map: ["enum.GunVisualLayers.Mag"] diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml index 0be43ee4ce2..994cb5acb63 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml @@ -59,4 +59,5 @@ parent: BaseBulletEmp noSpawn: true components: - - type: Projectile \ No newline at end of file + - type: Projectile + diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml index f2edfb68b4b..56d420cb33c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/explosives.yml @@ -135,38 +135,3 @@ - type: Sprite sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi state: ball - -- type: entity - id: GrenadeEmp - name: emp grenade - parent: BaseGrenade - components: - - type: CartridgeAmmo - proto: BulletGrenadeEmp - - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi - layers: - - state: emp - map: ["enum.AmmoVisualLayers.Base"] - - type: Appearance - - type: SpentAmmoVisuals - state: emp - suffix: false - -- type: entity - id: CartridgeRocketEmp - name: PG-7VL emp - parent: BaseItem - description: A 1.5 emp warhead designed for the RPG-7 launcher. Has tubular shape. - components: - - type: Tag - tags: - - CartridgeRocket - - type: Item - size: 5 - - type: CartridgeAmmo - proto: BulletRocketEmp - deleteOnSpawn: true - - type: Sprite - sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi - state: rpg-emp \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 7b48e547fbb..640b606020d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -460,38 +460,3 @@ - type: Appearance - type: StaticPrice price: 750 - -- type: entity - name: emp emitter - parent: BaseWeaponBattery - id: WeaponEmpEmitter - description: Releases electromagnetic pulses that disrupt or damage many electronic devices or drain power cells. - components: - - type: Sprite - sprite: Objects/Weapons/Guns/Battery/xray.rsi - layers: - - state: base - map: ["enum.GunVisualLayers.Base"] - - state: mag-unshaded-0 - map: ["enum.GunVisualLayers.MagUnshaded"] - shader: unshaded - - type: Clothing - sprite: Objects/Weapons/Guns/Battery/xray.rsi - - type: Gun - fireRate: 1 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/laser3.ogg - - type: Battery - maxCharge: 1000 - startingCharge: 1000 - - type: ProjectileBatteryAmmoProvider - proto: ProjectileEmp - fireCost: 1000 - - type: MagazineVisuals - magState: mag - steps: 5 - zeroVisible: true - - type: Appearance \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 22b18a50dd4..38cc45b79cb 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -814,4 +814,4 @@ - type: EmpOnTrigger range: 2 energyConsumption: 50000 - disableDuration: 30 \ No newline at end of file + disableDuration: 30 diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag.yml new file mode 100644 index 00000000000..acd53d4e257 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag.yml @@ -0,0 +1,11 @@ +- type: entity + parent: ClothingBackpackDuffelSyndicateBundle + id: ClothingBackpackDuffelSyndicateFilledEmpGrenadeLauncher + name: China-Lake EMP bundle + description: "An old China-Lake grenade launcher bundled with 8 rounds of EMP." + components: + - type: StorageFill + contents: + - id: WeaponLauncherChinaLakeEmp + - id: GrenadeEmp + amount: 8 diff --git a/Resources/Prototypes/_NF/Catalog/uplink_catalog.yml b/Resources/Prototypes/_NF/Catalog/uplink_catalog.yml new file mode 100644 index 00000000000..f7c196cb41f --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/uplink_catalog.yml @@ -0,0 +1,10 @@ +- type: listing + id: UplinkEmpGrenadeLauncherBundle + name: uplink-emp-grenade-launcher-bundle-name + description: uplink-emp-grenade-launcher-bundle-desc + icon: { sprite: /Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi, state: icon } + productEntity: ClothingBackpackDuffelSyndicateFilledEmpGrenadeLauncher + cost: + Telecrystal: 25 + categories: + - UplinkBundles diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Boxes/pistol.yml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Cartridges/pistol.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Cartridges/pistol.yml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Magazines/pistol.yml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Projectiles/pistol.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Projectiles/pistol.yml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/explosives.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/explosives.yml new file mode 100644 index 00000000000..f41471aa9bc --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/explosives.yml @@ -0,0 +1,38 @@ +# Rockets + +- type: entity + id: CartridgeRocketEmp + name: PG-7VL emp + parent: BaseItem + description: A 1.5 emp warhead designed for the RPG-7 launcher. Has tubular shape. + components: + - type: Tag + tags: + - CartridgeRocket + - type: Item + size: 5 + - type: CartridgeAmmo + proto: BulletRocketEmp + deleteOnSpawn: true + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + state: rpg-emp + +# Grenades + +- type: entity + id: GrenadeEmp + name: emp grenade # Chinalake EMP + parent: BaseGrenade + components: + - type: CartridgeAmmo + proto: BulletGrenadeEmp + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + layers: + - state: emp + map: ["enum.AmmoVisualLayers.Base"] + - type: Appearance + - type: SpentAmmoVisuals + state: emp + suffix: false diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml new file mode 100644 index 00000000000..7f64e8c49e6 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -0,0 +1,34 @@ +- type: entity + name: emp emitter + parent: BaseWeaponBattery + id: WeaponEmpEmitter + description: Releases electromagnetic pulses that disrupt or damage many electronic devices or drain power cells. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/xray.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-0 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/xray.rsi + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser3.ogg + - type: Battery + maxCharge: 1000 + startingCharge: 1000 + - type: ProjectileBatteryAmmoProvider + proto: ProjectileEmp + fireCost: 1000 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: true + - type: Appearance diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Launchers/launchers.yml new file mode 100644 index 00000000000..5ad52d050d9 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -0,0 +1,65 @@ +- type: entity + name: china lake + parent: BaseWeaponLauncher + suffix: EMP + id: WeaponLauncherChinaLakeEmp + description: PLOOP + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi + layers: + - state: icon + map: ["enum.GunVisualLayers.Base"] + - type: Clothing + sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi + - type: AmmoCounter + - type: Gun + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg + - type: BallisticAmmoProvider + whitelist: + tags: + - Grenade + autoCycle: false + capacity: 3 + proto: GrenadeEmp + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + +- type: entity + name: RPG-7 + suffix: EMP + parent: BaseWeaponLauncher + id: WeaponLauncherRocketEmp + description: A modified ancient rocket-propelled grenade launcher. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Launchers/rocket.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-0 + map: ["enum.GunVisualLayers.Mag"] + - type: Clothing + sprite: Objects/Weapons/Guns/Launchers/rocket.rsi + - type: Gun + fireRate: 0.5 + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + - type: BallisticAmmoProvider + whitelist: + tags: + - CartridgeRocket + proto: CartridgeRocketEmp + capacity: 1 + soundInsert: + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg + - type: MagazineVisuals + magState: mag + steps: 2 + zeroVisible: false + - type: Appearance \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml new file mode 100644 index 00000000000..e69de29bb2d From 88a23e435ce2e7de77e41b279248d789c2836485 Mon Sep 17 00:00:00 2001 From: Cheackraze <71046427+Cheackraze@users.noreply.github.com> Date: Sat, 29 Jul 2023 04:39:58 -0400 Subject: [PATCH 14/24] reporting for duty --- Content.Server/_NF/M_Emp/M_EmpSystem.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Content.Server/_NF/M_Emp/M_EmpSystem.cs b/Content.Server/_NF/M_Emp/M_EmpSystem.cs index d5fd68ef916..460e85683ab 100644 --- a/Content.Server/_NF/M_Emp/M_EmpSystem.cs +++ b/Content.Server/_NF/M_Emp/M_EmpSystem.cs @@ -254,9 +254,7 @@ private bool SpawnM_Emp(EntityUid uid, M_EmpGeneratorComponent component) var station = _station.GetOwningStation(uid); var stationName = station is null ? null : Name(station.Value); -#pragma warning disable CS8620 // TODO need to fix it later, this is not creating an actual error - Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.EngagedTime.TotalSeconds), ("grid", stationName)); -#pragma warning restore CS8620 // TODO need to fix it later, this is not creating an actual error + Report(uid, component.M_EmpChannel, "m_emp-system-announcement-active", ("timeLeft", component.EngagedTime.TotalSeconds), ("grid", stationName!)); var empRange = 100; var empEnergyConsumption = 50000; From f10d1d6e24ff1da15ad409248d6553fdcacfa790 Mon Sep 17 00:00:00 2001 From: Banshee Date: Sat, 29 Jul 2023 03:43:42 -0500 Subject: [PATCH 15/24] marauder intro A heavy corvette, the marauder class is a dedicated deep space patrol vessel outfitted with stealth armor and heavily fortified against pirate assault. --- Resources/Maps/Shuttles/marauder.yml | 10217 ++++++++++++++++ .../Prototypes/_NF/Shipyard/marauder.yml | 30 + 2 files changed, 10247 insertions(+) create mode 100644 Resources/Maps/Shuttles/marauder.yml create mode 100644 Resources/Prototypes/_NF/Shipyard/marauder.yml diff --git a/Resources/Maps/Shuttles/marauder.yml b/Resources/Maps/Shuttles/marauder.yml new file mode 100644 index 00000000000..3e048af3d1d --- /dev/null +++ b/Resources/Maps/Shuttles/marauder.yml @@ -0,0 +1,10217 @@ +meta: + format: 5 + postmapinit: false +tilemap: + 0: Space + 23: FloorDark + 27: FloorDarkMini + 41: FloorGrass + 48: FloorKitchen + 52: FloorMetalDiamond + 60: FloorRockVault + 69: FloorSteel + 72: FloorSteelDirty + 79: FloorTechMaint + 82: FloorWhite + 94: Lattice +entities: +- proto: "" + entities: + - uid: 1 + components: + - type: MetaData + - pos: 10,10 + parent: invalid + type: Transform + - chunks: + 0,0: + ind: 0,0 + tiles: FwAAARcAAAJIAAAASAAAAF8AAAA8AAAAAAAAAAAAAAAAAAAAAAAAADwAAABfAAAAXwAAAF8AAAA8AAAAAAAAABcAAAMXAAADXwAAAF8AAABfAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAADwAAAA8AAAAPAAAAAAAAAAXAAADFwAAAkgAAABIAAAAXwAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAFwAAARcAAAJIAAAASAAAAEgAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAIXAAABXwAAAF8AAABfAAAAPAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAABXwAAAE8AAABPAAAATwAAAE8AAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAV8AAABPAAAATwAAAE8AAAAXAAADXwAAAF8AAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAABfAAAATwAAAE8AAABPAAAAFwAAAhcAAAMXAAABNAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAABXwAAAE8AAABPAAAATwAAABcAAAMXAAAAFwAAAF8AAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAk8AAABPAAAATwAAAE8AAAAXAAACFwAAARcAAAI0AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAMXAAADFwAAAhcAAAIXAAAAFwAAA18AAABfAAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAABXwAAABcAAAAXAAADFwAAARcAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAABcAAAEXAAAAFwAAAxcAAAEXAAADPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAEXAAACFwAAABcAAAEXAAADPAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXAAADXwAAAF8AAABfAAAAXwAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAxsAAAMbAAAAXwAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + 0,-1: + ind: 0,-1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgAAAF8AAAA0AAAANAAAADQAAAA0AAAANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF4AAABfAAAANAAAADQAAAA0AAAANAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAXwAAADQAAAA0AAAANAAAADQAAAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAF8AAAAXAAADFwAAAl8AAABfAAAAXwAAAF8AAAA0AAAAXwAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAABfAAAAFwAAAhcAAAIXAAACXwAAAAAAAAA0AAAANAAAADQAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAABfAAAAXwAAABcAAAIXAAABFwAAAl8AAAAAAAAAXwAAAF8AAABfAAAAPAAAADwAAAA8AAAAPAAAADwAAAAXAAADFwAAAxcAAAAXAAADFwAAABcAAANfAAAAAAAAABcAAAEXAAAAFwAAAhcAAAMXAAABFwAAAxcAAAEXAAAAFwAAAxcAAAIXAAACFwAAAhcAAAMXAAACXwAAAAAAAAAXAAAAFwAAAhcAAAMXAAACFwAAARcAAAAXAAABFwAAAhcAAAJfAAAAXwAAAF8AAABfAAAAXwAAAF8AAAAAAAAAFwAAAxcAAAEXAAABFwAAAhcAAAAXAAADFwAAABcAAAM8AAAAPAAAAF8AAABfAAAAXwAAAF8AAABfAAAAAAAAACkAAAAwAAAAMAAAADAAAAAwAAAAMAAAABcAAAM8AAAAPAAAAAAAAABfAAAAXgAAAF4AAABeAAAAXwAAAAAAAABFAAAAMAAAADAAAAAwAAAAMAAAABcAAAI8AAAAPAAAAAAAAAAAAAAAXwAAAF8AAABfAAAAXwAAAF8AAAAAAAAARQAAAzAAAAAwAAAAMAAAABcAAAM8AAAAPAAAADwAAAAAAAAAAAAAAF8AAABfAAAAXgAAAF8AAABfAAAAAAAAAEUAAAIwAAAAMAAAADAAAABfAAAAPAAAADwAAAAAAAAAAAAAAAAAAABfAAAAXwAAAF4AAABfAAAAXwAAAAAAAAAXAAABFwAAAl8AAABfAAAAXwAAADwAAAAAAAAAAAAAAAAAAAAAAAAAXwAAAF8AAABfAAAAXwAAAF8AAAAAAAAAFwAAABcAAAJIAAAASAAAAEgAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAF8AAABeAAAAXgAAAF4AAABfAAAAAAAAAA== + -1,0: + ind: -1,0 + tiles: AAAAAAAAAAA8AAAAXwAAAF8AAABfAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAXwAAABcAAAIXAAAAFwAAAgAAAAAAAAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAF8AAAAXAAABFwAAAhcAAAMAAAAAAAAAAAAAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAABfAAAAUgAAAVIAAANfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAXwAAAFIAAAFSAAABFwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAAFIAAANSAAABUgAAAhcAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAAFIAAABSAAAAUgAAAlIAAAAXAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAXwAAABcAAAMXAAADUgAAAVIAAABSAAADFwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAFwAAAk8AAABPAAAAFwAAAhcAAAIXAAABFwAAAhcAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAABcAAAJPAAAATwAAAE8AAAAXAAAAFwAAARcAAAEXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAXAAACTwAAAE8AAABPAAAAFwAAABcAAAMXAAADFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAF8AAABfAAAAXwAAABcAAAIXAAABFwAAARcAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAABcAAAMXAAACFwAAAhcAAAMXAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAABfAAAAFwAAAxcAAAIXAAABFwAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAABcAAAIXAAAAFwAAABcAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAABfAAAAXwAAAF8AAAAXAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAF8AAAAbAAABGwAAAw== + -1,-1: + ind: -1,-1 + tiles: AAAAADQAAAA0AAAANAAAADQAAAA0AAAAXwAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAANAAAADQAAAA0AAAANAAAAF8AAABeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANAAAADQAAAA0AAAANAAAADQAAABfAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAABfAAAAXwAAABcAAAMXAAAAXwAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXwAAABcAAAIXAAAAFwAAAF8AAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAXwAAADQAAAAAAAAAAAAAAF8AAAAXAAACFwAAABcAAAFfAAAAXwAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADQAAAA0AAAAAAAAAAAAAABfAAAAFwAAARcAAAAXAAADFwAAABcAAAAXAAACPAAAADwAAAA8AAAAPAAAADwAAABfAAAAXwAAAAAAAAAAAAAAXwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAEXAAABFwAAABcAAAMXAAABFwAAAxcAAAAAAAAAAAAAAF8AAABfAAAAXwAAAF8AAABfAAAAXwAAABcAAAEXAAADFwAAAxcAAAEXAAADFwAAAhcAAAAXAAACAAAAAAAAAABfAAAAXwAAAF8AAABfAAAAXwAAADwAAAA8AAAAFwAAARcAAAAXAAADFwAAAhcAAAAXAAABFwAAAwAAAAAAAAAAXwAAAF4AAABeAAAAXgAAAF8AAAAAAAAAPAAAADwAAAAXAAADFwAAAkUAAABFAAADKQAAACkAAAAAAAAAAAAAAF8AAABfAAAAXwAAAF8AAABfAAAAAAAAAAAAAAA8AAAAPAAAABcAAABFAAACRQAAAUUAAAJFAAABAAAAAAAAAABfAAAAXwAAAF4AAABfAAAAXwAAAAAAAAAAAAAAPAAAADwAAAA8AAAAFwAAA0UAAAJFAAABRQAAAgAAAAAAAAAAXwAAAF8AAABeAAAAXwAAAF8AAAAAAAAAAAAAAAAAAAA8AAAAPAAAAF8AAABFAAABRQAAAEUAAAMAAAAAAAAAAF8AAABfAAAAXwAAAF8AAABfAAAAAAAAAAAAAAAAAAAAAAAAADwAAABfAAAAFwAAAhcAAAIXAAAAAAAAAAAAAABfAAAAXgAAAF4AAABeAAAAXwAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAXwAAABcAAAAXAAABFwAAAQ== + -1,-2: + ind: -1,-2 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAA8AAAAXgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAABfAAAANAAAADQAAAA0AAAAXwAAAF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + 0,-2: + ind: 0,-2 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABeAAAAPAAAADwAAAA8AAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgAAAF8AAAA0AAAANAAAAF8AAABfAAAAXwAAAA== + -1,1: + ind: -1,1 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAF8AAAAbAAADGwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAFwAAABsAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAADwAAABfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + 0,1: + ind: 0,1 + tiles: GwAAARsAAAMbAAABXwAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAEbAAADFwAAADwAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABfAAAAXwAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + type: MapGrid + - type: Broadphase + - angularDamping: 0.05 + linearDamping: 0.05 + fixedRotation: False + bodyType: Dynamic + type: Physics + - fixtures: {} + type: Fixtures + - type: OccluderTree + - type: SpreaderGrid + - type: Shuttle + - type: GridPathfinding + - gravityShakeSound: !type:SoundPathSpecifier + path: /Audio/Effects/alert.ogg + type: Gravity + - chunkCollection: + version: 2 + nodes: + - node: + angle: 4.71238898038469 rad + color: '#FFFFFFFF' + id: Bot + decals: + 37: -3,0 + 38: -3,-1 + 39: -2,-1 + - node: + color: '#FFFFFFFF' + id: BrickTileSteelCornerNw + decals: + 34: -2,-6 + - node: + color: '#FFFFFFFF' + id: BrickTileSteelLineN + decals: + 35: -1,-6 + 36: 0,-6 + - node: + color: '#E97F004C' + id: BrickTileWhiteLineE + decals: + 48: 1,3 + 49: 1,0 + 50: 1,-1 + 51: 1,2 + - node: + angle: -1.5707963267948966 rad + color: '#E97F004C' + id: Caution + decals: + 52: 0.7844713,-1.0209713 + 53: 0.7844713,3.0102787 + - node: + color: '#B4B4B4FF' + id: CheckerNESW + decals: + 20: 1,-4 + 21: 1,-5 + 22: 1,-6 + 23: 2,-6 + 24: 2,-5 + 25: 2,-4 + 26: 3,-4 + 27: 3,-5 + 28: 3,-6 + 29: 4,-6 + 30: 4,-5 + 31: 5,-6 + 32: 3,-3 + 33: 2,-3 + - node: + color: '#50C2FF7F' + id: CheckerNWSE + decals: + 0: -4,4 + - node: + color: '#6FB2FB9B' + id: CheckerNWSE + decals: + 54: -3,2 + 55: -2,2 + 56: -3,3 + 57: -2,3 + 58: -3,4 + 59: -2,4 + 60: -2,5 + 61: -3,5 + 62: -4,5 + 63: -5,5 + 64: -4,6 + 65: -3,6 + 66: -2,6 + - node: + color: '#B4000049' + id: CheckerNWSE + decals: + 1: -3,13 + 2: -2,13 + 3: -2,12 + 4: -3,12 + 5: -4,12 + 6: -4,11 + 7: -5,11 + 8: -2,11 + 9: -3,11 + 10: -4,10 + 11: -3,10 + 12: -2,10 + 13: -2,9 + 14: -3,9 + 15: -4,9 + 16: -4,8 + 17: -3,8 + 18: -2,8 + 19: -1,11 + - node: + color: '#FFFFFFFF' + id: StandClear + decals: + 42: -12,-18 + 43: 12,-18 + - node: + angle: 1.5707963267948966 rad + color: '#FFFFFFFF' + id: StandClear + decals: + 41: 3,-11 + - node: + angle: 4.71238898038469 rad + color: '#FFFFFFFF' + id: StandClear + decals: + 40: -3,-11 + - node: + color: '#FFFFFFFF' + id: WarnLineE + decals: + 44: -14,-14 + 45: -14,-16 + - node: + color: '#FFFFFFFF' + id: WarnLineS + decals: + 46: 14,-16 + 47: 14,-14 + type: DecalGrid + - version: 2 + data: + tiles: + 0,0: + 0: 65535 + 0,1: + 0: 65535 + 0,2: + 0: 65535 + 0,3: + 0: 65535 + 1,0: + 0: 29491 + 1,1: + 0: 65535 + 1,2: + 0: 53239 + 1: 4104 + 2: 8192 + 1,3: + 0: 30719 + 2,1: + 0: 13072 + 2,2: + 0: 4915 + 2,3: + 0: 1 + 2,0: + 0: 2252 + 3,0: + 0: 887 + 0,-3: + 0: 65535 + 0,-2: + 0: 65535 + 0,-1: + 0: 65535 + 1,-3: + 0: 65535 + 1,-2: + 0: 65535 + 1,-1: + 0: 13111 + 3: 72 + 2,-4: + 0: 65262 + 2,-3: + 0: 65535 + 2,-2: + 0: 52735 + 2,-1: + 0: 52428 + 3,-4: + 0: 65535 + 3,-3: + 0: 30583 + 3,-2: + 0: 30583 + 3,-1: + 0: 30583 + -4,0: + 0: 2252 + -3,0: + 0: 887 + -3,1: + 0: 34816 + -3,2: + 0: 2184 + -2,1: + 0: 65534 + -2,2: + 0: 65535 + -2,3: + 0: 52463 + -2,0: + 0: 51336 + -1,0: + 0: 65531 + 2: 4 + -1,1: + 0: 65535 + -1,2: + 0: 65535 + -1,3: + 0: 65535 + -4,-4: + 0: 61166 + -4,-3: + 0: 52428 + -4,-2: + 0: 52428 + -4,-1: + 0: 52428 + -3,-4: + 0: 65535 + -3,-3: + 0: 65535 + -3,-2: + 0: 30719 + -3,-1: + 0: 30583 + -2,-4: + 0: 4096 + -2,-3: + 0: 65535 + -2,-2: + 0: 61439 + -2,-1: + 0: 34956 + 3: 66 + -1,-3: + 0: 65535 + -1,-2: + 0: 65535 + -1,-1: + 0: 65535 + -4,-5: + 0: 60616 + -3,-6: + 0: 30304 + -3,-5: + 0: 65399 + 2,-5: + 0: 61132 + 2,-6: + 0: 52416 + 3,-6: + 0: 4096 + 3,-5: + 0: 63347 + -2,4: + 0: 8 + -1,4: + 0: 52991 + 3: 8448 + -1,5: + 0: 8 + 3: 132 + 0,4: + 0: 32767 + 3: 32768 + 0,5: + 0: 19 + 3: 292 + 1,4: + 0: 19 + 3: 256 + uniqueMixes: + - volume: 2500 + temperature: 293.15 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.14996 + moles: + - 20.078888 + - 75.53487 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.14996 + moles: + - 21.824879 + - 82.10312 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.15 + moles: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + chunkSize: 4 + type: GridAtmosphere + - type: GasTileOverlay + - type: RadiationGridResistance + - id: Marauder + type: BecomesStation +- proto: AirlockAtmospherics + entities: + - uid: 2 + components: + - pos: -4.5,9.5 + parent: 1 + type: Transform +- proto: AirlockCaptainLocked + entities: + - uid: 3 + components: + - pos: 1.5,12.5 + parent: 1 + type: Transform +- proto: AirlockEngineering + entities: + - uid: 4 + components: + - pos: 1.5,9.5 + parent: 1 + type: Transform +- proto: AirlockExternal + entities: + - uid: 5 + components: + - rot: 3.141592653589793 rad + pos: -5.5,11.5 + parent: 1 + type: Transform + - uid: 6 + components: + - pos: 12.5,-16.5 + parent: 1 + type: Transform + - uid: 7 + components: + - pos: -11.5,-16.5 + parent: 1 + type: Transform +- proto: AirlockExternalGlass + entities: + - uid: 8 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-13.5 + parent: 1 + type: Transform + - uid: 9 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-15.5 + parent: 1 + type: Transform + - uid: 10 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-13.5 + parent: 1 + type: Transform + - uid: 11 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-15.5 + parent: 1 + type: Transform + - uid: 12 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,-9.5 + parent: 1 + type: Transform + - uid: 13 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-9.5 + parent: 1 + type: Transform + - uid: 14 + components: + - rot: 3.141592653589793 rad + pos: 2.5,-10.5 + parent: 1 + type: Transform + - uid: 15 + components: + - rot: 3.141592653589793 rad + pos: -1.5,-10.5 + parent: 1 + type: Transform + - uid: 16 + components: + - pos: -3.5,11.5 + parent: 1 + type: Transform +- proto: AirlockFreezer + entities: + - uid: 17 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,-6.5 + parent: 1 + type: Transform +- proto: AirlockGlassShuttle + entities: + - uid: 18 + components: + - rot: -1.5707963267948966 rad + pos: -14.5,-13.5 + parent: 1 + type: Transform + - uid: 19 + components: + - rot: -1.5707963267948966 rad + pos: -14.5,-15.5 + parent: 1 + type: Transform + - uid: 20 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-13.5 + parent: 1 + type: Transform + - uid: 21 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-15.5 + parent: 1 + type: Transform + - uid: 22 + components: + - pos: -0.5,-11.5 + parent: 1 + type: Transform + - uid: 23 + components: + - pos: 1.5,-11.5 + parent: 1 + type: Transform +- proto: AirlockSecurity + entities: + - uid: 24 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,5.5 + parent: 1 + type: Transform + - uid: 25 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,11.5 + parent: 1 + type: Transform + - uid: 26 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,0.5 + parent: 1 + type: Transform +- proto: AirlockSecurityLocked + entities: + - uid: 27 + components: + - pos: 10.5,-8.5 + parent: 1 + type: Transform + - uid: 28 + components: + - pos: -9.5,-8.5 + parent: 1 + type: Transform + - uid: 29 + components: + - pos: -10.5,-12.5 + parent: 1 + type: Transform + - uid: 30 + components: + - pos: 11.5,-12.5 + parent: 1 + type: Transform + - uid: 31 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,-1.5 + parent: 1 + type: Transform + - uid: 32 + components: + - pos: -2.5,-6.5 + parent: 1 + type: Transform +- proto: AmeController + entities: + - uid: 33 + components: + - pos: 2.5,8.5 + parent: 1 + type: Transform + - injecting: True + type: AmeController + - containers: + AmeFuel: !type:ContainerSlot + showEnts: False + occludes: True + ent: 34 + type: ContainerContainer +- proto: AmeJar + entities: + - uid: 34 + components: + - flags: InContainer + type: MetaData + - parent: 33 + type: Transform + - canCollide: False + type: Physics + - uid: 36 + components: + - flags: InContainer + type: MetaData + - parent: 35 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: AmeShielding + entities: + - uid: 37 + components: + - pos: 2.5,5.5 + parent: 1 + type: Transform + - uid: 38 + components: + - pos: 3.5,5.5 + parent: 1 + type: Transform + - uid: 39 + components: + - pos: 4.5,5.5 + parent: 1 + type: Transform + - uid: 40 + components: + - pos: 2.5,6.5 + parent: 1 + type: Transform + - uid: 41 + components: + - pos: 4.5,7.5 + parent: 1 + type: Transform + - uid: 42 + components: + - pos: 4.5,6.5 + parent: 1 + type: Transform + - uid: 43 + components: + - pos: 2.5,7.5 + parent: 1 + type: Transform + - uid: 44 + components: + - pos: 3.5,6.5 + parent: 1 + type: Transform + - radius: 2 + enabled: True + type: PointLight + - uid: 45 + components: + - pos: 3.5,7.5 + parent: 1 + type: Transform +- proto: APCHighCapacity + entities: + - uid: 46 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,15.5 + parent: 1 + type: Transform + - uid: 47 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,13.5 + parent: 1 + type: Transform + - uid: 48 + components: + - pos: -4.5,-6.5 + parent: 1 + type: Transform + - uid: 49 + components: + - pos: 5.5,-6.5 + parent: 1 + type: Transform + - uid: 50 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,3.5 + parent: 1 + type: Transform + - uid: 51 + components: + - pos: 6.5,10.5 + parent: 1 + type: Transform +- proto: AtmosDeviceFanTiny + entities: + - uid: 52 + components: + - rot: 3.141592653589793 rad + pos: -1.5,-10.5 + parent: 1 + type: Transform + - uid: 53 + components: + - rot: 3.141592653589793 rad + pos: 2.5,-10.5 + parent: 1 + type: Transform + - uid: 54 + components: + - pos: -0.5,-11.5 + parent: 1 + type: Transform + - uid: 55 + components: + - pos: 15.5,-15.5 + parent: 1 + type: Transform + - uid: 56 + components: + - pos: -11.5,-16.5 + parent: 1 + type: Transform + - uid: 57 + components: + - pos: -14.5,-15.5 + parent: 1 + type: Transform + - uid: 58 + components: + - pos: -14.5,-13.5 + parent: 1 + type: Transform + - uid: 59 + components: + - pos: 15.5,-13.5 + parent: 1 + type: Transform + - uid: 60 + components: + - pos: 12.5,-16.5 + parent: 1 + type: Transform + - uid: 61 + components: + - pos: 1.5,-11.5 + parent: 1 + type: Transform + - uid: 62 + components: + - pos: -5.5,11.5 + parent: 1 + type: Transform +- proto: BannerSecurity + entities: + - uid: 63 + components: + - pos: 10.5,-17.5 + parent: 1 + type: Transform + - uid: 64 + components: + - pos: -9.5,-17.5 + parent: 1 + type: Transform +- proto: BarSign + entities: + - uid: 65 + components: + - pos: -1.5,-1.5 + parent: 1 + type: Transform +- proto: Bed + entities: + - uid: 66 + components: + - pos: -12.5,-8.5 + parent: 1 + type: Transform + - uid: 67 + components: + - pos: 3.5,2.5 + parent: 1 + type: Transform + - uid: 68 + components: + - pos: 3.5,0.5 + parent: 1 + type: Transform + - uid: 69 + components: + - pos: -12.5,-9.5 + parent: 1 + type: Transform + - uid: 70 + components: + - pos: -12.5,-10.5 + parent: 1 + type: Transform + - uid: 71 + components: + - pos: -12.5,-11.5 + parent: 1 + type: Transform + - uid: 72 + components: + - pos: 13.5,-11.5 + parent: 1 + type: Transform + - uid: 73 + components: + - pos: 13.5,-10.5 + parent: 1 + type: Transform + - uid: 74 + components: + - pos: 13.5,-9.5 + parent: 1 + type: Transform + - uid: 75 + components: + - pos: 13.5,-8.5 + parent: 1 + type: Transform + - uid: 76 + components: + - pos: 4.5,12.5 + parent: 1 + type: Transform +- proto: BedsheetBrigmedic + entities: + - uid: 77 + components: + - pos: -1.5,4.5 + parent: 1 + type: Transform +- proto: BedsheetHOS + entities: + - uid: 78 + components: + - pos: 4.5,12.5 + parent: 1 + type: Transform +- proto: BedsheetOrange + entities: + - uid: 79 + components: + - pos: 3.5,0.5 + parent: 1 + type: Transform + - uid: 80 + components: + - pos: 3.5,2.5 + parent: 1 + type: Transform +- proto: BedsheetRed + entities: + - uid: 81 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-11.5 + parent: 1 + type: Transform + - uid: 82 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-10.5 + parent: 1 + type: Transform + - uid: 83 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-11.5 + parent: 1 + type: Transform + - uid: 84 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-10.5 + parent: 1 + type: Transform + - uid: 85 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-9.5 + parent: 1 + type: Transform + - uid: 86 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-8.5 + parent: 1 + type: Transform + - uid: 87 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-9.5 + parent: 1 + type: Transform + - uid: 88 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-8.5 + parent: 1 + type: Transform +- proto: BenchSteelLeft + entities: + - uid: 89 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,-2.5 + parent: 1 + type: Transform + - bodyType: Static + type: Physics + - uid: 90 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-3.5 + parent: 1 + type: Transform + - bodyType: Static + type: Physics +- proto: BenchSteelRight + entities: + - uid: 91 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,-3.5 + parent: 1 + type: Transform + - bodyType: Static + type: Physics + - uid: 92 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-2.5 + parent: 1 + type: Transform + - bodyType: Static + type: Physics +- proto: BlastDoor + entities: + - uid: 93 + components: + - pos: -4.5,11.5 + parent: 1 + type: Transform + - links: + - 1089 + type: DeviceLinkSink +- proto: BlastDoorOpen + entities: + - uid: 94 + components: + - pos: -13.5,-13.5 + parent: 1 + type: Transform + - links: + - 1090 + type: DeviceLinkSink + - uid: 95 + components: + - pos: -13.5,-15.5 + parent: 1 + type: Transform + - links: + - 1090 + type: DeviceLinkSink + - uid: 96 + components: + - pos: 14.5,-15.5 + parent: 1 + type: Transform + - links: + - 1091 + type: DeviceLinkSink + - uid: 97 + components: + - pos: 14.5,-13.5 + parent: 1 + type: Transform + - links: + - 1091 + type: DeviceLinkSink +- proto: BookshelfFilled + entities: + - uid: 98 + components: + - pos: 3.5,13.5 + parent: 1 + type: Transform +- proto: BrigTimer + entities: + - uid: 99 + components: + - rot: 3.141592653589793 rad + pos: 1.5,4.5 + parent: 1 + type: Transform + - linkedPorts: + 1490: + - Start: Close + - Timer: AutoClose + - Timer: Open + type: DeviceLinkSource + - uid: 100 + components: + - rot: 3.141592653589793 rad + pos: 1.5,1.5 + parent: 1 + type: Transform + - linkedPorts: + 1491: + - Start: Close + - Timer: AutoClose + - Timer: Open + type: DeviceLinkSource +- proto: CableApcExtension + entities: + - uid: 101 + components: + - pos: 12.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 102 + components: + - pos: -9.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 103 + components: + - pos: -4.5,-6.5 + parent: 1 + type: Transform + - uid: 104 + components: + - pos: -4.5,-7.5 + parent: 1 + type: Transform + - uid: 105 + components: + - pos: -4.5,-8.5 + parent: 1 + type: Transform + - uid: 106 + components: + - pos: -5.5,-8.5 + parent: 1 + type: Transform + - uid: 107 + components: + - pos: -6.5,-8.5 + parent: 1 + type: Transform + - uid: 108 + components: + - pos: -7.5,-8.5 + parent: 1 + type: Transform + - uid: 109 + components: + - pos: -8.5,-8.5 + parent: 1 + type: Transform + - uid: 110 + components: + - pos: -9.5,-8.5 + parent: 1 + type: Transform + - uid: 111 + components: + - pos: -10.5,-8.5 + parent: 1 + type: Transform + - uid: 112 + components: + - pos: -11.5,-8.5 + parent: 1 + type: Transform + - uid: 113 + components: + - pos: -9.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 114 + components: + - pos: -9.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 115 + components: + - pos: -9.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 116 + components: + - pos: -9.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 117 + components: + - pos: -9.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 118 + components: + - pos: -9.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 119 + components: + - pos: 10.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 120 + components: + - pos: -12.5,-8.5 + parent: 1 + type: Transform + - uid: 121 + components: + - pos: -13.5,-8.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 122 + components: + - pos: -13.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 123 + components: + - pos: -13.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 124 + components: + - pos: -13.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 125 + components: + - pos: -13.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 126 + components: + - pos: -13.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 127 + components: + - pos: -13.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 128 + components: + - pos: -13.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 129 + components: + - pos: -13.5,-0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 130 + components: + - pos: -13.5,0.5 + parent: 1 + type: Transform + - uid: 131 + components: + - pos: -12.5,0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 132 + components: + - pos: -11.5,0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 133 + components: + - pos: 5.5,-6.5 + parent: 1 + type: Transform + - uid: 134 + components: + - pos: 5.5,-7.5 + parent: 1 + type: Transform + - uid: 135 + components: + - pos: 5.5,-8.5 + parent: 1 + type: Transform + - uid: 136 + components: + - pos: 5.5,-8.5 + parent: 1 + type: Transform + - uid: 137 + components: + - pos: 6.5,-8.5 + parent: 1 + type: Transform + - uid: 138 + components: + - pos: 7.5,-8.5 + parent: 1 + type: Transform + - uid: 139 + components: + - pos: 8.5,-8.5 + parent: 1 + type: Transform + - uid: 140 + components: + - pos: 9.5,-8.5 + parent: 1 + type: Transform + - uid: 141 + components: + - pos: 10.5,-8.5 + parent: 1 + type: Transform + - uid: 142 + components: + - pos: 11.5,-8.5 + parent: 1 + type: Transform + - uid: 143 + components: + - pos: 12.5,-8.5 + parent: 1 + type: Transform + - uid: 144 + components: + - pos: 10.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 145 + components: + - pos: 10.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 146 + components: + - pos: 10.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 147 + components: + - pos: 10.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 148 + components: + - pos: 10.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 149 + components: + - pos: 10.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 150 + components: + - pos: 10.5,-0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 151 + components: + - pos: 10.5,0.5 + parent: 1 + type: Transform + - uid: 152 + components: + - pos: 11.5,0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 153 + components: + - pos: -11.5,-15.5 + parent: 1 + type: Transform + - uid: 154 + components: + - pos: 13.5,-8.5 + parent: 1 + type: Transform + - uid: 155 + components: + - pos: 14.5,-8.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 156 + components: + - pos: 14.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 157 + components: + - pos: 14.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 158 + components: + - pos: 14.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 159 + components: + - pos: 14.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 160 + components: + - pos: 14.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 161 + components: + - pos: 14.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 162 + components: + - pos: 14.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 163 + components: + - pos: 14.5,-0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 164 + components: + - pos: -3.5,-7.5 + parent: 1 + type: Transform + - uid: 165 + components: + - pos: -2.5,-7.5 + parent: 1 + type: Transform + - uid: 166 + components: + - pos: -1.5,-7.5 + parent: 1 + type: Transform + - uid: 167 + components: + - pos: -0.5,-7.5 + parent: 1 + type: Transform + - uid: 168 + components: + - pos: 0.5,-7.5 + parent: 1 + type: Transform + - uid: 169 + components: + - pos: 1.5,-7.5 + parent: 1 + type: Transform + - uid: 170 + components: + - pos: 2.5,-7.5 + parent: 1 + type: Transform + - uid: 171 + components: + - pos: 3.5,-7.5 + parent: 1 + type: Transform + - uid: 172 + components: + - pos: 4.5,-7.5 + parent: 1 + type: Transform + - uid: 173 + components: + - pos: 0.5,-6.5 + parent: 1 + type: Transform + - uid: 174 + components: + - pos: 0.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 175 + components: + - pos: 0.5,-4.5 + parent: 1 + type: Transform + - uid: 176 + components: + - pos: 0.5,-3.5 + parent: 1 + type: Transform + - uid: 177 + components: + - pos: 0.5,-2.5 + parent: 1 + type: Transform + - uid: 178 + components: + - pos: 0.5,-8.5 + parent: 1 + type: Transform + - uid: 179 + components: + - pos: 0.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 180 + components: + - pos: 0.5,-10.5 + parent: 1 + type: Transform + - uid: 181 + components: + - pos: 0.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 182 + components: + - pos: -0.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 183 + components: + - pos: -1.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 184 + components: + - pos: -2.5,-9.5 + parent: 1 + type: Transform + - uid: 185 + components: + - pos: 1.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 186 + components: + - pos: 2.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 187 + components: + - pos: 3.5,-9.5 + parent: 1 + type: Transform + - uid: 188 + components: + - pos: 12.5,-9.5 + parent: 1 + type: Transform + - uid: 189 + components: + - pos: 12.5,-10.5 + parent: 1 + type: Transform + - uid: 190 + components: + - pos: 12.5,-11.5 + parent: 1 + type: Transform + - uid: 191 + components: + - pos: 12.5,-12.5 + parent: 1 + type: Transform + - uid: 192 + components: + - pos: 12.5,-13.5 + parent: 1 + type: Transform + - uid: 193 + components: + - pos: 12.5,-14.5 + parent: 1 + type: Transform + - uid: 194 + components: + - pos: 12.5,-15.5 + parent: 1 + type: Transform + - uid: 195 + components: + - pos: 13.5,-14.5 + parent: 1 + type: Transform + - uid: 196 + components: + - pos: 14.5,-14.5 + parent: 1 + type: Transform + - uid: 197 + components: + - pos: -11.5,-9.5 + parent: 1 + type: Transform + - uid: 198 + components: + - pos: -11.5,-10.5 + parent: 1 + type: Transform + - uid: 199 + components: + - pos: -11.5,-11.5 + parent: 1 + type: Transform + - uid: 200 + components: + - pos: -11.5,-12.5 + parent: 1 + type: Transform + - uid: 201 + components: + - pos: -11.5,-13.5 + parent: 1 + type: Transform + - uid: 202 + components: + - pos: -11.5,-14.5 + parent: 1 + type: Transform + - uid: 203 + components: + - pos: -12.5,-14.5 + parent: 1 + type: Transform + - uid: 204 + components: + - pos: -13.5,-14.5 + parent: 1 + type: Transform + - uid: 205 + components: + - pos: -11.5,-16.5 + parent: 1 + type: Transform + - uid: 206 + components: + - pos: -11.5,-17.5 + parent: 1 + type: Transform + - uid: 207 + components: + - pos: -11.5,-18.5 + parent: 1 + type: Transform + - uid: 208 + components: + - pos: 12.5,-16.5 + parent: 1 + type: Transform + - uid: 209 + components: + - pos: 12.5,-17.5 + parent: 1 + type: Transform + - uid: 210 + components: + - pos: 12.5,-18.5 + parent: 1 + type: Transform + - uid: 211 + components: + - pos: -10.5,-11.5 + parent: 1 + type: Transform + - uid: 212 + components: + - pos: -9.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 213 + components: + - pos: -8.5,-11.5 + parent: 1 + type: Transform + - uid: 214 + components: + - pos: -7.5,-11.5 + parent: 1 + type: Transform + - uid: 215 + components: + - pos: -6.5,-11.5 + parent: 1 + type: Transform + - uid: 216 + components: + - pos: -5.5,-11.5 + parent: 1 + type: Transform + - uid: 217 + components: + - pos: -4.5,-11.5 + parent: 1 + type: Transform + - uid: 218 + components: + - pos: -3.5,-11.5 + parent: 1 + type: Transform + - uid: 219 + components: + - pos: -2.5,-11.5 + parent: 1 + type: Transform + - uid: 220 + components: + - pos: -1.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 221 + components: + - pos: -0.5,-11.5 + parent: 1 + type: Transform + - uid: 222 + components: + - pos: 0.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 223 + components: + - pos: 1.5,-11.5 + parent: 1 + type: Transform + - uid: 224 + components: + - pos: 2.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 225 + components: + - pos: 3.5,-11.5 + parent: 1 + type: Transform + - uid: 226 + components: + - pos: 4.5,-11.5 + parent: 1 + type: Transform + - uid: 227 + components: + - pos: 5.5,-11.5 + parent: 1 + type: Transform + - uid: 228 + components: + - pos: 6.5,-11.5 + parent: 1 + type: Transform + - uid: 229 + components: + - pos: 7.5,-11.5 + parent: 1 + type: Transform + - uid: 230 + components: + - pos: 8.5,-11.5 + parent: 1 + type: Transform + - uid: 231 + components: + - pos: 9.5,-11.5 + parent: 1 + type: Transform + - uid: 232 + components: + - pos: 10.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 233 + components: + - pos: 11.5,-11.5 + parent: 1 + type: Transform + - uid: 234 + components: + - pos: 0.5,-1.5 + parent: 1 + type: Transform + - uid: 235 + components: + - pos: 0.5,-0.5 + parent: 1 + type: Transform + - uid: 236 + components: + - pos: 0.5,0.5 + parent: 1 + type: Transform + - uid: 237 + components: + - pos: 0.5,1.5 + parent: 1 + type: Transform + - uid: 238 + components: + - pos: 0.5,2.5 + parent: 1 + type: Transform + - uid: 239 + components: + - pos: 0.5,3.5 + parent: 1 + type: Transform + - uid: 240 + components: + - pos: -0.5,3.5 + parent: 1 + type: Transform + - uid: 241 + components: + - pos: 0.5,4.5 + parent: 1 + type: Transform + - uid: 242 + components: + - pos: 0.5,5.5 + parent: 1 + type: Transform + - uid: 243 + components: + - pos: 0.5,6.5 + parent: 1 + type: Transform + - uid: 244 + components: + - pos: 0.5,7.5 + parent: 1 + type: Transform + - uid: 245 + components: + - pos: 0.5,8.5 + parent: 1 + type: Transform + - uid: 246 + components: + - pos: 0.5,9.5 + parent: 1 + type: Transform + - uid: 247 + components: + - pos: 0.5,10.5 + parent: 1 + type: Transform + - uid: 248 + components: + - pos: 0.5,11.5 + parent: 1 + type: Transform + - uid: 249 + components: + - pos: 0.5,12.5 + parent: 1 + type: Transform + - uid: 250 + components: + - pos: 0.5,13.5 + parent: 1 + type: Transform + - uid: 251 + components: + - pos: 0.5,14.5 + parent: 1 + type: Transform + - uid: 252 + components: + - pos: 0.5,15.5 + parent: 1 + type: Transform + - uid: 253 + components: + - pos: 0.5,16.5 + parent: 1 + type: Transform + - uid: 254 + components: + - pos: 0.5,17.5 + parent: 1 + type: Transform + - uid: 255 + components: + - pos: -0.5,13.5 + parent: 1 + type: Transform + - uid: 256 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 257 + components: + - pos: -1.5,15.5 + parent: 1 + type: Transform + - uid: 258 + components: + - pos: -2.5,15.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 259 + components: + - pos: 1.5,9.5 + parent: 1 + type: Transform + - uid: 260 + components: + - pos: 2.5,9.5 + parent: 1 + type: Transform + - uid: 261 + components: + - pos: 3.5,9.5 + parent: 1 + type: Transform + - uid: 262 + components: + - pos: 4.5,9.5 + parent: 1 + type: Transform + - uid: 263 + components: + - pos: 5.5,9.5 + parent: 1 + type: Transform + - uid: 264 + components: + - pos: 6.5,9.5 + parent: 1 + type: Transform + - uid: 265 + components: + - pos: 6.5,10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 266 + components: + - pos: -0.5,8.5 + parent: 1 + type: Transform + - uid: 267 + components: + - pos: -1.5,8.5 + parent: 1 + type: Transform + - uid: 268 + components: + - pos: 1.5,12.5 + parent: 1 + type: Transform + - uid: 269 + components: + - pos: -3.5,8.5 + parent: 1 + type: Transform + - uid: 270 + components: + - pos: -4.5,8.5 + parent: 1 + type: Transform + - uid: 271 + components: + - pos: -5.5,8.5 + parent: 1 + type: Transform + - uid: 272 + components: + - pos: -6.5,8.5 + parent: 1 + type: Transform + - uid: 273 + components: + - pos: -0.5,11.5 + parent: 1 + type: Transform + - uid: 274 + components: + - pos: -1.5,11.5 + parent: 1 + type: Transform + - uid: 275 + components: + - pos: -2.5,11.5 + parent: 1 + type: Transform + - uid: 276 + components: + - pos: -3.5,11.5 + parent: 1 + type: Transform + - uid: 277 + components: + - pos: -4.5,11.5 + parent: 1 + type: Transform + - uid: 278 + components: + - pos: -5.5,11.5 + parent: 1 + type: Transform + - uid: 279 + components: + - pos: -1.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 280 + components: + - pos: -2.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 281 + components: + - pos: -3.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 282 + components: + - pos: 1.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 283 + components: + - pos: 2.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 284 + components: + - pos: 3.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 285 + components: + - pos: 4.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 286 + components: + - pos: 6.5,8.5 + parent: 1 + type: Transform + - uid: 287 + components: + - pos: 6.5,7.5 + parent: 1 + type: Transform + - uid: 288 + components: + - pos: 7.5,8.5 + parent: 1 + type: Transform + - uid: 289 + components: + - pos: 8.5,8.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 290 + components: + - pos: 3.5,8.5 + parent: 1 + type: Transform + - uid: 291 + components: + - pos: 3.5,7.5 + parent: 1 + type: Transform + - uid: 292 + components: + - pos: 3.5,6.5 + parent: 1 + type: Transform + - uid: 293 + components: + - pos: 3.5,5.5 + parent: 1 + type: Transform + - uid: 294 + components: + - pos: 3.5,4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 295 + components: + - pos: 3.5,3.5 + parent: 1 + type: Transform + - uid: 296 + components: + - pos: 3.5,2.5 + parent: 1 + type: Transform + - uid: 297 + components: + - pos: 3.5,1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 298 + components: + - pos: 3.5,0.5 + parent: 1 + type: Transform + - uid: 299 + components: + - pos: 3.5,-0.5 + parent: 1 + type: Transform + - uid: 300 + components: + - pos: 3.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 301 + components: + - pos: 3.5,-2.5 + parent: 1 + type: Transform + - uid: 302 + components: + - pos: 3.5,-3.5 + parent: 1 + type: Transform + - uid: 303 + components: + - pos: 3.5,-4.5 + parent: 1 + type: Transform + - uid: 304 + components: + - pos: 3.5,-5.5 + parent: 1 + type: Transform + - uid: 305 + components: + - pos: 3.5,-6.5 + parent: 1 + type: Transform + - uid: 306 + components: + - pos: -2.5,-6.5 + parent: 1 + type: Transform + - uid: 307 + components: + - pos: -2.5,-5.5 + parent: 1 + type: Transform + - uid: 308 + components: + - pos: -2.5,-4.5 + parent: 1 + type: Transform + - uid: 309 + components: + - pos: -2.5,-3.5 + parent: 1 + type: Transform + - uid: 310 + components: + - pos: -2.5,-2.5 + parent: 1 + type: Transform + - uid: 311 + components: + - pos: -2.5,-1.5 + parent: 1 + type: Transform + - uid: 312 + components: + - pos: -2.5,-0.5 + parent: 1 + type: Transform + - uid: 313 + components: + - pos: -2.5,0.5 + parent: 1 + type: Transform + - uid: 314 + components: + - pos: -2.5,1.5 + parent: 1 + type: Transform + - uid: 315 + components: + - pos: -2.5,2.5 + parent: 1 + type: Transform + - uid: 316 + components: + - pos: -2.5,3.5 + parent: 1 + type: Transform + - uid: 317 + components: + - pos: -2.5,4.5 + parent: 1 + type: Transform + - uid: 318 + components: + - pos: -2.5,5.5 + parent: 1 + type: Transform + - uid: 319 + components: + - pos: -2.5,6.5 + parent: 1 + type: Transform + - uid: 320 + components: + - pos: -2.5,7.5 + parent: 1 + type: Transform + - uid: 321 + components: + - pos: -2.5,8.5 + parent: 1 + type: Transform + - uid: 322 + components: + - pos: -2.5,9.5 + parent: 1 + type: Transform + - uid: 323 + components: + - pos: -2.5,10.5 + parent: 1 + type: Transform + - uid: 324 + components: + - pos: 2.5,12.5 + parent: 1 + type: Transform + - uid: 325 + components: + - pos: 3.5,12.5 + parent: 1 + type: Transform + - uid: 326 + components: + - pos: 4.5,12.5 + parent: 1 + type: Transform + - uid: 327 + components: + - pos: 5.5,12.5 + parent: 1 + type: Transform + - uid: 328 + components: + - pos: 6.5,11.5 + parent: 1 + type: Transform + - uid: 329 + components: + - pos: 5.5,11.5 + parent: 1 + type: Transform + - uid: 330 + components: + - pos: 12.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 331 + components: + - pos: 12.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 332 + components: + - pos: 12.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 333 + components: + - pos: 12.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 334 + components: + - pos: 12.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 335 + components: + - pos: 12.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 336 + components: + - pos: 12.5,-0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 337 + components: + - pos: 12.5,0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 338 + components: + - pos: -11.5,-7.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 339 + components: + - pos: -11.5,-6.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 340 + components: + - pos: -11.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 341 + components: + - pos: -11.5,-4.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 342 + components: + - pos: -11.5,-3.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 343 + components: + - pos: -11.5,-2.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 344 + components: + - pos: -11.5,-1.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 345 + components: + - pos: -11.5,-0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 346 + components: + - pos: -11.5,0.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 347 + components: + - pos: 0.5,18.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 348 + components: + - pos: 0.5,19.5 + parent: 1 + type: Transform + - uid: 349 + components: + - pos: 0.5,20.5 + parent: 1 + type: Transform + - uid: 350 + components: + - pos: 0.5,21.5 + parent: 1 + type: Transform +- proto: CableApcStack + entities: + - uid: 352 + components: + - flags: InContainer + type: MetaData + - parent: 351 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: CableHV + entities: + - uid: 357 + components: + - pos: 2.5,8.5 + parent: 1 + type: Transform + - uid: 358 + components: + - pos: 3.5,8.5 + parent: 1 + type: Transform + - uid: 359 + components: + - pos: 4.5,8.5 + parent: 1 + type: Transform + - uid: 360 + components: + - pos: 3.5,9.5 + parent: 1 + type: Transform + - uid: 361 + components: + - pos: 2.5,9.5 + parent: 1 + type: Transform + - uid: 362 + components: + - pos: 4.5,9.5 + parent: 1 + type: Transform + - uid: 363 + components: + - pos: 2.5,10.5 + parent: 1 + type: Transform + - uid: 364 + components: + - pos: 1.5,9.5 + parent: 1 + type: Transform + - uid: 365 + components: + - pos: 0.5,9.5 + parent: 1 + type: Transform + - uid: 366 + components: + - pos: 0.5,8.5 + parent: 1 + type: Transform + - uid: 367 + components: + - pos: 0.5,7.5 + parent: 1 + type: Transform + - uid: 368 + components: + - pos: 0.5,6.5 + parent: 1 + type: Transform + - uid: 369 + components: + - pos: 0.5,5.5 + parent: 1 + type: Transform + - uid: 370 + components: + - pos: 0.5,4.5 + parent: 1 + type: Transform + - uid: 371 + components: + - pos: 0.5,3.5 + parent: 1 + type: Transform + - uid: 372 + components: + - pos: 0.5,2.5 + parent: 1 + type: Transform + - uid: 373 + components: + - pos: 0.5,1.5 + parent: 1 + type: Transform + - uid: 374 + components: + - pos: -0.5,1.5 + parent: 1 + type: Transform + - uid: 375 + components: + - pos: -1.5,1.5 + parent: 1 + type: Transform + - uid: 376 + components: + - pos: -2.5,1.5 + parent: 1 + type: Transform + - uid: 377 + components: + - pos: 10.5,-10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 378 + components: + - pos: 0.5,10.5 + parent: 1 + type: Transform + - uid: 379 + components: + - pos: 0.5,11.5 + parent: 1 + type: Transform + - uid: 380 + components: + - pos: 0.5,12.5 + parent: 1 + type: Transform + - uid: 381 + components: + - pos: 0.5,13.5 + parent: 1 + type: Transform + - uid: 382 + components: + - pos: 0.5,14.5 + parent: 1 + type: Transform + - uid: 383 + components: + - pos: 0.5,15.5 + parent: 1 + type: Transform + - uid: 384 + components: + - pos: 0.5,16.5 + parent: 1 + type: Transform + - uid: 385 + components: + - pos: 0.5,17.5 + parent: 1 + type: Transform + - uid: 386 + components: + - pos: 0.5,18.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 387 + components: + - pos: -0.5,18.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 388 + components: + - pos: 1.5,18.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 389 + components: + - pos: -0.5,16.5 + parent: 1 + type: Transform + - uid: 390 + components: + - pos: -1.5,16.5 + parent: 1 + type: Transform + - uid: 391 + components: + - pos: -2.5,16.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 392 + components: + - pos: 1.5,16.5 + parent: 1 + type: Transform + - uid: 393 + components: + - pos: 2.5,16.5 + parent: 1 + type: Transform + - uid: 394 + components: + - pos: 3.5,16.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 395 + components: + - pos: 0.5,0.5 + parent: 1 + type: Transform + - uid: 396 + components: + - pos: 0.5,-0.5 + parent: 1 + type: Transform + - uid: 397 + components: + - pos: 0.5,-1.5 + parent: 1 + type: Transform + - uid: 398 + components: + - pos: 0.5,-2.5 + parent: 1 + type: Transform + - uid: 399 + components: + - pos: 0.5,-3.5 + parent: 1 + type: Transform + - uid: 400 + components: + - pos: 0.5,-4.5 + parent: 1 + type: Transform + - uid: 401 + components: + - pos: 0.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 402 + components: + - pos: 0.5,-6.5 + parent: 1 + type: Transform + - uid: 403 + components: + - pos: 0.5,-7.5 + parent: 1 + type: Transform + - uid: 404 + components: + - pos: 0.5,-8.5 + parent: 1 + type: Transform + - uid: 405 + components: + - pos: 0.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 406 + components: + - pos: -0.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 407 + components: + - pos: -1.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 408 + components: + - pos: -2.5,-9.5 + parent: 1 + type: Transform + - uid: 409 + components: + - pos: -3.5,-9.5 + parent: 1 + type: Transform + - uid: 410 + components: + - pos: -4.5,-9.5 + parent: 1 + type: Transform + - uid: 411 + components: + - pos: -5.5,-9.5 + parent: 1 + type: Transform + - uid: 412 + components: + - pos: -6.5,-9.5 + parent: 1 + type: Transform + - uid: 413 + components: + - pos: -7.5,-9.5 + parent: 1 + type: Transform + - uid: 414 + components: + - pos: -8.5,-9.5 + parent: 1 + type: Transform + - uid: 415 + components: + - pos: -9.5,-9.5 + parent: 1 + type: Transform + - uid: 416 + components: + - pos: -9.5,-10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 417 + components: + - pos: -9.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 418 + components: + - pos: -9.5,-12.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 419 + components: + - pos: -9.5,-13.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 420 + components: + - pos: -9.5,-14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 421 + components: + - pos: -9.5,-15.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 422 + components: + - pos: -9.5,-16.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 423 + components: + - pos: 1.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 424 + components: + - pos: 2.5,-9.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 425 + components: + - pos: 3.5,-9.5 + parent: 1 + type: Transform + - uid: 426 + components: + - pos: 4.5,-9.5 + parent: 1 + type: Transform + - uid: 427 + components: + - pos: 5.5,-9.5 + parent: 1 + type: Transform + - uid: 428 + components: + - pos: 6.5,-9.5 + parent: 1 + type: Transform + - uid: 429 + components: + - pos: 7.5,-9.5 + parent: 1 + type: Transform + - uid: 430 + components: + - pos: 8.5,-9.5 + parent: 1 + type: Transform + - uid: 431 + components: + - pos: 9.5,-9.5 + parent: 1 + type: Transform + - uid: 432 + components: + - pos: 10.5,-9.5 + parent: 1 + type: Transform + - uid: 433 + components: + - pos: 10.5,-11.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 434 + components: + - pos: 10.5,-12.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 435 + components: + - pos: 10.5,-13.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 436 + components: + - pos: 10.5,-14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 437 + components: + - pos: 10.5,-15.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 438 + components: + - pos: 10.5,-16.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 439 + components: + - pos: 1.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 440 + components: + - pos: 2.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound +- proto: CableHVStack + entities: + - uid: 353 + components: + - flags: InContainer + type: MetaData + - parent: 351 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: CableMV + entities: + - uid: 441 + components: + - pos: 2.5,10.5 + parent: 1 + type: Transform + - uid: 442 + components: + - pos: 2.5,9.5 + parent: 1 + type: Transform + - uid: 443 + components: + - pos: 1.5,9.5 + parent: 1 + type: Transform + - uid: 444 + components: + - pos: 0.5,9.5 + parent: 1 + type: Transform + - uid: 445 + components: + - pos: -2.5,1.5 + parent: 1 + type: Transform + - uid: 446 + components: + - pos: -1.5,1.5 + parent: 1 + type: Transform + - uid: 447 + components: + - pos: -0.5,1.5 + parent: 1 + type: Transform + - uid: 448 + components: + - pos: 0.5,1.5 + parent: 1 + type: Transform + - uid: 449 + components: + - pos: 0.5,2.5 + parent: 1 + type: Transform + - uid: 450 + components: + - pos: 0.5,3.5 + parent: 1 + type: Transform + - uid: 451 + components: + - pos: 0.5,4.5 + parent: 1 + type: Transform + - uid: 452 + components: + - pos: 0.5,5.5 + parent: 1 + type: Transform + - uid: 453 + components: + - pos: 0.5,6.5 + parent: 1 + type: Transform + - uid: 454 + components: + - pos: 0.5,7.5 + parent: 1 + type: Transform + - uid: 455 + components: + - pos: 0.5,8.5 + parent: 1 + type: Transform + - uid: 456 + components: + - pos: 4.5,8.5 + parent: 1 + type: Transform + - uid: 457 + components: + - pos: 4.5,9.5 + parent: 1 + type: Transform + - uid: 458 + components: + - pos: 3.5,9.5 + parent: 1 + type: Transform + - uid: 459 + components: + - pos: 0.5,10.5 + parent: 1 + type: Transform + - uid: 460 + components: + - pos: 0.5,11.5 + parent: 1 + type: Transform + - uid: 461 + components: + - pos: 0.5,12.5 + parent: 1 + type: Transform + - uid: 462 + components: + - pos: 0.5,13.5 + parent: 1 + type: Transform + - uid: 463 + components: + - pos: -0.5,13.5 + parent: 1 + type: Transform + - uid: 464 + components: + - pos: 0.5,0.5 + parent: 1 + type: Transform + - uid: 465 + components: + - pos: 0.5,-0.5 + parent: 1 + type: Transform + - uid: 466 + components: + - pos: 0.5,-1.5 + parent: 1 + type: Transform + - uid: 467 + components: + - pos: 0.5,-2.5 + parent: 1 + type: Transform + - uid: 468 + components: + - pos: 0.5,-3.5 + parent: 1 + type: Transform + - uid: 469 + components: + - pos: 0.5,-4.5 + parent: 1 + type: Transform + - uid: 470 + components: + - pos: 0.5,-5.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 471 + components: + - pos: 0.5,-6.5 + parent: 1 + type: Transform + - uid: 472 + components: + - pos: 0.5,-7.5 + parent: 1 + type: Transform + - uid: 473 + components: + - pos: 1.5,-7.5 + parent: 1 + type: Transform + - uid: 474 + components: + - pos: 2.5,-7.5 + parent: 1 + type: Transform + - uid: 475 + components: + - pos: 3.5,-7.5 + parent: 1 + type: Transform + - uid: 476 + components: + - pos: 4.5,-7.5 + parent: 1 + type: Transform + - uid: 477 + components: + - pos: 5.5,-7.5 + parent: 1 + type: Transform + - uid: 478 + components: + - pos: 5.5,-6.5 + parent: 1 + type: Transform + - uid: 479 + components: + - pos: -0.5,-7.5 + parent: 1 + type: Transform + - uid: 480 + components: + - pos: -1.5,-7.5 + parent: 1 + type: Transform + - uid: 481 + components: + - pos: -2.5,-7.5 + parent: 1 + type: Transform + - uid: 482 + components: + - pos: -3.5,-7.5 + parent: 1 + type: Transform + - uid: 483 + components: + - pos: -4.5,-7.5 + parent: 1 + type: Transform + - uid: 484 + components: + - pos: -4.5,-6.5 + parent: 1 + type: Transform + - uid: 485 + components: + - pos: -0.5,3.5 + parent: 1 + type: Transform + - uid: 486 + components: + - pos: 0.5,14.5 + parent: 1 + type: Transform + - uid: 487 + components: + - pos: 1.5,15.5 + parent: 1 + type: Transform + - uid: 488 + components: + - pos: -2.5,15.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 489 + components: + - pos: 5.5,9.5 + parent: 1 + type: Transform + - uid: 490 + components: + - pos: 6.5,9.5 + parent: 1 + type: Transform + - uid: 491 + components: + - pos: 6.5,10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 492 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 493 + components: + - pos: -1.5,15.5 + parent: 1 + type: Transform + - uid: 494 + components: + - pos: 2.5,14.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 495 + components: + - pos: 2.5,15.5 + parent: 1 + type: Transform + - uid: 496 + components: + - pos: 0.5,15.5 + parent: 1 + type: Transform +- proto: CableMVStack + entities: + - uid: 354 + components: + - flags: InContainer + type: MetaData + - parent: 351 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: CableTerminal + entities: + - uid: 497 + components: + - rot: 3.141592653589793 rad + pos: 3.5,9.5 + parent: 1 + type: Transform +- proto: Carpet + entities: + - uid: 498 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,11.5 + parent: 1 + type: Transform + - uid: 499 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,12.5 + parent: 1 + type: Transform + - uid: 500 + components: + - rot: -1.5707963267948966 rad + pos: 4.5,12.5 + parent: 1 + type: Transform + - uid: 501 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,13.5 + parent: 1 + type: Transform + - uid: 502 + components: + - rot: -1.5707963267948966 rad + pos: 4.5,11.5 + parent: 1 + type: Transform + - uid: 503 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,11.5 + parent: 1 + type: Transform + - uid: 504 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,12.5 + parent: 1 + type: Transform + - uid: 505 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,13.5 + parent: 1 + type: Transform +- proto: ChairPilotSeat + entities: + - uid: 506 + components: + - rot: 3.141592653589793 rad + pos: 1.5,16.5 + parent: 1 + type: Transform + - uid: 507 + components: + - rot: 3.141592653589793 rad + pos: -0.5,16.5 + parent: 1 + type: Transform +- proto: chem_master + entities: + - uid: 508 + components: + - pos: -3.5,6.5 + parent: 1 + type: Transform +- proto: ChemDispenser + entities: + - uid: 509 + components: + - pos: -4.5,5.5 + parent: 1 + type: Transform +- proto: ClosetWall + entities: + - uid: 35 + components: + - pos: 3.5,10.5 + parent: 1 + type: Transform + - air: + volume: 200 + immutable: False + temperature: 93.465614 + moles: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + type: EntityStorage + - containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 36 + type: ContainerContainer + - uid: 351 + components: + - pos: 4.5,10.5 + parent: 1 + type: Transform + - air: + volume: 200 + immutable: False + temperature: 93.465614 + moles: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + type: EntityStorage + - containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 355 + - 353 + - 352 + - 356 + - 354 + type: ContainerContainer + - uid: 510 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,0.5 + parent: 1 + type: Transform + - uid: 511 + components: + - pos: -1.5,1.5 + parent: 1 + type: Transform +- proto: ClosetWallAtmospherics + entities: + - uid: 512 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,7.5 + parent: 1 + type: Transform +- proto: ClosetWallEmergencyFilledRandom + entities: + - uid: 513 + components: + - pos: 11.5,-7.5 + parent: 1 + type: Transform + - uid: 514 + components: + - pos: -10.5,-7.5 + parent: 1 + type: Transform +- proto: ClosetWallFireFilledRandom + entities: + - uid: 515 + components: + - pos: 1.5,-6.5 + parent: 1 + type: Transform + - uid: 516 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,12.5 + parent: 1 + type: Transform +- proto: ClosetWallOrange + entities: + - uid: 517 + components: + - pos: 2.5,1.5 + parent: 1 + type: Transform + - uid: 518 + components: + - pos: 2.5,4.5 + parent: 1 + type: Transform +- proto: ClothingBeltSheathFilled + entities: + - uid: 520 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingHeadHatBeretHoS + entities: + - uid: 521 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingHeadHatChef + entities: + - uid: 540 + components: + - pos: 2.9483314,-2.1550899 + parent: 1 + type: Transform +- proto: ClothingHeadHatHoshat + entities: + - uid: 522 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingNeckCloakCapFormal + entities: + - uid: 523 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingNeckMantleHOS + entities: + - uid: 542 + components: + - flags: InContainer + type: MetaData + - parent: 541 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingOuterArmorReflective + entities: + - uid: 524 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingOuterCoatHoSTrench + entities: + - uid: 525 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingOuterJacketChef + entities: + - uid: 543 + components: + - pos: 2.9327064,-2.4832149 + parent: 1 + type: Transform +- proto: ClothingOuterWinterHoS + entities: + - uid: 526 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpskirtCapFormalDress + entities: + - uid: 527 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpskirtHoS + entities: + - uid: 528 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpskirtHoSAlt + entities: + - uid: 529 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpskirtHoSParadeMale + entities: + - uid: 530 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitCapFormal + entities: + - uid: 531 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitHoS + entities: + - uid: 532 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitHoSAlt + entities: + - uid: 533 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitHoSBlue + entities: + - uid: 534 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitHoSGrey + entities: + - uid: 535 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ClothingUniformJumpsuitHoSParadeMale + entities: + - uid: 536 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ComfyChair + entities: + - uid: 544 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,11.5 + parent: 1 + type: Transform +- proto: ComputerCrewMonitoring + entities: + - uid: 545 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,16.5 + parent: 1 + type: Transform +- proto: ComputerCriminalRecords + entities: + - uid: 546 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,16.5 + parent: 1 + type: Transform +- proto: ComputerIFFSyndicate + entities: + - uid: 547 + components: + - pos: 0.5,17.5 + parent: 1 + type: Transform +- proto: ComputerRadar + entities: + - uid: 548 + components: + - pos: -0.5,17.5 + parent: 1 + type: Transform +- proto: ComputerShuttle + entities: + - uid: 549 + components: + - pos: 1.5,17.5 + parent: 1 + type: Transform +- proto: ComputerSurveillanceCameraMonitor + entities: + - uid: 550 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,11.5 + parent: 1 + type: Transform +- proto: CrateChemistrySupplies + entities: + - uid: 551 + components: + - pos: -2.5,0.5 + parent: 1 + type: Transform +- proto: CrateFoodCooking + entities: + - uid: 552 + components: + - pos: -1.5,-0.5 + parent: 1 + type: Transform +- proto: CrateHydroponicsSeeds + entities: + - uid: 553 + components: + - pos: -2.5,-0.5 + parent: 1 + type: Transform +- proto: CryoPod + entities: + - uid: 554 + components: + - pos: -2.5,6.5 + parent: 1 + type: Transform +- proto: DefibrillatorCabinetFilled + entities: + - uid: 555 + components: + - rot: 3.141592653589793 rad + pos: -3.5,4.5 + parent: 1 + type: Transform +- proto: DisposalPipe + entities: + - uid: 556 + components: + - pos: 2.5,-6.5 + parent: 1 + type: Transform + - uid: 557 + components: + - pos: 2.5,-7.5 + parent: 1 + type: Transform + - uid: 558 + components: + - pos: 2.5,-8.5 + parent: 1 + type: Transform + - uid: 559 + components: + - pos: 2.5,-9.5 + parent: 1 + type: Transform + - uid: 560 + components: + - pos: 2.5,-10.5 + parent: 1 + type: Transform + - uid: 561 + components: + - pos: 2.5,-11.5 + parent: 1 + type: Transform +- proto: DisposalTrunk + entities: + - uid: 562 + components: + - pos: 2.5,-5.5 + parent: 1 + type: Transform +- proto: DisposalUnit + entities: + - uid: 563 + components: + - pos: 2.5,-5.5 + parent: 1 + type: Transform +- proto: EmergencyLight + entities: + - uid: 564 + components: + - pos: 13.5,-17.5 + parent: 1 + type: Transform + - uid: 565 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,1.5 + parent: 1 + type: Transform + - uid: 566 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,7.5 + parent: 1 + type: Transform + - uid: 567 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,11.5 + parent: 1 + type: Transform + - uid: 568 + components: + - rot: 3.141592653589793 rad + pos: 1.5,15.5 + parent: 1 + type: Transform + - uid: 569 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,12.5 + parent: 1 + type: Transform + - uid: 570 + components: + - rot: -1.5707963267948966 rad + pos: -5.5,7.5 + parent: 1 + type: Transform + - uid: 571 + components: + - rot: 3.141592653589793 rad + pos: 4.5,11.5 + parent: 1 + type: Transform + - uid: 572 + components: + - rot: 1.5707963267948966 rad + pos: 6.5,8.5 + parent: 1 + type: Transform + - uid: 573 + components: + - pos: 3.5,9.5 + parent: 1 + type: Transform + - uid: 574 + components: + - pos: 6.5,-7.5 + parent: 1 + type: Transform + - uid: 575 + components: + - pos: -5.5,-7.5 + parent: 1 + type: Transform + - uid: 576 + components: + - rot: -1.5707963267948966 rad + pos: -2.5,-11.5 + parent: 1 + type: Transform + - uid: 577 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,-11.5 + parent: 1 + type: Transform + - uid: 578 + components: + - pos: -12.5,-17.5 + parent: 1 + type: Transform + - uid: 579 + components: + - rot: -1.5707963267948966 rad + pos: -10.5,-10.5 + parent: 1 + type: Transform + - uid: 580 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-10.5 + parent: 1 + type: Transform + - uid: 581 + components: + - rot: 3.141592653589793 rad + pos: 12.5,2.5 + parent: 1 + type: Transform + - uid: 582 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,8.5 + parent: 1 + type: Transform + - uid: 583 + components: + - rot: -1.5707963267948966 rad + pos: -8.5,8.5 + parent: 1 + type: Transform + - uid: 584 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,1.5 + parent: 1 + type: Transform + - uid: 585 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,1.5 + parent: 1 + type: Transform + - uid: 586 + components: + - rot: 3.141592653589793 rad + pos: -11.5,2.5 + parent: 1 + type: Transform + - uid: 587 + components: + - pos: 3.5,-2.5 + parent: 1 + type: Transform + - uid: 588 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-3.5 + parent: 1 + type: Transform + - uid: 589 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,-0.5 + parent: 1 + type: Transform + - uid: 590 + components: + - pos: -1.5,6.5 + parent: 1 + type: Transform + - uid: 591 + components: + - rot: 3.141592653589793 rad + pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 592 + components: + - pos: -3.5,9.5 + parent: 1 + type: Transform +- proto: EmpGrenade + entities: + - uid: 594 + components: + - flags: InContainer + type: MetaData + - parent: 593 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage + - uid: 595 + components: + - flags: InContainer + type: MetaData + - parent: 593 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: EncryptionKeyCommand + entities: + - uid: 596 + components: + - pos: -0.4780044,17.587757 + parent: 1 + type: Transform + - uid: 597 + components: + - pos: 1.5063705,17.587757 + parent: 1 + type: Transform +- proto: ExtinguisherCabinetFilled + entities: + - uid: 598 + components: + - pos: -0.5,1.5 + parent: 1 + type: Transform + - uid: 599 + components: + - pos: 6.5,-6.5 + parent: 1 + type: Transform + - uid: 600 + components: + - pos: -5.5,-6.5 + parent: 1 + type: Transform + - uid: 601 + components: + - pos: -9.5,-9.5 + parent: 1 + type: Transform + - uid: 602 + components: + - pos: 10.5,-9.5 + parent: 1 + type: Transform + - uid: 603 + components: + - pos: -0.5,4.5 + parent: 1 + type: Transform + - uid: 604 + components: + - pos: -5.5,6.5 + parent: 1 + type: Transform + - uid: 605 + components: + - pos: -1.5,14.5 + parent: 1 + type: Transform +- proto: FaxMachineBase + entities: + - uid: 606 + components: + - pos: 2.5,15.5 + parent: 1 + type: Transform +- proto: FireAxeCabinetFilled + entities: + - uid: 607 + components: + - pos: 3.5,14.5 + parent: 1 + type: Transform +- proto: FirelockGlass + entities: + - uid: 608 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,10.5 + parent: 1 + type: Transform + - uid: 609 + components: + - pos: 0.5,7.5 + parent: 1 + type: Transform + - uid: 610 + components: + - pos: -1.5,-8.5 + parent: 1 + type: Transform + - uid: 611 + components: + - pos: 2.5,-8.5 + parent: 1 + type: Transform + - uid: 612 + components: + - pos: -7.5,-8.5 + parent: 1 + type: Transform + - uid: 613 + components: + - pos: 8.5,-8.5 + parent: 1 + type: Transform + - uid: 614 + components: + - pos: -9.5,-8.5 + parent: 1 + type: Transform + - uid: 615 + components: + - pos: -10.5,-12.5 + parent: 1 + type: Transform + - uid: 616 + components: + - pos: 10.5,-8.5 + parent: 1 + type: Transform + - uid: 617 + components: + - pos: 11.5,-12.5 + parent: 1 + type: Transform + - uid: 618 + components: + - pos: -2.5,-6.5 + parent: 1 + type: Transform + - uid: 619 + components: + - pos: 3.5,-6.5 + parent: 1 + type: Transform + - uid: 620 + components: + - pos: 0.5,-1.5 + parent: 1 + type: Transform + - uid: 621 + components: + - pos: -0.5,0.5 + parent: 1 + type: Transform + - uid: 622 + components: + - pos: -0.5,5.5 + parent: 1 + type: Transform + - uid: 623 + components: + - pos: -0.5,11.5 + parent: 1 + type: Transform + - uid: 624 + components: + - pos: 1.5,9.5 + parent: 1 + type: Transform + - uid: 625 + components: + - pos: 1.5,12.5 + parent: 1 + type: Transform + - uid: 626 + components: + - pos: 0.5,1.5 + parent: 1 + type: Transform + - uid: 627 + components: + - pos: 0.5,4.5 + parent: 1 + type: Transform +- proto: GasDualPortVentPump + entities: + - uid: 628 + components: + - pos: 0.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 629 + components: + - rot: 3.141592653589793 rad + pos: 0.5,13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 630 + components: + - pos: 0.5,6.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 631 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 632 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,0.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound +- proto: GasFilterFlipped + entities: + - uid: 633 + components: + - pos: -2.5,5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor +- proto: GasMixer + entities: + - uid: 634 + components: + - pos: -5.5,8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor +- proto: GasPassiveVent + entities: + - uid: 635 + components: + - rot: 3.141592653589793 rad + pos: -6.5,5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor +- proto: GasPipeBend + entities: + - uid: 636 + components: + - rot: 3.141592653589793 rad + pos: -5.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 637 + components: + - pos: -5.5,10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound + - uid: 638 + components: + - pos: -4.5,9.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 639 + components: + - rot: 3.141592653589793 rad + pos: -4.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 640 + components: + - rot: 3.141592653589793 rad + pos: 0.5,5.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 641 + components: + - pos: 1.5,5.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 642 + components: + - rot: 3.141592653589793 rad + pos: -0.5,5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 643 + components: + - pos: 0.5,5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 644 + components: + - pos: 12.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 645 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 646 + components: + - rot: 3.141592653589793 rad + pos: -3.5,5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 647 + components: + - rot: 3.141592653589793 rad + pos: -2.5,4.5 + parent: 1 + type: Transform + - uid: 648 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,4.5 + parent: 1 + type: Transform + - uid: 649 + components: + - rot: 3.141592653589793 rad + pos: -5.5,9.5 + parent: 1 + type: Transform + - uid: 650 + components: + - pos: -5.5,9.5 + parent: 1 + type: Transform + - uid: 651 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 652 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 653 + components: + - rot: 1.5707963267948966 rad + pos: -6.5,10.5 + parent: 1 + type: Transform + - enabled: True + type: AmbientSound +- proto: GasPipeFourway + entities: + - uid: 654 + components: + - pos: -0.5,11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 655 + components: + - pos: 0.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 656 + components: + - pos: 0.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 657 + components: + - pos: 0.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 658 + components: + - pos: -0.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 659 + components: + - pos: 1.5,2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 660 + components: + - pos: 0.5,-4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 661 + components: + - pos: 1.5,-2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 662 + components: + - pos: 0.5,-0.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 663 + components: + - pos: 0.5,3.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 664 + components: + - pos: 1.5,0.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor +- proto: GasPipeStraight + entities: + - uid: 665 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 666 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 667 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 668 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 669 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 670 + components: + - pos: -0.5,10.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 671 + components: + - pos: -0.5,9.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 672 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 673 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,-2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 674 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-1.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 675 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-3.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 676 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 677 + components: + - rot: 3.141592653589793 rad + pos: -6.5,6.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 678 + components: + - rot: 3.141592653589793 rad + pos: -6.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 679 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 680 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 681 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 682 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 683 + components: + - rot: 3.141592653589793 rad + pos: 0.5,0.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 684 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 685 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 686 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 687 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 688 + components: + - rot: 3.141592653589793 rad + pos: 3.5,8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 689 + components: + - rot: 3.141592653589793 rad + pos: 0.5,8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 690 + components: + - rot: 3.141592653589793 rad + pos: 0.5,10.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 691 + components: + - rot: 3.141592653589793 rad + pos: 0.5,11.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 692 + components: + - rot: 3.141592653589793 rad + pos: 0.5,14.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 693 + components: + - rot: 3.141592653589793 rad + pos: 0.5,15.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 694 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 695 + components: + - pos: -0.5,7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 696 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 697 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 698 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 699 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 700 + components: + - pos: 1.5,4.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 701 + components: + - pos: -0.5,6.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 702 + components: + - pos: 0.5,4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 703 + components: + - pos: 1.5,3.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 704 + components: + - pos: 1.5,1.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 705 + components: + - pos: 1.5,-0.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 706 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-2.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 707 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-5.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 708 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-6.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 709 + components: + - rot: 3.141592653589793 rad + pos: 0.5,1.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 710 + components: + - rot: 3.141592653589793 rad + pos: 0.5,2.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 711 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 712 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 713 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 714 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 715 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 716 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 717 + components: + - rot: 1.5707963267948966 rad + pos: -5.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 718 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 719 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 720 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 721 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 722 + components: + - rot: 1.5707963267948966 rad + pos: 6.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 723 + components: + - pos: 1.5,-1.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 724 + components: + - pos: 1.5,-3.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 725 + components: + - pos: 1.5,-4.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 726 + components: + - pos: 1.5,-5.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 727 + components: + - pos: 1.5,-6.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 728 + components: + - pos: 1.5,-7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 729 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 730 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 731 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 732 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 733 + components: + - rot: 1.5707963267948966 rad + pos: 6.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 734 + components: + - rot: 1.5707963267948966 rad + pos: 7.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 735 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 736 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 737 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 738 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 739 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 740 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 741 + components: + - rot: 1.5707963267948966 rad + pos: -5.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 742 + components: + - rot: 1.5707963267948966 rad + pos: -6.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 743 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 744 + components: + - rot: 1.5707963267948966 rad + pos: -8.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 745 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 746 + components: + - rot: 1.5707963267948966 rad + pos: -6.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 747 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 748 + components: + - rot: 1.5707963267948966 rad + pos: -8.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 749 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 750 + components: + - rot: 1.5707963267948966 rad + pos: -10.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 751 + components: + - rot: 1.5707963267948966 rad + pos: 7.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 752 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 753 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 754 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 755 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 756 + components: + - pos: -11.5,-8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 757 + components: + - pos: -11.5,-9.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 758 + components: + - pos: -11.5,-10.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 759 + components: + - pos: 12.5,-8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 760 + components: + - pos: 12.5,-9.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 761 + components: + - pos: 12.5,-10.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 762 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,-2.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 763 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,-4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 764 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 765 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,-4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 766 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,-4.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 767 + components: + - pos: -3.5,7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 768 + components: + - pos: -3.5,6.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 769 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 770 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - enabled: True + type: AmbientSound + - uid: 771 + components: + - rot: 3.141592653589793 rad + pos: 2.5,12.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 772 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 773 + components: + - pos: -0.5,12.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 774 + components: + - pos: -0.5,14.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 775 + components: + - pos: -0.5,13.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 776 + components: + - pos: 12.5,-12.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 777 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-9.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 778 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-10.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 779 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-11.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 780 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 781 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-13.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 782 + components: + - pos: -11.5,-12.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 783 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-9.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 784 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-10.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 785 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-11.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 786 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-12.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 787 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-13.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 788 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,-0.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 789 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,0.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 790 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,3.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 791 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,-0.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 792 + components: + - rot: -1.5707963267948966 rad + pos: -0.5,3.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 793 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,3.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 794 + components: + - pos: -6.5,9.5 + parent: 1 + type: Transform +- proto: GasPipeTJunction + entities: + - uid: 795 + components: + - rot: 3.141592653589793 rad + pos: 2.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 796 + components: + - pos: -4.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 797 + components: + - pos: 5.5,-7.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 798 + components: + - rot: 3.141592653589793 rad + pos: 4.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 799 + components: + - pos: 11.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 800 + components: + - rot: 3.141592653589793 rad + pos: -0.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 801 + components: + - rot: 3.141592653589793 rad + pos: -3.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 802 + components: + - pos: -10.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 803 + components: + - rot: 3.141592653589793 rad + pos: 3.5,7.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 804 + components: + - pos: -3.5,8.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 805 + components: + - rot: 3.141592653589793 rad + pos: 1.5,-8.5 + parent: 1 + type: Transform + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 806 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,-11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor + - uid: 807 + components: + - rot: -1.5707963267948966 rad + pos: 12.5,-11.5 + parent: 1 + type: Transform + - color: '#990000FF' + type: AtmosPipeColor +- proto: GasPort + entities: + - uid: 808 + components: + - rot: 1.5707963267948966 rad + pos: -6.5,8.5 + parent: 1 + type: Transform + - uid: 809 + components: + - pos: -1.5,6.5 + parent: 1 + type: Transform + - uid: 810 + components: + - rot: 1.5707963267948966 rad + pos: -6.5,9.5 + parent: 1 + type: Transform +- proto: GasPressurePump + entities: + - uid: 811 + components: + - pos: -1.5,5.5 + parent: 1 + type: Transform +- proto: GasValve + entities: + - uid: 812 + components: + - rot: 3.141592653589793 rad + pos: -6.5,7.5 + parent: 1 + type: Transform + - open: False + type: GasValve + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor +- proto: GasVentPump + entities: + - uid: 813 + components: + - pos: 0.5,16.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 814 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,12.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 815 + components: + - pos: 3.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 816 + components: + - rot: -1.5707963267948966 rad + pos: 6.5,7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 817 + components: + - pos: 3.5,13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 818 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 819 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 820 + components: + - pos: -3.5,-7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 821 + components: + - pos: 4.5,-7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 822 + components: + - pos: -0.5,-7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 823 + components: + - rot: -1.5707963267948966 rad + pos: 12.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 824 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 825 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 826 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,0.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 827 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,0.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 828 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 829 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-14.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor + - uid: 830 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-14.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#0055CCFF' + type: AtmosPipeColor +- proto: GasVentScrubber + entities: + - uid: 831 + components: + - pos: 2.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 832 + components: + - rot: -1.5707963267948966 rad + pos: 6.5,8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 833 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,11.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 834 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 835 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,-4.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 836 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,-4.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 837 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 838 + components: + - rot: 3.141592653589793 rad + pos: -4.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 839 + components: + - rot: 3.141592653589793 rad + pos: 5.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 840 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-11.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 841 + components: + - rot: 3.141592653589793 rad + pos: 12.5,-13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 842 + components: + - rot: 3.141592653589793 rad + pos: -11.5,-13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 843 + components: + - rot: -1.5707963267948966 rad + pos: -10.5,-11.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 844 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,3.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 845 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-0.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 846 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,3.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor + - uid: 847 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-0.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - color: '#990000FF' + type: AtmosPipeColor +- proto: GeneratorWallmountAPU + entities: + - uid: 848 + components: + - pos: 1.5,14.5 + parent: 1 + type: Transform +- proto: GravityGeneratorMini + entities: + - uid: 849 + components: + - pos: 5.5,5.5 + parent: 1 + type: Transform +- proto: Grille + entities: + - uid: 850 + components: + - pos: 6.5,-9.5 + parent: 1 + type: Transform + - uid: 851 + components: + - pos: -6.5,-9.5 + parent: 1 + type: Transform + - uid: 852 + components: + - pos: -5.5,-9.5 + parent: 1 + type: Transform + - uid: 853 + components: + - pos: -4.5,-9.5 + parent: 1 + type: Transform + - uid: 854 + components: + - pos: -3.5,-9.5 + parent: 1 + type: Transform + - uid: 855 + components: + - pos: 4.5,-9.5 + parent: 1 + type: Transform + - uid: 856 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-13.5 + parent: 1 + type: Transform + - uid: 857 + components: + - pos: 7.5,-9.5 + parent: 1 + type: Transform + - uid: 858 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,18.5 + parent: 1 + type: Transform + - uid: 859 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,18.5 + parent: 1 + type: Transform + - uid: 860 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,18.5 + parent: 1 + type: Transform + - uid: 861 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,16.5 + parent: 1 + type: Transform + - uid: 862 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,16.5 + parent: 1 + type: Transform + - uid: 863 + components: + - pos: 5.5,-9.5 + parent: 1 + type: Transform + - uid: 864 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-13.5 + parent: 1 + type: Transform + - uid: 865 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-14.5 + parent: 1 + type: Transform + - uid: 866 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-15.5 + parent: 1 + type: Transform + - uid: 867 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-14.5 + parent: 1 + type: Transform + - uid: 868 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-15.5 + parent: 1 + type: Transform +- proto: GunSafeLaserCarbine + entities: + - uid: 593 + components: + - pos: 7.5,8.5 + parent: 1 + type: Transform + - air: + volume: 200 + immutable: False + temperature: 293.1496 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + type: EntityStorage + - containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 594 + - 595 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + type: ContainerContainer +- proto: GunSafeRifleLecter + entities: + - uid: 869 + components: + - pos: 7.5,9.5 + parent: 1 + type: Transform +- proto: Gyroscope + entities: + - uid: 870 + components: + - pos: 11.5,-6.5 + parent: 1 + type: Transform + - uid: 871 + components: + - pos: 13.5,-6.5 + parent: 1 + type: Transform + - uid: 872 + components: + - pos: -12.5,-6.5 + parent: 1 + type: Transform + - uid: 873 + components: + - pos: -10.5,-6.5 + parent: 1 + type: Transform +- proto: HighSecArmoryLocked + entities: + - uid: 874 + components: + - pos: 5.5,9.5 + parent: 1 + type: Transform +- proto: HighSecDoor + entities: + - uid: 875 + components: + - pos: 0.5,14.5 + parent: 1 + type: Transform +- proto: HospitalCurtainsOpen + entities: + - uid: 876 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-11.5 + parent: 1 + type: Transform + - uid: 877 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-10.5 + parent: 1 + type: Transform + - uid: 878 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-9.5 + parent: 1 + type: Transform + - uid: 879 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-8.5 + parent: 1 + type: Transform + - uid: 880 + components: + - rot: -1.5707963267948966 rad + pos: 13.5,-11.5 + parent: 1 + type: Transform + - uid: 881 + components: + - rot: -1.5707963267948966 rad + pos: 13.5,-10.5 + parent: 1 + type: Transform + - uid: 882 + components: + - rot: -1.5707963267948966 rad + pos: 13.5,-9.5 + parent: 1 + type: Transform + - uid: 883 + components: + - rot: -1.5707963267948966 rad + pos: 13.5,-8.5 + parent: 1 + type: Transform +- proto: hydroponicsTray + entities: + - uid: 884 + components: + - pos: 4.5,-4.5 + parent: 1 + type: Transform + - uid: 885 + components: + - pos: 5.5,-5.5 + parent: 1 + type: Transform +- proto: IntercomCommand + entities: + - uid: 886 + components: + - pos: -1.5,17.5 + parent: 1 + type: Transform +- proto: IntercomMedical + entities: + - uid: 887 + components: + - pos: -4.5,6.5 + parent: 1 + type: Transform +- proto: IntercomSecurity + entities: + - uid: 888 + components: + - pos: 2.5,17.5 + parent: 1 + type: Transform + - uid: 889 + components: + - pos: 1.5,-2.5 + parent: 1 + type: Transform +- proto: JetpackCaptainFilled + entities: + - uid: 537 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: KitchenMicrowave + entities: + - uid: 890 + components: + - pos: 3.5,-2.5 + parent: 1 + type: Transform +- proto: LockerBrigmedicFilled + entities: + - uid: 891 + components: + - pos: -2.5,2.5 + parent: 1 + type: Transform +- proto: LockerCaptain + entities: + - uid: 519 + components: + - pos: 4.5,11.5 + parent: 1 + type: Transform + - air: + volume: 200 + immutable: False + temperature: 293.1496 + moles: + - 1.7459903 + - 6.568249 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + type: EntityStorage + - containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 524 + - 526 + - 525 + - 538 + - 521 + - 522 + - 528 + - 534 + - 535 + - 530 + - 533 + - 529 + - 536 + - 532 + - 539 + - 520 + - 527 + - 537 + - 531 + - 523 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + type: ContainerContainer +- proto: LockerDetectiveFilled + entities: + - uid: 892 + components: + - pos: -3.5,8.5 + parent: 1 + type: Transform +- proto: LockerEvidence + entities: + - uid: 893 + components: + - pos: 1.5,0.5 + parent: 1 + type: Transform + - uid: 894 + components: + - pos: 1.5,2.5 + parent: 1 + type: Transform +- proto: LockerSecurityFilled + entities: + - uid: 895 + components: + - pos: -1.5,8.5 + parent: 1 + type: Transform + - uid: 896 + components: + - pos: -1.5,9.5 + parent: 1 + type: Transform + - uid: 897 + components: + - pos: -2.5,8.5 + parent: 1 + type: Transform +- proto: MedicalBed + entities: + - uid: 898 + components: + - pos: -1.5,4.5 + parent: 1 + type: Transform +- proto: MedkitAdvancedFilled + entities: + - uid: 899 + components: + - pos: -1.6450095,3.1596446 + parent: 1 + type: Transform + - uid: 900 + components: + - pos: -1.3168845,3.5033946 + parent: 1 + type: Transform +- proto: MedkitCombatFilled + entities: + - uid: 901 + components: + - pos: -1.2988293,2.669033 + parent: 1 + type: Transform + - uid: 902 + components: + - pos: -1.6113293,2.512783 + parent: 1 + type: Transform +- proto: NitrogenCanister + entities: + - uid: 903 + components: + - pos: -6.5,9.5 + parent: 1 + type: Transform +- proto: OxygenCanister + entities: + - uid: 904 + components: + - pos: -6.5,8.5 + parent: 1 + type: Transform + - uid: 905 + components: + - pos: -1.5,6.5 + parent: 1 + type: Transform +- proto: PaperBin10 + entities: + - uid: 906 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform +- proto: PortableFlasher + entities: + - uid: 907 + components: + - pos: 14.5,-14.5 + parent: 1 + type: Transform + - uid: 908 + components: + - pos: 0.5,-10.5 + parent: 1 + type: Transform + - uid: 909 + components: + - pos: -13.5,-14.5 + parent: 1 + type: Transform +- proto: PortableScrubber + entities: + - uid: 910 + components: + - pos: -5.5,7.5 + parent: 1 + type: Transform +- proto: PosterContrabandFunPolice + entities: + - uid: 911 + components: + - pos: 1.5,-5.5 + parent: 1 + type: Transform +- proto: PosterLegit12Gauge + entities: + - uid: 912 + components: + - rot: 3.141592653589793 rad + pos: 7.5,10.5 + parent: 1 + type: Transform +- proto: PosterLegitBlessThisSpess + entities: + - uid: 913 + components: + - rot: 3.141592653589793 rad + pos: -3.5,13.5 + parent: 1 + type: Transform +- proto: PosterLegitEnlist + entities: + - uid: 914 + components: + - pos: -1.5,-6.5 + parent: 1 + type: Transform +- proto: PosterLegitIonRifle + entities: + - uid: 915 + components: + - pos: -4.5,-5.5 + parent: 1 + type: Transform +- proto: PosterLegitObey + entities: + - uid: 916 + components: + - pos: 3.5,1.5 + parent: 1 + type: Transform +- proto: PosterLegitSecWatch + entities: + - uid: 917 + components: + - pos: -0.5,2.5 + parent: 1 + type: Transform +- proto: PosterLegitWalk + entities: + - uid: 918 + components: + - pos: 1.5,6.5 + parent: 1 + type: Transform +- proto: PottedPlantRandom + entities: + - uid: 919 + components: + - pos: -1.5,-5.5 + parent: 1 + type: Transform + - uid: 920 + components: + - pos: -0.5,-5.5 + parent: 1 + type: Transform + - uid: 921 + components: + - pos: 0.5,-5.5 + parent: 1 + type: Transform +- proto: Poweredlight + entities: + - uid: 922 + components: + - pos: 12.5,-13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 923 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,1.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 924 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-8.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 925 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-5.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 926 + components: + - pos: -11.5,-13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 927 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,6.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 928 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,12.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 929 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 930 + components: + - pos: 2.5,13.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 931 + components: + - pos: 2.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 932 + components: + - pos: 7.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 933 + components: + - rot: 3.141592653589793 rad + pos: -2.5,2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 934 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-15.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 935 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-15.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 936 + components: + - pos: -4.5,-7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 937 + components: + - pos: 2.5,-2.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 938 + components: + - pos: 5.5,-7.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 939 + components: + - pos: -6.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 940 + components: + - pos: 0.5,-10.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound +- proto: PoweredlightColoredRed + entities: + - uid: 941 + components: + - pos: 3.5,-10.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 942 + components: + - rot: -1.5707963267948966 rad + pos: 9.5,-12.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 943 + components: + - rot: 1.5707963267948966 rad + pos: -8.5,-12.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 944 + components: + - pos: -2.5,-10.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 945 + components: + - pos: -10.5,-17.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 946 + components: + - pos: 11.5,-17.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 947 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,15.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 948 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,15.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 949 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 950 + components: + - rot: -1.5707963267948966 rad + pos: -8.5,9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 951 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,14.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 952 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,1.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 953 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,1.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 954 + components: + - rot: 3.141592653589793 rad + pos: 8.5,-5.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 955 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-5.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 956 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,14.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound +- proto: PoweredlightLED + entities: + - uid: 957 + components: + - rot: -1.5707963267948966 rad + pos: -10.5,-9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound + - uid: 958 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-9.5 + parent: 1 + type: Transform + - enabled: False + type: AmbientSound +- proto: PoweredLightPostSmallRed + entities: + - uid: 959 + components: + - pos: 0.5,21.5 + parent: 1 + type: Transform +- proto: PoweredSmallLight + entities: + - uid: 960 + components: + - rot: -1.5707963267948966 rad + pos: -13.5,-14.5 + parent: 1 + type: Transform + - uid: 961 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-14.5 + parent: 1 + type: Transform + - uid: 962 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,3.5 + parent: 1 + type: Transform + - uid: 963 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,-0.5 + parent: 1 + type: Transform + - uid: 964 + components: + - pos: -8.5,-8.5 + parent: 1 + type: Transform + - uid: 965 + components: + - pos: 9.5,-8.5 + parent: 1 + type: Transform + - uid: 966 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,12.5 + parent: 1 + type: Transform + - uid: 967 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,-4.5 + parent: 1 + type: Transform + - uid: 968 + components: + - rot: 3.141592653589793 rad + pos: -0.5,-5.5 + parent: 1 + type: Transform + - uid: 969 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,-2.5 + parent: 1 + type: Transform + - uid: 970 + components: + - rot: 3.141592653589793 rad + pos: 2.5,-5.5 + parent: 1 + type: Transform + - uid: 971 + components: + - rot: 3.141592653589793 rad + pos: 5.5,-5.5 + parent: 1 + type: Transform + - uid: 972 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,-0.5 + parent: 1 + type: Transform +- proto: Rack + entities: + - uid: 973 + components: + - pos: 6.5,7.5 + parent: 1 + type: Transform + - uid: 974 + components: + - pos: -1.5,12.5 + parent: 1 + type: Transform +- proto: Railing + entities: + - uid: 975 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-21.5 + parent: 1 + type: Transform + - uid: 976 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-20.5 + parent: 1 + type: Transform + - uid: 977 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-19.5 + parent: 1 + type: Transform + - uid: 978 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-18.5 + parent: 1 + type: Transform + - uid: 979 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-17.5 + parent: 1 + type: Transform + - uid: 980 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-21.5 + parent: 1 + type: Transform + - uid: 981 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-17.5 + parent: 1 + type: Transform + - uid: 982 + components: + - rot: -1.5707963267948966 rad + pos: -10.5,-21.5 + parent: 1 + type: Transform + - uid: 983 + components: + - rot: -1.5707963267948966 rad + pos: -13.5,-17.5 + parent: 1 + type: Transform + - uid: 984 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-21.5 + parent: 1 + type: Transform + - uid: 985 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-20.5 + parent: 1 + type: Transform + - uid: 986 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-19.5 + parent: 1 + type: Transform + - uid: 987 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-18.5 + parent: 1 + type: Transform + - uid: 988 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-17.5 + parent: 1 + type: Transform + - uid: 989 + components: + - pos: -2.5,-11.5 + parent: 1 + type: Transform + - uid: 990 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,-11.5 + parent: 1 + type: Transform + - uid: 991 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,-10.5 + parent: 1 + type: Transform + - uid: 992 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,-9.5 + parent: 1 + type: Transform + - uid: 993 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,-8.5 + parent: 1 + type: Transform + - uid: 994 + components: + - rot: -1.5707963267948966 rad + pos: -11.5,-11.5 + parent: 1 + type: Transform + - uid: 995 + components: + - rot: -1.5707963267948966 rad + pos: -11.5,-10.5 + parent: 1 + type: Transform + - uid: 996 + components: + - rot: -1.5707963267948966 rad + pos: -11.5,-9.5 + parent: 1 + type: Transform + - uid: 997 + components: + - rot: -1.5707963267948966 rad + pos: -11.5,-8.5 + parent: 1 + type: Transform + - uid: 998 + components: + - pos: 5.5,-11.5 + parent: 1 + type: Transform + - uid: 999 + components: + - pos: -4.5,-11.5 + parent: 1 + type: Transform + - uid: 1000 + components: + - pos: -5.5,-11.5 + parent: 1 + type: Transform + - uid: 1001 + components: + - pos: -3.5,-11.5 + parent: 1 + type: Transform + - uid: 1002 + components: + - pos: 4.5,-11.5 + parent: 1 + type: Transform + - uid: 1003 + components: + - pos: 3.5,-11.5 + parent: 1 + type: Transform + - uid: 1004 + components: + - pos: -6.5,-11.5 + parent: 1 + type: Transform + - uid: 1005 + components: + - pos: 6.5,-11.5 + parent: 1 + type: Transform + - uid: 1006 + components: + - pos: 7.5,-11.5 + parent: 1 + type: Transform +- proto: RailingCorner + entities: + - uid: 1007 + components: + - pos: 11.5,-22.5 + parent: 1 + type: Transform + - uid: 1008 + components: + - rot: -1.5707963267948966 rad + pos: 10.5,-22.5 + parent: 1 + type: Transform + - uid: 1009 + components: + - pos: 12.5,-20.5 + parent: 1 + type: Transform + - uid: 1010 + components: + - pos: 13.5,-19.5 + parent: 1 + type: Transform + - uid: 1011 + components: + - pos: 14.5,-18.5 + parent: 1 + type: Transform + - uid: 1012 + components: + - pos: -9.5,-22.5 + parent: 1 + type: Transform + - uid: 1013 + components: + - rot: -1.5707963267948966 rad + pos: -10.5,-22.5 + parent: 1 + type: Transform + - uid: 1014 + components: + - rot: -1.5707963267948966 rad + pos: -11.5,-20.5 + parent: 1 + type: Transform + - uid: 1015 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-19.5 + parent: 1 + type: Transform + - uid: 1016 + components: + - rot: -1.5707963267948966 rad + pos: -13.5,-18.5 + parent: 1 + type: Transform + - uid: 1017 + components: + - rot: -1.5707963267948966 rad + pos: 8.5,-12.5 + parent: 1 + type: Transform + - uid: 1018 + components: + - rot: -1.5707963267948966 rad + pos: 9.5,-13.5 + parent: 1 + type: Transform + - uid: 1019 + components: + - pos: -7.5,-12.5 + parent: 1 + type: Transform + - uid: 1020 + components: + - pos: -8.5,-13.5 + parent: 1 + type: Transform +- proto: RailingCornerSmall + entities: + - uid: 1021 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-20.5 + parent: 1 + type: Transform + - uid: 1022 + components: + - rot: 3.141592653589793 rad + pos: 12.5,-19.5 + parent: 1 + type: Transform + - uid: 1023 + components: + - rot: 3.141592653589793 rad + pos: 13.5,-18.5 + parent: 1 + type: Transform + - uid: 1024 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-18.5 + parent: 1 + type: Transform + - uid: 1025 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,-19.5 + parent: 1 + type: Transform + - uid: 1026 + components: + - rot: 1.5707963267948966 rad + pos: -10.5,-20.5 + parent: 1 + type: Transform + - uid: 1027 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,-12.5 + parent: 1 + type: Transform + - uid: 1028 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,-11.5 + parent: 1 + type: Transform + - uid: 1029 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-11.5 + parent: 1 + type: Transform + - uid: 1030 + components: + - rot: 3.141592653589793 rad + pos: -8.5,-12.5 + parent: 1 + type: Transform +- proto: RandomPosterLegit + entities: + - uid: 1031 + components: + - pos: -0.5,8.5 + parent: 1 + type: Transform + - uid: 1032 + components: + - pos: -0.5,10.5 + parent: 1 + type: Transform + - uid: 1033 + components: + - pos: 1.5,10.5 + parent: 1 + type: Transform + - uid: 1034 + components: + - pos: 1.5,8.5 + parent: 1 + type: Transform + - uid: 1035 + components: + - pos: 5.5,-4.5 + parent: 1 + type: Transform +- proto: RandomVendingDrinks + entities: + - uid: 1036 + components: + - pos: -3.5,-4.5 + parent: 1 + type: Transform +- proto: RandomVendingSnacks + entities: + - uid: 1037 + components: + - pos: -3.5,-5.5 + parent: 1 + type: Transform +- proto: ReinforcedPlasmaWindow + entities: + - uid: 1038 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,16.5 + parent: 1 + type: Transform + - uid: 1039 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,16.5 + parent: 1 + type: Transform + - uid: 1040 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,18.5 + parent: 1 + type: Transform + - uid: 1041 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,18.5 + parent: 1 + type: Transform + - uid: 1042 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,18.5 + parent: 1 + type: Transform +- proto: ReinforcedWindow + entities: + - uid: 1043 + components: + - pos: 7.5,-9.5 + parent: 1 + type: Transform + - uid: 1044 + components: + - pos: -3.5,-9.5 + parent: 1 + type: Transform + - uid: 1045 + components: + - pos: -5.5,-9.5 + parent: 1 + type: Transform + - uid: 1046 + components: + - pos: -4.5,-9.5 + parent: 1 + type: Transform + - uid: 1047 + components: + - pos: 4.5,-9.5 + parent: 1 + type: Transform + - uid: 1048 + components: + - pos: 6.5,-9.5 + parent: 1 + type: Transform + - uid: 1049 + components: + - pos: -6.5,-9.5 + parent: 1 + type: Transform + - uid: 1050 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-13.5 + parent: 1 + type: Transform + - uid: 1051 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-14.5 + parent: 1 + type: Transform + - uid: 1052 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-15.5 + parent: 1 + type: Transform + - uid: 1053 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-13.5 + parent: 1 + type: Transform + - uid: 1054 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-14.5 + parent: 1 + type: Transform + - uid: 1055 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-15.5 + parent: 1 + type: Transform + - uid: 1056 + components: + - pos: 5.5,-9.5 + parent: 1 + type: Transform +- proto: RiotBulletShield + entities: + - uid: 1057 + components: + - pos: 6.378302,7.4155464 + parent: 1 + type: Transform + - uid: 1058 + components: + - pos: 6.690802,7.4155464 + parent: 1 + type: Transform +- proto: RiotLaserShield + entities: + - uid: 1059 + components: + - pos: 6.284552,7.6342964 + parent: 1 + type: Transform + - uid: 1060 + components: + - pos: 6.643927,7.6811714 + parent: 1 + type: Transform +- proto: RubberStampHos + entities: + - uid: 538 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: SecBreachingHammer + entities: + - uid: 1061 + components: + - pos: 6.5276413,7.5730324 + parent: 1 + type: Transform +- proto: SecurityTechFab + entities: + - uid: 1062 + components: + - pos: 7.5,7.5 + parent: 1 + type: Transform +- proto: ShuttersNormal + entities: + - uid: 1063 + components: + - pos: -9.5,-13.5 + parent: 1 + type: Transform + - links: + - 1086 + type: DeviceLinkSink + - uid: 1064 + components: + - pos: 7.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1065 + components: + - pos: 6.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1066 + components: + - pos: 5.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1067 + components: + - pos: 4.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1068 + components: + - pos: -3.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1069 + components: + - pos: -4.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1070 + components: + - pos: -5.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1071 + components: + - pos: -6.5,-9.5 + parent: 1 + type: Transform + - links: + - 1085 + type: DeviceLinkSink + - uid: 1072 + components: + - pos: -9.5,-14.5 + parent: 1 + type: Transform + - links: + - 1086 + type: DeviceLinkSink + - uid: 1073 + components: + - pos: -9.5,-15.5 + parent: 1 + type: Transform + - links: + - 1086 + type: DeviceLinkSink + - uid: 1074 + components: + - pos: 10.5,-15.5 + parent: 1 + type: Transform + - links: + - 1087 + type: DeviceLinkSink + - uid: 1075 + components: + - pos: 10.5,-14.5 + parent: 1 + type: Transform + - links: + - 1087 + type: DeviceLinkSink + - uid: 1076 + components: + - pos: 10.5,-13.5 + parent: 1 + type: Transform + - links: + - 1087 + type: DeviceLinkSink +- proto: ShuttersNormalOpen + entities: + - uid: 1077 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,-4.5 + parent: 1 + type: Transform + - links: + - 1084 + type: DeviceLinkSink + - uid: 1078 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,-3.5 + parent: 1 + type: Transform + - links: + - 1084 + type: DeviceLinkSink +- proto: ShuttersWindowOpen + entities: + - uid: 1079 + components: + - pos: -2.5,16.5 + parent: 1 + type: Transform + - links: + - 1088 + type: DeviceLinkSink + - uid: 1080 + components: + - pos: -0.5,18.5 + parent: 1 + type: Transform + - links: + - 1088 + type: DeviceLinkSink + - uid: 1081 + components: + - pos: 0.5,18.5 + parent: 1 + type: Transform + - links: + - 1088 + type: DeviceLinkSink + - uid: 1082 + components: + - pos: 1.5,18.5 + parent: 1 + type: Transform + - links: + - 1088 + type: DeviceLinkSink + - uid: 1083 + components: + - pos: 3.5,16.5 + parent: 1 + type: Transform + - links: + - 1088 + type: DeviceLinkSink +- proto: SignalButton + entities: + - uid: 1084 + components: + - pos: 4.5,-3.5 + parent: 1 + type: Transform + - linkedPorts: + 1078: + - Pressed: Toggle + 1077: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1085 + components: + - pos: 0.5,-6.5 + parent: 1 + type: Transform + - linkedPorts: + 1068: + - Pressed: Toggle + 1069: + - Pressed: Toggle + 1070: + - Pressed: Toggle + 1071: + - Pressed: Toggle + 1067: + - Pressed: Toggle + 1066: + - Pressed: Toggle + 1065: + - Pressed: Toggle + 1064: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1086 + components: + - pos: -9.5,-10.5 + parent: 1 + type: Transform + - linkedPorts: + 1063: + - Pressed: Toggle + 1072: + - Pressed: Toggle + 1073: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1087 + components: + - pos: 10.5,-10.5 + parent: 1 + type: Transform + - linkedPorts: + 1076: + - Pressed: Toggle + 1075: + - Pressed: Toggle + 1074: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1088 + components: + - pos: -0.5,14.5 + parent: 1 + type: Transform + - state: True + type: SignalSwitch + - linkedPorts: + 1079: + - Pressed: Toggle + 1080: + - Pressed: Toggle + 1081: + - Pressed: Toggle + 1082: + - Pressed: Toggle + 1083: + - Pressed: Toggle + type: DeviceLinkSource + - type: ItemCooldown + - uid: 1089 + components: + - pos: -3.5,10.5 + parent: 1 + type: Transform + - linkedPorts: + 93: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1090 + components: + - pos: -11.5,-12.5 + parent: 1 + type: Transform + - linkedPorts: + 94: + - Pressed: Toggle + 95: + - Pressed: Toggle + type: DeviceLinkSource + - uid: 1091 + components: + - pos: 12.5,-12.5 + parent: 1 + type: Transform + - linkedPorts: + 97: + - Pressed: Toggle + 96: + - Pressed: Toggle + type: DeviceLinkSource +- proto: SignArmory + entities: + - uid: 1092 + components: + - rot: -1.5707963267948966 rad + pos: 5.5,8.5 + parent: 1 + type: Transform +- proto: SignAtmos + entities: + - uid: 1093 + components: + - pos: -4.5,8.5 + parent: 1 + type: Transform +- proto: SignBridge + entities: + - uid: 1094 + components: + - rot: 3.141592653589793 rad + pos: 1.5,13.5 + parent: 1 + type: Transform +- proto: SignCargo + entities: + - uid: 1095 + components: + - pos: -0.5,-0.5 + parent: 1 + type: Transform +- proto: SignDisposalSpace + entities: + - uid: 1096 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,-6.5 + parent: 1 + type: Transform +- proto: SignEngine + entities: + - uid: 1097 + components: + - pos: 12.5,-7.5 + parent: 1 + type: Transform + - uid: 1098 + components: + - pos: -11.5,-7.5 + parent: 1 + type: Transform +- proto: SignEVA + entities: + - uid: 1099 + components: + - rot: 3.141592653589793 rad + pos: -3.5,12.5 + parent: 1 + type: Transform + - uid: 1100 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-9.5 + parent: 1 + type: Transform +- proto: SignMedical + entities: + - uid: 1101 + components: + - pos: -0.5,6.5 + parent: 1 + type: Transform +- proto: SignSecurity + entities: + - uid: 1102 + components: + - rot: 1.5707963267948966 rad + pos: -14.5,-14.5 + parent: 1 + type: Transform + - uid: 1103 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-14.5 + parent: 1 + type: Transform + - uid: 1104 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-2.5 + parent: 1 + type: Transform + - uid: 1105 + components: + - rot: 1.5707963267948966 rad + pos: -13.5,-2.5 + parent: 1 + type: Transform + - uid: 1106 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,-11.5 + parent: 1 + type: Transform + - uid: 1107 + components: + - pos: -9.5,-2.5 + parent: 1 + type: Transform + - uid: 1108 + components: + - pos: 10.5,-2.5 + parent: 1 + type: Transform +- proto: SignShield + entities: + - uid: 1109 + components: + - pos: 3.5,15.5 + parent: 1 + type: Transform +- proto: SinkWide + entities: + - uid: 1110 + components: + - rot: 3.141592653589793 rad + pos: 4.5,-5.5 + parent: 1 + type: Transform + - uid: 1111 + components: + - rot: 3.141592653589793 rad + pos: 3.5,-0.5 + parent: 1 + type: Transform + - uid: 1112 + components: + - pos: 3.5,3.5 + parent: 1 + type: Transform +- proto: SMESBasic + entities: + - uid: 1113 + components: + - pos: 3.5,8.5 + parent: 1 + type: Transform +- proto: soda_dispenser + entities: + - uid: 1114 + components: + - pos: 2.5,-2.5 + parent: 1 + type: Transform +- proto: SpawnPointBrigmedic + entities: + - uid: 1115 + components: + - pos: -2.5,5.5 + parent: 1 + type: Transform +- proto: SpawnPointDetective + entities: + - uid: 1116 + components: + - pos: -2.5,10.5 + parent: 1 + type: Transform +- proto: SpawnPointLatejoin + entities: + - uid: 1117 + components: + - pos: -12.5,-8.5 + parent: 1 + type: Transform + - uid: 1118 + components: + - pos: -12.5,-9.5 + parent: 1 + type: Transform + - uid: 1119 + components: + - pos: -12.5,-10.5 + parent: 1 + type: Transform + - uid: 1120 + components: + - pos: -12.5,-11.5 + parent: 1 + type: Transform + - uid: 1121 + components: + - pos: 13.5,-8.5 + parent: 1 + type: Transform + - uid: 1122 + components: + - pos: 13.5,-9.5 + parent: 1 + type: Transform + - uid: 1123 + components: + - pos: 13.5,-10.5 + parent: 1 + type: Transform + - uid: 1124 + components: + - pos: 13.5,-11.5 + parent: 1 + type: Transform +- proto: SpawnPointSecurityOfficer + entities: + - uid: 1125 + components: + - pos: -2.5,8.5 + parent: 1 + type: Transform + - uid: 1126 + components: + - pos: -2.5,9.5 + parent: 1 + type: Transform +- proto: SpawnPointWarden + entities: + - uid: 1127 + components: + - pos: -0.5,16.5 + parent: 1 + type: Transform +- proto: StationMap + entities: + - uid: 1128 + components: + - pos: -3.5,-3.5 + parent: 1 + type: Transform +- proto: SubstationBasic + entities: + - uid: 1129 + components: + - pos: 4.5,8.5 + parent: 1 + type: Transform +- proto: SubstationWallBasic + entities: + - uid: 1130 + components: + - pos: -2.5,1.5 + parent: 1 + type: Transform + - uid: 1131 + components: + - pos: 2.5,10.5 + parent: 1 + type: Transform + - uid: 1132 + components: + - pos: 2.5,14.5 + parent: 1 + type: Transform +- proto: SuitStorageEVAEmergency + entities: + - uid: 1133 + components: + - pos: -0.5,-7.5 + parent: 1 + type: Transform + - uid: 1134 + components: + - pos: 1.5,-7.5 + parent: 1 + type: Transform +- proto: SuitStorageHOS + entities: + - uid: 541 + components: + - pos: 2.5,13.5 + parent: 1 + type: Transform + - containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 542 + type: ContainerContainer +- proto: SuitStorageSec + entities: + - uid: 1135 + components: + - pos: -2.5,13.5 + parent: 1 + type: Transform + - uid: 1136 + components: + - pos: -1.5,13.5 + parent: 1 + type: Transform +- proto: SurveillanceCameraRouterSecurity + entities: + - uid: 1137 + components: + - pos: 5.5,11.5 + parent: 1 + type: Transform +- proto: SurveillanceCameraSecurity + entities: + - uid: 1138 + components: + - rot: 3.141592653589793 rad + pos: -12.5,-17.5 + parent: 1 + type: Transform + - uid: 1139 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 1140 + components: + - rot: 3.141592653589793 rad + pos: -2.5,13.5 + parent: 1 + type: Transform + - uid: 1141 + components: + - rot: 3.141592653589793 rad + pos: 12.5,-8.5 + parent: 1 + type: Transform + - uid: 1142 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,5.5 + parent: 1 + type: Transform + - uid: 1143 + components: + - rot: 3.141592653589793 rad + pos: -5.5,9.5 + parent: 1 + type: Transform + - uid: 1144 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,-0.5 + parent: 1 + type: Transform + - uid: 1145 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-0.5 + parent: 1 + type: Transform + - uid: 1146 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-8.5 + parent: 1 + type: Transform + - uid: 1147 + components: + - rot: -1.5707963267948966 rad + pos: 5.5,14.5 + parent: 1 + type: Transform + - uid: 1148 + components: + - rot: 3.141592653589793 rad + pos: 6.5,9.5 + parent: 1 + type: Transform + - uid: 1149 + components: + - rot: 3.141592653589793 rad + pos: 3.5,9.5 + parent: 1 + type: Transform + - uid: 1150 + components: + - rot: -1.5707963267948966 rad + pos: -2.5,4.5 + parent: 1 + type: Transform + - uid: 1151 + components: + - rot: -1.5707963267948966 rad + pos: 0.5,2.5 + parent: 1 + type: Transform + - uid: 1152 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,14.5 + parent: 1 + type: Transform + - uid: 1153 + components: + - rot: 1.5707963267948966 rad + pos: -8.5,8.5 + parent: 1 + type: Transform + - uid: 1154 + components: + - rot: -1.5707963267948966 rad + pos: 9.5,8.5 + parent: 1 + type: Transform + - uid: 1155 + components: + - rot: 3.141592653589793 rad + pos: 12.5,-13.5 + parent: 1 + type: Transform + - uid: 1156 + components: + - rot: 3.141592653589793 rad + pos: -11.5,-13.5 + parent: 1 + type: Transform + - uid: 1157 + components: + - rot: 3.141592653589793 rad + pos: 13.5,-17.5 + parent: 1 + type: Transform + - uid: 1158 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-7.5 + parent: 1 + type: Transform + - uid: 1159 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,-4.5 + parent: 1 + type: Transform + - uid: 1160 + components: + - pos: -0.5,-5.5 + parent: 1 + type: Transform +- proto: Table + entities: + - uid: 1161 + components: + - rot: 3.141592653589793 rad + pos: -1.5,3.5 + parent: 1 + type: Transform + - uid: 1162 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-3.5 + parent: 1 + type: Transform + - uid: 1163 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,-2.5 + parent: 1 + type: Transform + - uid: 1164 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,2.5 + parent: 1 + type: Transform +- proto: TableCounterMetal + entities: + - uid: 1165 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-3.5 + parent: 1 + type: Transform + - uid: 1166 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-4.5 + parent: 1 + type: Transform +- proto: TableReinforced + entities: + - uid: 1167 + components: + - pos: -0.5,15.5 + parent: 1 + type: Transform + - uid: 1168 + components: + - pos: 1.5,15.5 + parent: 1 + type: Transform + - uid: 1169 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-2.5 + parent: 1 + type: Transform + - uid: 1170 + components: + - pos: -1.5,15.5 + parent: 1 + type: Transform + - uid: 1171 + components: + - rot: -1.5707963267948966 rad + pos: 3.5,-2.5 + parent: 1 + type: Transform + - uid: 1172 + components: + - pos: 3.5,-3.5 + parent: 1 + type: Transform + - uid: 1173 + components: + - pos: -10.5,-9.5 + parent: 1 + type: Transform + - uid: 1174 + components: + - pos: -10.5,-10.5 + parent: 1 + type: Transform + - uid: 1175 + components: + - pos: 11.5,-9.5 + parent: 1 + type: Transform + - uid: 1176 + components: + - pos: 11.5,-10.5 + parent: 1 + type: Transform + - uid: 1177 + components: + - pos: 2.5,15.5 + parent: 1 + type: Transform +- proto: Thruster + entities: + - uid: 1178 + components: + - pos: 12.5,-6.5 + parent: 1 + type: Transform + - uid: 1179 + components: + - pos: -11.5,-6.5 + parent: 1 + type: Transform + - uid: 1180 + components: + - rot: 3.141592653589793 rad + pos: -12.5,-4.5 + parent: 1 + type: Transform + - uid: 1181 + components: + - rot: 3.141592653589793 rad + pos: -11.5,-4.5 + parent: 1 + type: Transform + - uid: 1182 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-4.5 + parent: 1 + type: Transform + - uid: 1183 + components: + - pos: -11.5,-1.5 + parent: 1 + type: Transform + - uid: 1184 + components: + - rot: 3.141592653589793 rad + pos: -11.5,0.5 + parent: 1 + type: Transform + - uid: 1185 + components: + - pos: -12.5,-1.5 + parent: 1 + type: Transform + - uid: 1186 + components: + - pos: -10.5,-1.5 + parent: 1 + type: Transform + - uid: 1187 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-2.5 + parent: 1 + type: Transform + - uid: 1188 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-3.5 + parent: 1 + type: Transform + - uid: 1189 + components: + - rot: 1.5707963267948966 rad + pos: -10.5,-2.5 + parent: 1 + type: Transform + - uid: 1190 + components: + - rot: 1.5707963267948966 rad + pos: -10.5,-3.5 + parent: 1 + type: Transform + - uid: 1191 + components: + - rot: 3.141592653589793 rad + pos: 12.5,0.5 + parent: 1 + type: Transform + - uid: 1192 + components: + - pos: 11.5,-1.5 + parent: 1 + type: Transform + - uid: 1193 + components: + - pos: 12.5,-1.5 + parent: 1 + type: Transform + - uid: 1194 + components: + - pos: 13.5,-1.5 + parent: 1 + type: Transform + - uid: 1195 + components: + - rot: -1.5707963267948966 rad + pos: 11.5,-2.5 + parent: 1 + type: Transform + - uid: 1196 + components: + - rot: -1.5707963267948966 rad + pos: 11.5,-3.5 + parent: 1 + type: Transform + - uid: 1197 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-2.5 + parent: 1 + type: Transform + - uid: 1198 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-3.5 + parent: 1 + type: Transform + - uid: 1199 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-4.5 + parent: 1 + type: Transform + - uid: 1200 + components: + - rot: 3.141592653589793 rad + pos: 12.5,-4.5 + parent: 1 + type: Transform + - uid: 1201 + components: + - rot: 3.141592653589793 rad + pos: 13.5,-4.5 + parent: 1 + type: Transform + - uid: 1202 + components: + - rot: 3.141592653589793 rad + pos: -12.5,0.5 + parent: 1 + type: Transform + - uid: 1203 + components: + - rot: 3.141592653589793 rad + pos: -10.5,0.5 + parent: 1 + type: Transform + - uid: 1204 + components: + - rot: 3.141592653589793 rad + pos: 11.5,0.5 + parent: 1 + type: Transform + - uid: 1205 + components: + - rot: 3.141592653589793 rad + pos: 13.5,0.5 + parent: 1 + type: Transform +- proto: ToolboxElectricalTurretFilled + entities: + - uid: 355 + components: + - flags: InContainer + type: MetaData + - parent: 351 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: ToolboxMechanicalFilled + entities: + - uid: 356 + components: + - flags: InContainer + type: MetaData + - parent: 351 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: VendingMachineDetDrobe + entities: + - uid: 1206 + components: + - flags: SessionSpecific + type: MetaData + - pos: 7.5,-7.5 + parent: 1 + type: Transform +- proto: VendingMachineSec + entities: + - uid: 1207 + components: + - flags: SessionSpecific + type: MetaData + - pos: -1.5,10.5 + parent: 1 + type: Transform +- proto: VendingMachineSecDrobe + entities: + - uid: 1208 + components: + - flags: SessionSpecific + type: MetaData + - pos: -6.5,-7.5 + parent: 1 + type: Transform +- proto: VendingMachineTankDispenserEVA + entities: + - uid: 1209 + components: + - flags: SessionSpecific + type: MetaData + - pos: -5.5,-7.5 + parent: 1 + type: Transform + - uid: 1210 + components: + - flags: SessionSpecific + type: MetaData + - pos: 6.5,-7.5 + parent: 1 + type: Transform +- proto: VendingMachineWallMedical + entities: + - uid: 1211 + components: + - flags: SessionSpecific + type: MetaData + - rot: 1.5707963267948966 rad + pos: -3.5,3.5 + parent: 1 + type: Transform +- proto: WallmountTelescreen + entities: + - uid: 1212 + components: + - pos: 1.5,15.5 + parent: 1 + type: Transform +- proto: WallmountTelescreenFrame + entities: + - uid: 1213 + components: + - pos: -3.5,-2.5 + parent: 1 + type: Transform +- proto: WallPlastitanium + entities: + - uid: 1214 + components: + - pos: 6.5,11.5 + parent: 1 + type: Transform + - uid: 1215 + components: + - pos: -6.5,10.5 + parent: 1 + type: Transform + - uid: 1216 + components: + - pos: -5.5,10.5 + parent: 1 + type: Transform + - uid: 1217 + components: + - rot: -1.5707963267948966 rad + pos: -5.5,6.5 + parent: 1 + type: Transform + - uid: 1218 + components: + - rot: -1.5707963267948966 rad + pos: -6.5,6.5 + parent: 1 + type: Transform + - uid: 1219 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,12.5 + parent: 1 + type: Transform + - uid: 1220 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,14.5 + parent: 1 + type: Transform + - uid: 1221 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,14.5 + parent: 1 + type: Transform + - uid: 1222 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,13.5 + parent: 1 + type: Transform + - uid: 1223 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,14.5 + parent: 1 + type: Transform + - uid: 1224 + components: + - pos: -1.5,17.5 + parent: 1 + type: Transform + - uid: 1225 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,12.5 + parent: 1 + type: Transform + - uid: 1226 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,14.5 + parent: 1 + type: Transform + - uid: 1227 + components: + - pos: 2.5,17.5 + parent: 1 + type: Transform + - uid: 1228 + components: + - rot: 1.5707963267948966 rad + pos: 4.5,13.5 + parent: 1 + type: Transform + - uid: 1229 + components: + - pos: -7.5,9.5 + parent: 1 + type: Transform + - uid: 1230 + components: + - pos: 1.5,13.5 + parent: 1 + type: Transform + - uid: 1231 + components: + - pos: -7.5,7.5 + parent: 1 + type: Transform + - uid: 1232 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,8.5 + parent: 1 + type: Transform + - uid: 1233 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,9.5 + parent: 1 + type: Transform + - uid: 1234 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,7.5 + parent: 1 + type: Transform + - uid: 1235 + components: + - pos: -7.5,8.5 + parent: 1 + type: Transform + - uid: 1236 + components: + - rot: -1.5707963267948966 rad + pos: 1.5,4.5 + parent: 1 + type: Transform + - uid: 1237 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,7.5 + parent: 1 + type: Transform + - uid: 1238 + components: + - pos: -0.5,4.5 + parent: 1 + type: Transform + - uid: 1239 + components: + - pos: 1.5,10.5 + parent: 1 + type: Transform + - uid: 1240 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,14.5 + parent: 1 + type: Transform + - uid: 1241 + components: + - pos: 2.5,14.5 + parent: 1 + type: Transform + - uid: 1242 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,14.5 + parent: 1 + type: Transform + - uid: 1243 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,10.5 + parent: 1 + type: Transform + - uid: 1244 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,11.5 + parent: 1 + type: Transform + - uid: 1245 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,15.5 + parent: 1 + type: Transform + - uid: 1246 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,15.5 + parent: 1 + type: Transform + - uid: 1247 + components: + - pos: 4.5,10.5 + parent: 1 + type: Transform + - uid: 1248 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,8.5 + parent: 1 + type: Transform + - uid: 1249 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,7.5 + parent: 1 + type: Transform + - uid: 1250 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,6.5 + parent: 1 + type: Transform + - uid: 1251 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,5.5 + parent: 1 + type: Transform + - uid: 1252 + components: + - rot: 1.5707963267948966 rad + pos: -3.5,7.5 + parent: 1 + type: Transform + - uid: 1253 + components: + - pos: -0.5,14.5 + parent: 1 + type: Transform + - uid: 1254 + components: + - pos: -3.5,12.5 + parent: 1 + type: Transform + - uid: 1255 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,6.5 + parent: 1 + type: Transform + - uid: 1256 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,7.5 + parent: 1 + type: Transform + - uid: 1257 + components: + - pos: -0.5,12.5 + parent: 1 + type: Transform + - uid: 1258 + components: + - pos: -0.5,13.5 + parent: 1 + type: Transform + - uid: 1259 + components: + - rot: 3.141592653589793 rad + pos: -0.5,6.5 + parent: 1 + type: Transform + - uid: 1260 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,7.5 + parent: 1 + type: Transform + - uid: 1261 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,8.5 + parent: 1 + type: Transform + - uid: 1262 + components: + - rot: 3.141592653589793 rad + pos: -0.5,10.5 + parent: 1 + type: Transform + - uid: 1263 + components: + - rot: 3.141592653589793 rad + pos: -0.5,9.5 + parent: 1 + type: Transform + - uid: 1264 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,7.5 + parent: 1 + type: Transform + - uid: 1265 + components: + - pos: 2.5,10.5 + parent: 1 + type: Transform + - uid: 1266 + components: + - pos: 3.5,10.5 + parent: 1 + type: Transform + - uid: 1267 + components: + - pos: -3.5,10.5 + parent: 1 + type: Transform + - uid: 1268 + components: + - rot: 3.141592653589793 rad + pos: -3.5,4.5 + parent: 1 + type: Transform + - uid: 1269 + components: + - rot: -1.5707963267948966 rad + pos: 5.5,4.5 + parent: 1 + type: Transform + - uid: 1270 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,4.5 + parent: 1 + type: Transform + - uid: 1271 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,8.5 + parent: 1 + type: Transform + - uid: 1272 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,17.5 + parent: 1 + type: Transform + - uid: 1273 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,18.5 + parent: 1 + type: Transform + - uid: 1274 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,18.5 + parent: 1 + type: Transform + - uid: 1275 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,17.5 + parent: 1 + type: Transform + - uid: 1276 + components: + - rot: 1.5707963267948966 rad + pos: -5.5,5.5 + parent: 1 + type: Transform +- proto: WallPlastitaniumDiagonal + entities: + - uid: 1277 + components: + - rot: 1.5707963267948966 rad + pos: -5.5,4.5 + parent: 1 + type: Transform + - uid: 1278 + components: + - rot: -1.5707963267948966 rad + pos: -9.5,1.5 + parent: 1 + type: Transform + - uid: 1279 + components: + - rot: 3.141592653589793 rad + pos: 8.5,6.5 + parent: 1 + type: Transform + - uid: 1280 + components: + - rot: -1.5707963267948966 rad + pos: 8.5,10.5 + parent: 1 + type: Transform + - uid: 1281 + components: + - pos: -6.5,-5.5 + parent: 1 + type: Transform + - uid: 1282 + components: + - rot: 1.5707963267948966 rad + pos: 8.5,-10.5 + parent: 1 + type: Transform + - uid: 1283 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-10.5 + parent: 1 + type: Transform + - uid: 1284 + components: + - rot: -1.5707963267948966 rad + pos: 7.5,-5.5 + parent: 1 + type: Transform + - uid: 1285 + components: + - pos: -7.5,10.5 + parent: 1 + type: Transform + - uid: 1286 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,6.5 + parent: 1 + type: Transform + - uid: 1287 + components: + - rot: 3.141592653589793 rad + pos: -8.5,-11.5 + parent: 1 + type: Transform + - uid: 1288 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,-11.5 + parent: 1 + type: Transform + - uid: 1289 + components: + - pos: -13.5,1.5 + parent: 1 + type: Transform + - uid: 1290 + components: + - pos: -4.5,13.5 + parent: 1 + type: Transform + - uid: 1291 + components: + - pos: -3.5,15.5 + parent: 1 + type: Transform + - uid: 1292 + components: + - rot: -1.5707963267948966 rad + pos: 4.5,15.5 + parent: 1 + type: Transform + - uid: 1293 + components: + - rot: -1.5707963267948966 rad + pos: 5.5,13.5 + parent: 1 + type: Transform + - uid: 1294 + components: + - pos: -5.5,12.5 + parent: 1 + type: Transform + - uid: 1295 + components: + - rot: -1.5707963267948966 rad + pos: 6.5,12.5 + parent: 1 + type: Transform + - uid: 1296 + components: + - pos: -4.5,-2.5 + parent: 1 + type: Transform + - uid: 1297 + components: + - rot: -1.5707963267948966 rad + pos: 5.5,-2.5 + parent: 1 + type: Transform + - uid: 1298 + components: + - rot: 3.141592653589793 rad + pos: 5.5,3.5 + parent: 1 + type: Transform + - uid: 1299 + components: + - rot: 1.5707963267948966 rad + pos: -4.5,3.5 + parent: 1 + type: Transform + - uid: 1300 + components: + - pos: -5.5,-3.5 + parent: 1 + type: Transform + - uid: 1301 + components: + - rot: -1.5707963267948966 rad + pos: 6.5,-3.5 + parent: 1 + type: Transform + - uid: 1302 + components: + - pos: 10.5,1.5 + parent: 1 + type: Transform + - uid: 1303 + components: + - rot: -1.5707963267948966 rad + pos: 14.5,1.5 + parent: 1 + type: Transform + - uid: 1304 + components: + - rot: 3.141592653589793 rad + pos: 6.5,4.5 + parent: 1 + type: Transform +- proto: WallPlastitaniumIndestructible + entities: + - uid: 1305 + components: + - pos: 6.5,5.5 + parent: 1 + type: Transform + - uid: 1306 + components: + - rot: 3.141592653589793 rad + pos: -12.5,1.5 + parent: 1 + type: Transform + - uid: 1307 + components: + - rot: 3.141592653589793 rad + pos: -9.5,0.5 + parent: 1 + type: Transform + - uid: 1308 + components: + - rot: 3.141592653589793 rad + pos: -13.5,0.5 + parent: 1 + type: Transform + - uid: 1309 + components: + - rot: 3.141592653589793 rad + pos: -10.5,1.5 + parent: 1 + type: Transform + - uid: 1310 + components: + - rot: 3.141592653589793 rad + pos: 14.5,0.5 + parent: 1 + type: Transform + - uid: 1311 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,1.5 + parent: 1 + type: Transform + - uid: 1312 + components: + - rot: 3.141592653589793 rad + pos: 10.5,0.5 + parent: 1 + type: Transform + - uid: 1313 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,1.5 + parent: 1 + type: Transform + - uid: 1314 + components: + - pos: 4.5,-0.5 + parent: 1 + type: Transform + - uid: 1315 + components: + - pos: 4.5,3.5 + parent: 1 + type: Transform + - uid: 1316 + components: + - rot: -1.5707963267948966 rad + pos: 2.5,-7.5 + parent: 1 + type: Transform + - uid: 1317 + components: + - rot: 3.141592653589793 rad + pos: 1.5,-5.5 + parent: 1 + type: Transform + - uid: 1318 + components: + - pos: -4.5,-3.5 + parent: 1 + type: Transform + - uid: 1319 + components: + - pos: -5.5,-4.5 + parent: 1 + type: Transform + - uid: 1320 + components: + - rot: 3.141592653589793 rad + pos: 9.5,-6.5 + parent: 1 + type: Transform + - uid: 1321 + components: + - pos: 5.5,-3.5 + parent: 1 + type: Transform + - uid: 1322 + components: + - pos: 6.5,-4.5 + parent: 1 + type: Transform + - uid: 1323 + components: + - rot: 3.141592653589793 rad + pos: 8.5,-6.5 + parent: 1 + type: Transform + - uid: 1324 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,1.5 + parent: 1 + type: Transform + - uid: 1325 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,0.5 + parent: 1 + type: Transform + - uid: 1326 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,-0.5 + parent: 1 + type: Transform + - uid: 1327 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,2.5 + parent: 1 + type: Transform + - uid: 1328 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,-1.5 + parent: 1 + type: Transform + - uid: 1329 + components: + - rot: 3.141592653589793 rad + pos: 5.5,-4.5 + parent: 1 + type: Transform + - uid: 1330 + components: + - pos: -3.5,-2.5 + parent: 1 + type: Transform + - uid: 1331 + components: + - rot: -1.5707963267948966 rad + pos: -3.5,3.5 + parent: 1 + type: Transform + - uid: 1332 + components: + - rot: 1.5707963267948966 rad + pos: 5.5,-6.5 + parent: 1 + type: Transform + - uid: 1333 + components: + - rot: 3.141592653589793 rad + pos: 8.5,-9.5 + parent: 1 + type: Transform + - uid: 1334 + components: + - pos: -9.5,-9.5 + parent: 1 + type: Transform + - uid: 1335 + components: + - pos: -1.5,-6.5 + parent: 1 + type: Transform + - uid: 1336 + components: + - rot: 3.141592653589793 rad + pos: 6.5,-5.5 + parent: 1 + type: Transform + - uid: 1337 + components: + - rot: 3.141592653589793 rad + pos: 7.5,-6.5 + parent: 1 + type: Transform + - uid: 1338 + components: + - rot: 3.141592653589793 rad + pos: 8.5,-7.5 + parent: 1 + type: Transform + - uid: 1339 + components: + - rot: 3.141592653589793 rad + pos: 9.5,-9.5 + parent: 1 + type: Transform + - uid: 1340 + components: + - pos: 10.5,-9.5 + parent: 1 + type: Transform + - uid: 1341 + components: + - rot: 3.141592653589793 rad + pos: 4.5,-2.5 + parent: 1 + type: Transform + - uid: 1342 + components: + - rot: 3.141592653589793 rad + pos: 4.5,-1.5 + parent: 1 + type: Transform + - uid: 1343 + components: + - rot: 3.141592653589793 rad + pos: 4.5,0.5 + parent: 1 + type: Transform + - uid: 1344 + components: + - rot: 3.141592653589793 rad + pos: 4.5,1.5 + parent: 1 + type: Transform + - uid: 1345 + components: + - rot: 3.141592653589793 rad + pos: 4.5,2.5 + parent: 1 + type: Transform + - uid: 1346 + components: + - pos: 4.5,4.5 + parent: 1 + type: Transform + - uid: 1347 + components: + - pos: -3.5,-6.5 + parent: 1 + type: Transform + - uid: 1348 + components: + - pos: -4.5,-6.5 + parent: 1 + type: Transform + - uid: 1349 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-6.5 + parent: 1 + type: Transform + - uid: 1350 + components: + - pos: 2.5,-9.5 + parent: 1 + type: Transform + - uid: 1351 + components: + - pos: 2.5,-6.5 + parent: 1 + type: Transform + - uid: 1352 + components: + - pos: -1.5,-9.5 + parent: 1 + type: Transform + - uid: 1353 + components: + - pos: 6.5,-6.5 + parent: 1 + type: Transform + - uid: 1354 + components: + - pos: -5.5,-6.5 + parent: 1 + type: Transform + - uid: 1355 + components: + - rot: 3.141592653589793 rad + pos: -2.5,-9.5 + parent: 1 + type: Transform + - uid: 1356 + components: + - rot: 3.141592653589793 rad + pos: 3.5,-9.5 + parent: 1 + type: Transform + - uid: 1357 + components: + - rot: 3.141592653589793 rad + pos: 4.5,-3.5 + parent: 1 + type: Transform + - uid: 1358 + components: + - rot: 3.141592653589793 rad + pos: -3.5,-3.5 + parent: 1 + type: Transform + - uid: 1359 + components: + - rot: 3.141592653589793 rad + pos: -4.5,-4.5 + parent: 1 + type: Transform + - uid: 1360 + components: + - rot: 3.141592653589793 rad + pos: -5.5,-5.5 + parent: 1 + type: Transform + - uid: 1361 + components: + - rot: 3.141592653589793 rad + pos: -6.5,-6.5 + parent: 1 + type: Transform + - uid: 1362 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-7.5 + parent: 1 + type: Transform + - uid: 1363 + components: + - rot: 1.5707963267948966 rad + pos: 9.5,-7.5 + parent: 1 + type: Transform + - uid: 1364 + components: + - rot: 3.141592653589793 rad + pos: 6.5,6.5 + parent: 1 + type: Transform + - uid: 1365 + components: + - rot: 3.141592653589793 rad + pos: 7.5,6.5 + parent: 1 + type: Transform + - uid: 1366 + components: + - rot: 3.141592653589793 rad + pos: 6.5,10.5 + parent: 1 + type: Transform + - uid: 1367 + components: + - rot: 3.141592653589793 rad + pos: 7.5,10.5 + parent: 1 + type: Transform + - uid: 1368 + components: + - pos: 5.5,6.5 + parent: 1 + type: Transform + - uid: 1369 + components: + - pos: 5.5,10.5 + parent: 1 + type: Transform + - uid: 1370 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,-6.5 + parent: 1 + type: Transform + - uid: 1371 + components: + - rot: -1.5707963267948966 rad + pos: -9.5,-10.5 + parent: 1 + type: Transform + - uid: 1372 + components: + - rot: 3.141592653589793 rad + pos: -8.5,-7.5 + parent: 1 + type: Transform + - uid: 1373 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-9.5 + parent: 1 + type: Transform + - uid: 1374 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-7.5 + parent: 1 + type: Transform + - uid: 1375 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-6.5 + parent: 1 + type: Transform + - uid: 1376 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-5.5 + parent: 1 + type: Transform + - uid: 1377 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-4.5 + parent: 1 + type: Transform + - uid: 1378 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-3.5 + parent: 1 + type: Transform + - uid: 1379 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-2.5 + parent: 1 + type: Transform + - uid: 1380 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-1.5 + parent: 1 + type: Transform + - uid: 1381 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-0.5 + parent: 1 + type: Transform + - uid: 1382 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-0.5 + parent: 1 + type: Transform + - uid: 1383 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-1.5 + parent: 1 + type: Transform + - uid: 1384 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-2.5 + parent: 1 + type: Transform + - uid: 1385 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-3.5 + parent: 1 + type: Transform + - uid: 1386 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-4.5 + parent: 1 + type: Transform + - uid: 1387 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-5.5 + parent: 1 + type: Transform + - uid: 1388 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-6.5 + parent: 1 + type: Transform + - uid: 1389 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-7.5 + parent: 1 + type: Transform + - uid: 1390 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-8.5 + parent: 1 + type: Transform + - uid: 1391 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-9.5 + parent: 1 + type: Transform + - uid: 1392 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-10.5 + parent: 1 + type: Transform + - uid: 1393 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-11.5 + parent: 1 + type: Transform + - uid: 1394 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-12.5 + parent: 1 + type: Transform + - uid: 1395 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-12.5 + parent: 1 + type: Transform + - uid: 1396 + components: + - rot: 1.5707963267948966 rad + pos: -14.5,-16.5 + parent: 1 + type: Transform + - uid: 1397 + components: + - rot: 1.5707963267948966 rad + pos: -14.5,-12.5 + parent: 1 + type: Transform + - uid: 1398 + components: + - rot: 3.141592653589793 rad + pos: -13.5,-16.5 + parent: 1 + type: Transform + - uid: 1399 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-12.5 + parent: 1 + type: Transform + - uid: 1400 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-12.5 + parent: 1 + type: Transform + - uid: 1401 + components: + - rot: 3.141592653589793 rad + pos: -9.5,-16.5 + parent: 1 + type: Transform + - uid: 1402 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-0.5 + parent: 1 + type: Transform + - uid: 1403 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-1.5 + parent: 1 + type: Transform + - uid: 1404 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-2.5 + parent: 1 + type: Transform + - uid: 1405 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-3.5 + parent: 1 + type: Transform + - uid: 1406 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-4.5 + parent: 1 + type: Transform + - uid: 1407 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-5.5 + parent: 1 + type: Transform + - uid: 1408 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-6.5 + parent: 1 + type: Transform + - uid: 1409 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-7.5 + parent: 1 + type: Transform + - uid: 1410 + components: + - rot: 3.141592653589793 rad + pos: 9.5,-10.5 + parent: 1 + type: Transform + - uid: 1411 + components: + - rot: -1.5707963267948966 rad + pos: -8.5,-10.5 + parent: 1 + type: Transform + - uid: 1412 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-11.5 + parent: 1 + type: Transform + - uid: 1413 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-12.5 + parent: 1 + type: Transform + - uid: 1414 + components: + - rot: 1.5707963267948966 rad + pos: 10.5,-16.5 + parent: 1 + type: Transform + - uid: 1415 + components: + - rot: 1.5707963267948966 rad + pos: -9.5,-11.5 + parent: 1 + type: Transform + - uid: 1416 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-16.5 + parent: 1 + type: Transform + - uid: 1417 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-16.5 + parent: 1 + type: Transform + - uid: 1418 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-11.5 + parent: 1 + type: Transform + - uid: 1419 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-10.5 + parent: 1 + type: Transform + - uid: 1420 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-9.5 + parent: 1 + type: Transform + - uid: 1421 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-8.5 + parent: 1 + type: Transform + - uid: 1422 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-7.5 + parent: 1 + type: Transform + - uid: 1423 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-6.5 + parent: 1 + type: Transform + - uid: 1424 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-5.5 + parent: 1 + type: Transform + - uid: 1425 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-4.5 + parent: 1 + type: Transform + - uid: 1426 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-3.5 + parent: 1 + type: Transform + - uid: 1427 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-2.5 + parent: 1 + type: Transform + - uid: 1428 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-1.5 + parent: 1 + type: Transform + - uid: 1429 + components: + - rot: 1.5707963267948966 rad + pos: 14.5,-0.5 + parent: 1 + type: Transform + - uid: 1430 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-12.5 + parent: 1 + type: Transform + - uid: 1431 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-16.5 + parent: 1 + type: Transform + - uid: 1432 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-12.5 + parent: 1 + type: Transform + - uid: 1433 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-16.5 + parent: 1 + type: Transform + - uid: 1434 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,1.5 + parent: 1 + type: Transform + - uid: 1435 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,1.5 + parent: 1 + type: Transform + - uid: 1436 + components: + - rot: 3.141592653589793 rad + pos: 10.5,-10.5 + parent: 1 + type: Transform + - uid: 1437 + components: + - rot: 1.5707963267948966 rad + pos: -10.5,-7.5 + parent: 1 + type: Transform + - uid: 1438 + components: + - rot: 1.5707963267948966 rad + pos: -11.5,-7.5 + parent: 1 + type: Transform + - uid: 1439 + components: + - rot: 1.5707963267948966 rad + pos: -12.5,-7.5 + parent: 1 + type: Transform + - uid: 1440 + components: + - rot: 1.5707963267948966 rad + pos: 11.5,-7.5 + parent: 1 + type: Transform + - uid: 1441 + components: + - rot: 1.5707963267948966 rad + pos: 12.5,-7.5 + parent: 1 + type: Transform + - uid: 1442 + components: + - rot: 1.5707963267948966 rad + pos: 13.5,-7.5 + parent: 1 + type: Transform + - uid: 1443 + components: + - rot: 3.141592653589793 rad + pos: 11.5,-16.5 + parent: 1 + type: Transform + - uid: 1444 + components: + - rot: 3.141592653589793 rad + pos: -10.5,-16.5 + parent: 1 + type: Transform + - uid: 1445 + components: + - pos: 12.5,-12.5 + parent: 1 + type: Transform + - uid: 1446 + components: + - pos: -1.5,-11.5 + parent: 1 + type: Transform + - uid: 1447 + components: + - pos: 2.5,-11.5 + parent: 1 + type: Transform + - uid: 1448 + components: + - pos: 0.5,-11.5 + parent: 1 + type: Transform + - uid: 1449 + components: + - pos: 0.5,-9.5 + parent: 1 + type: Transform + - uid: 1450 + components: + - rot: -1.5707963267948966 rad + pos: 13.5,-14.5 + parent: 1 + type: Transform + - uid: 1451 + components: + - rot: -1.5707963267948966 rad + pos: -12.5,-14.5 + parent: 1 + type: Transform + - uid: 1452 + components: + - rot: 1.5707963267948966 rad + pos: 15.5,-14.5 + parent: 1 + type: Transform + - uid: 1453 + components: + - rot: 1.5707963267948966 rad + pos: -14.5,-14.5 + parent: 1 + type: Transform + - uid: 1454 + components: + - rot: 3.141592653589793 rad + pos: -0.5,2.5 + parent: 1 + type: Transform + - uid: 1455 + components: + - pos: -11.5,-12.5 + parent: 1 + type: Transform + - uid: 1456 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,1.5 + parent: 1 + type: Transform + - uid: 1457 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,1.5 + parent: 1 + type: Transform + - uid: 1458 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,1.5 + parent: 1 + type: Transform + - uid: 1459 + components: + - rot: 1.5707963267948966 rad + pos: 0.5,-6.5 + parent: 1 + type: Transform + - uid: 1460 + components: + - pos: 4.5,-6.5 + parent: 1 + type: Transform + - uid: 1461 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,-1.5 + parent: 1 + type: Transform + - uid: 1462 + components: + - pos: -0.5,3.5 + parent: 1 + type: Transform + - uid: 1463 + components: + - rot: 1.5707963267948966 rad + pos: -0.5,-1.5 + parent: 1 + type: Transform + - uid: 1464 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,-1.5 + parent: 1 + type: Transform + - uid: 1465 + components: + - rot: 1.5707963267948966 rad + pos: 2.5,4.5 + parent: 1 + type: Transform + - uid: 1466 + components: + - rot: 1.5707963267948966 rad + pos: 3.5,4.5 + parent: 1 + type: Transform + - uid: 1467 + components: + - pos: -2.5,-1.5 + parent: 1 + type: Transform + - uid: 1468 + components: + - rot: 3.141592653589793 rad + pos: -8.5,-9.5 + parent: 1 + type: Transform + - uid: 1469 + components: + - pos: 5.5,7.5 + parent: 1 + type: Transform + - uid: 1470 + components: + - pos: 5.5,8.5 + parent: 1 + type: Transform + - uid: 1471 + components: + - pos: -1.5,-1.5 + parent: 1 + type: Transform + - uid: 1472 + components: + - rot: 3.141592653589793 rad + pos: 1.5,1.5 + parent: 1 + type: Transform + - uid: 1473 + components: + - pos: -0.5,-0.5 + parent: 1 + type: Transform + - uid: 1474 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-1.5 + parent: 1 + type: Transform + - uid: 1475 + components: + - pos: -4.5,-5.5 + parent: 1 + type: Transform + - uid: 1476 + components: + - rot: 1.5707963267948966 rad + pos: -2.5,1.5 + parent: 1 + type: Transform + - uid: 1477 + components: + - rot: 1.5707963267948966 rad + pos: -1.5,1.5 + parent: 1 + type: Transform + - uid: 1478 + components: + - pos: 1.5,-2.5 + parent: 1 + type: Transform + - uid: 1479 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,-7.5 + parent: 1 + type: Transform + - uid: 1480 + components: + - rot: 3.141592653589793 rad + pos: -7.5,-6.5 + parent: 1 + type: Transform + - uid: 1481 + components: + - rot: 3.141592653589793 rad + pos: -8.5,-6.5 + parent: 1 + type: Transform +- proto: WallWeaponCapacitorRecharger + entities: + - uid: 1482 + components: + - pos: 4.5,-6.5 + parent: 1 + type: Transform + - uid: 1483 + components: + - pos: 5.5,12.5 + parent: 1 + type: Transform + - uid: 1484 + components: + - pos: -3.5,-6.5 + parent: 1 + type: Transform +- proto: WarningAir + entities: + - uid: 1485 + components: + - rot: -1.5707963267948966 rad + pos: -4.5,7.5 + parent: 1 + type: Transform +- proto: WarningN2 + entities: + - uid: 1486 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,9.5 + parent: 1 + type: Transform +- proto: WarningO2 + entities: + - uid: 1487 + components: + - rot: 1.5707963267948966 rad + pos: -7.5,8.5 + parent: 1 + type: Transform +- proto: WarningWaste + entities: + - uid: 1488 + components: + - rot: 3.141592653589793 rad + pos: -6.5,6.5 + parent: 1 + type: Transform +- proto: WarpPoint + entities: + - uid: 1489 + components: + - pos: 0.5,15.5 + parent: 1 + type: Transform + - location: Marauder + type: WarpPoint +- proto: WeaponAntiqueLaser + entities: + - uid: 539 + components: + - flags: InContainer + type: MetaData + - parent: 519 + type: Transform + - canCollide: False + type: Physics + - type: InsideEntityStorage +- proto: WindoorSecureSecurityLocked + entities: + - uid: 1490 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,3.5 + parent: 1 + type: Transform + - links: + - 99 + type: DeviceLinkSink + - uid: 1491 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,-0.5 + parent: 1 + type: Transform + - links: + - 100 + type: DeviceLinkSink + - uid: 1492 + components: + - pos: -2.5,12.5 + parent: 1 + type: Transform +- proto: WindowReinforcedDirectional + entities: + - uid: 1493 + components: + - pos: -1.5,12.5 + parent: 1 + type: Transform + - uid: 1494 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,2.5 + parent: 1 + type: Transform + - uid: 1495 + components: + - rot: 1.5707963267948966 rad + pos: 1.5,0.5 + parent: 1 + type: Transform + - uid: 1496 + components: + - rot: -1.5707963267948966 rad + pos: -1.5,-5.5 + parent: 1 + type: Transform + - uid: 1497 + components: + - rot: 3.141592653589793 rad + pos: -1.5,-5.5 + parent: 1 + type: Transform + - uid: 1498 + components: + - rot: 3.141592653589793 rad + pos: -0.5,-5.5 + parent: 1 + type: Transform + - uid: 1499 + components: + - rot: 3.141592653589793 rad + pos: 0.5,-5.5 + parent: 1 + type: Transform +... diff --git a/Resources/Prototypes/_NF/Shipyard/marauder.yml b/Resources/Prototypes/_NF/Shipyard/marauder.yml new file mode 100644 index 00000000000..62e61d2b01c --- /dev/null +++ b/Resources/Prototypes/_NF/Shipyard/marauder.yml @@ -0,0 +1,30 @@ +- type: vessel + id: Marauder + name: NT Marauder + description: A heavy corvette, the marauder class is a dedicated deep space patrol vessel outfitted with stealth armor and heavily fortified against pirate assault. + price: 100200 + category: Large + group: Security + shuttlePath: /Maps/Shuttles/marauder.yml + +- type: gameMap + id: Marauder + mapName: 'NT Marauder' + mapPath: /Maps/Shuttles/marauder.yml + minPlayers: 0 + stations: + Marauder: + stationProto: StandardFrontierVessel + components: + - type: StationNameSetup + mapNameTemplate: '{0} Marauder {1}' + nameGenerator: + !type:NanotrasenNameGenerator + prefixCreator: '14' + - type: StationJobs + overflowJobs: [] + availableJobs: + Detective: [ 1, 1 ] + SecurityOfficer: [ 2, 2 ] + Warden: [ 1, 1 ] + Brigmedic: [ 1, 1 ] \ No newline at end of file From 14a8f0892fb8e84e2fdbae8d3712fbe726fab3f8 Mon Sep 17 00:00:00 2001 From: Banshee Date: Sat, 29 Jul 2023 03:43:51 -0500 Subject: [PATCH 16/24] Update marauder.yml --- Resources/Maps/Shuttles/marauder.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Maps/Shuttles/marauder.yml b/Resources/Maps/Shuttles/marauder.yml index 3e048af3d1d..3806165681f 100644 --- a/Resources/Maps/Shuttles/marauder.yml +++ b/Resources/Maps/Shuttles/marauder.yml @@ -14,6 +14,7 @@ tilemap: 79: FloorTechMaint 82: FloorWhite 94: Lattice + 95: Plating entities: - proto: "" entities: From b78dacbe2cb7aac7fbb1ee975060b55cc7360cc7 Mon Sep 17 00:00:00 2001 From: Banshee Date: Sat, 29 Jul 2023 04:37:17 -0500 Subject: [PATCH 17/24] bountyvend.rsi retextured astrovend for use as a bounty hunter exclusive vendor --- .../_NF/Structures/bountyvend.rsi/broken.png | Bin 0 -> 3317 bytes .../_NF/Structures/bountyvend.rsi/meta.json | 31 ++++++++++++++++++ .../bountyvend.rsi/normal-unshaded.png | Bin 0 -> 3138 bytes .../_NF/Structures/bountyvend.rsi/off.png | Bin 0 -> 2723 bytes .../_NF/Structures/bountyvend.rsi/panel.png | Bin 0 -> 681 bytes 5 files changed, 31 insertions(+) create mode 100644 Resources/Textures/_NF/Structures/bountyvend.rsi/broken.png create mode 100644 Resources/Textures/_NF/Structures/bountyvend.rsi/meta.json create mode 100644 Resources/Textures/_NF/Structures/bountyvend.rsi/normal-unshaded.png create mode 100644 Resources/Textures/_NF/Structures/bountyvend.rsi/off.png create mode 100644 Resources/Textures/_NF/Structures/bountyvend.rsi/panel.png diff --git a/Resources/Textures/_NF/Structures/bountyvend.rsi/broken.png b/Resources/Textures/_NF/Structures/bountyvend.rsi/broken.png new file mode 100644 index 0000000000000000000000000000000000000000..8f62fc56ca6a6babae6c80ef3557a4b59ad99f1c GIT binary patch literal 3317 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/bountyvend.rsi/meta.json b/Resources/Textures/_NF/Structures/bountyvend.rsi/meta.json new file mode 100644 index 00000000000..6064e8eee3f --- /dev/null +++ b/Resources/Textures/_NF/Structures/bountyvend.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Hyenh#6078", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "broken" + }, + { + "name": "off" + }, + { + "name": "panel" + }, + { + "name": "normal-unshaded", + "delays": [ + [ + 1.5, + 0.1, + 1.5, + 0.1 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/bountyvend.rsi/normal-unshaded.png b/Resources/Textures/_NF/Structures/bountyvend.rsi/normal-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..5afb2edaadc9ec28331103f34333313ac94a1212 GIT binary patch literal 3138 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/bountyvend.rsi/off.png b/Resources/Textures/_NF/Structures/bountyvend.rsi/off.png new file mode 100644 index 0000000000000000000000000000000000000000..06802faef83f952c9ce69462c2a8cd7484ff9e2f GIT binary patch literal 2723 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/bountyvend.rsi/panel.png b/Resources/Textures/_NF/Structures/bountyvend.rsi/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb37dea9df067c27cafacd4f6c7781166d58bbc GIT binary patch literal 681 zcmV;a0#^NrP)EX>4Tx04R}tkv&MmP!xqvQ>CI+hh`9Q$WWauh>AE$6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRRnoci*4YujVWU_$1;vW|%hd2Jy_M zZE)Tv7FkhNiO-40O}ZfQBi9v|-#8bVEbvUxOeg1wMPjMY!Ab|SqNx#26Ngnzr+gvf zvdVdjvsSLM);;+PgE@UA#dTUEh+zqFBp^XS6(y8mBSO1QiiISdM?L(*O@D%13b{&P z_CX>@2HM@dakSAh-}0001hNklR9;3>ax)=;XB6)+Q2%S5Z7%_?AKxWivMa1NL@ z;V*;A$8LsMXN~Fa09{>OhWqtG3{Fl?1Cz368XNx~@a#1x95D(;!H@s|M4cKEMOT3J P00000NkvXXu0mjf?`akP literal 0 HcmV?d00001 From 3fe2af2ffb50a8f90e022f4a03e27f7806b55d43 Mon Sep 17 00:00:00 2001 From: Raphael Bertoche Date: Sat, 29 Jul 2023 07:52:32 -0300 Subject: [PATCH 18/24] Reduces boom xeno artifact effect, no spacing --- Resources/Prototypes/XenoArch/Effects/normal_effects.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml index 1863bd6f39d..9829c8209a1 100644 --- a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml +++ b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml @@ -534,9 +534,10 @@ - type: Explosive deleteAfterExplosion: false explosionType: Default - totalIntensity: 500 + totalIntensity: 300 intensitySlope: 2.5 maxIntensity: 50 + canCreateVacuum: false - type: artifactEffect id: EffectSingulo From 625add743ce66dffbf0817f84288ccc65b24e9ab Mon Sep 17 00:00:00 2001 From: Dvir Date: Sat, 29 Jul 2023 15:14:12 +0300 Subject: [PATCH 19/24] Delete M_EmpGridComponent.cs --- Content.Server/_NF/M_Emp/M_EmpGridComponent.cs | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 Content.Server/_NF/M_Emp/M_EmpGridComponent.cs diff --git a/Content.Server/_NF/M_Emp/M_EmpGridComponent.cs b/Content.Server/_NF/M_Emp/M_EmpGridComponent.cs deleted file mode 100644 index 9e46b73a145..00000000000 --- a/Content.Server/_NF/M_Emp/M_EmpGridComponent.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace Content.Server._NF.M_Emp -{ - /// - /// A grid spawned by a salvage magnet. - /// - [RegisterComponent] - public sealed class M_EmpGridComponent : Component - { - /// - /// The magnet that spawned this grid. - /// - public EntityUid? SpawnerMagnet; - } -} From 1d5ff42db5077b1e6102af1378b17157396ace84 Mon Sep 17 00:00:00 2001 From: Banshee Date: Sat, 29 Jul 2023 14:19:13 -0500 Subject: [PATCH 20/24] Update xeno.yml --- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 3958aa4fbed..3972dd11a11 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -1,4 +1,5 @@ # Hacky for the stress test so don't even consider adding to this +# I added to it anyways because heck you - type: entity name: Burrower id: MobXeno @@ -110,6 +111,8 @@ - type: NoSlip - type: Perishable #Ummmm the acid kills a lot of the bacteria or something molsPerSecondPerUnitMass: 0.0005 + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Praetorian @@ -143,7 +146,8 @@ - MobMask layer: - MobLayer - + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Drone parent: MobXeno @@ -182,6 +186,8 @@ - MobMask layer: - MobLayer + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Queen @@ -227,6 +233,8 @@ - type: Tag tags: - CannotSuicide + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Ravager @@ -269,6 +277,8 @@ - MobMask layer: - MobLayer + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Runner @@ -303,6 +313,8 @@ - MobMask layer: - MobLayer + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Rouny @@ -313,6 +325,8 @@ drawdepth: Mobs sprite: Mobs/Aliens/Xenos/rouny.rsi offset: 0,0.6 + - type: ReplacementAccent + accent: genericAggressive - type: entity name: Spitter @@ -346,6 +360,8 @@ - MobMask layer: - MobLayer + - type: ReplacementAccent + accent: genericAggressive - type: entity name: space adder @@ -404,6 +420,8 @@ - MobMask layer: - MobLayer + - type: ReplacementAccent + accent: genericAggressive - type: entity name: space adder @@ -428,3 +446,5 @@ Base: dead_small_purple_snake - type: SolutionTransfer maxTransferAmount: 1 + - type: ReplacementAccent + accent: genericAggressive \ No newline at end of file From d65042da92bc74224a2cdaafb4c166014718bcf9 Mon Sep 17 00:00:00 2001 From: Cheackraze <71046427+Cheackraze@users.noreply.github.com> Date: Sat, 29 Jul 2023 18:47:48 -0400 Subject: [PATCH 21/24] fix yml linter --- .../Objects/Weapons/Guns/Projectiles/projectiles.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 38cc45b79cb..7b43a2cadfc 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -732,8 +732,11 @@ damage: types: Shock: 0 + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/magic.rsi layers: - - state: grenade + - state: emp_projectile + shader: unshaded - type: EmpOnTrigger range: 0.3 energyConsumption: 50000 From 613863bf253548c82151af98d2cc1940580af612 Mon Sep 17 00:00:00 2001 From: Cheackraze <71046427+Cheackraze@users.noreply.github.com> Date: Sat, 29 Jul 2023 18:56:47 -0400 Subject: [PATCH 22/24] makes them emp immune --- Resources/Maps/Shuttles/carrier.yml | 2 +- Resources/Maps/Shuttles/marauder.yml | 2 +- Resources/Maps/Shuttles/trident.yml | 2 +- Resources/Maps/frontier.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Maps/Shuttles/carrier.yml b/Resources/Maps/Shuttles/carrier.yml index 6b4c37148bc..cc05c461bb8 100644 --- a/Resources/Maps/Shuttles/carrier.yml +++ b/Resources/Maps/Shuttles/carrier.yml @@ -734,7 +734,7 @@ entities: - pos: 6.5,-30.5 parent: 1 type: Transform -- proto: APCBasic +- proto: APCBasicEmpImmune entities: - uid: 192 components: diff --git a/Resources/Maps/Shuttles/marauder.yml b/Resources/Maps/Shuttles/marauder.yml index 3806165681f..f1081b9cc62 100644 --- a/Resources/Maps/Shuttles/marauder.yml +++ b/Resources/Maps/Shuttles/marauder.yml @@ -685,7 +685,7 @@ entities: - pos: 3.5,7.5 parent: 1 type: Transform -- proto: APCHighCapacity +- proto: APCBasicEmpImmune entities: - uid: 46 components: diff --git a/Resources/Maps/Shuttles/trident.yml b/Resources/Maps/Shuttles/trident.yml index da5e55f79c6..fb527bcf6cb 100644 --- a/Resources/Maps/Shuttles/trident.yml +++ b/Resources/Maps/Shuttles/trident.yml @@ -338,7 +338,7 @@ entities: - pos: -0.5,-0.5 parent: 391 type: Transform -- proto: APCBasic +- proto: APCBasicEmpImmune entities: - uid: 24 components: diff --git a/Resources/Maps/frontier.yml b/Resources/Maps/frontier.yml index 0c9f8fa212b..fdf5cd21b95 100644 --- a/Resources/Maps/frontier.yml +++ b/Resources/Maps/frontier.yml @@ -3709,7 +3709,7 @@ entities: - pos: 32.5,10.5 parent: 2173 type: Transform -- proto: APCBasic +- proto: APCBasicEmpImmune entities: - uid: 1671 components: From c03999c119c015dbe1a844262a6d04791530ad23 Mon Sep 17 00:00:00 2001 From: Banshee Date: Sat, 29 Jul 2023 17:58:19 -0500 Subject: [PATCH 23/24] Update sprinter.yml --- Resources/Maps/Shuttles/sprinter.yml | 2032 ++++++++++++-------------- 1 file changed, 974 insertions(+), 1058 deletions(-) diff --git a/Resources/Maps/Shuttles/sprinter.yml b/Resources/Maps/Shuttles/sprinter.yml index 6863d8f28a6..cf281e255b3 100644 --- a/Resources/Maps/Shuttles/sprinter.yml +++ b/Resources/Maps/Shuttles/sprinter.yml @@ -772,8 +772,7 @@ entities: -2,-2: 0: 65535 -2,-1: - 0: 64511 - 1: 1024 + 0: 65535 -2,-3: 0: 61120 -1,-4: @@ -826,21 +825,6 @@ entities: - 0 - 0 - 0 - - volume: 2500 - temperature: 293.14996 - moles: - - 20.078888 - - 75.53487 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 chunkSize: 4 type: GridAtmosphere - type: GasTileOverlay @@ -1139,8 +1123,7 @@ entities: entities: - uid: 49 components: - - rot: 3.141592653589793 rad - pos: 2.5,-2.5 + - pos: 2.5,-2.5 parent: 1 type: Transform - proto: Bed @@ -1220,7 +1203,7 @@ entities: parent: 1 type: Transform - links: - - 717 + - 716 type: DeviceLinkSink - uid: 61 components: @@ -1228,7 +1211,7 @@ entities: parent: 1 type: Transform - links: - - 717 + - 716 type: DeviceLinkSink - uid: 62 components: @@ -1236,7 +1219,7 @@ entities: parent: 1 type: Transform - links: - - 717 + - 716 type: DeviceLinkSink - proto: BlastDoorOpen entities: @@ -1246,7 +1229,7 @@ entities: parent: 1 type: Transform - links: - - 713 + - 712 type: DeviceLinkSink - uid: 64 components: @@ -1254,7 +1237,7 @@ entities: parent: 1 type: Transform - links: - - 713 + - 712 type: DeviceLinkSink - proto: BoozeDispenser entities: @@ -1285,1583 +1268,1583 @@ entities: - type: InsideEntityStorage - proto: BoxZiptie entities: - - uid: 72 + - uid: 71 components: - pos: 2.3657243,7.608989 parent: 1 type: Transform - - uid: 73 + - uid: 72 components: - pos: 2.7719743,7.452739 parent: 1 type: Transform - proto: CableApcExtension entities: - - uid: 74 + - uid: 73 components: - pos: -7.5,-2.5 parent: 1 type: Transform - - uid: 75 + - uid: 74 components: - pos: -7.5,-1.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 76 + - uid: 75 components: - pos: -7.5,-3.5 parent: 1 type: Transform - - uid: 77 + - uid: 76 components: - pos: -8.5,-3.5 parent: 1 type: Transform - - uid: 78 + - uid: 77 components: - pos: -9.5,-3.5 parent: 1 type: Transform - - uid: 79 + - uid: 78 components: - pos: -10.5,-3.5 parent: 1 type: Transform - - uid: 80 + - uid: 79 components: - pos: -10.5,-2.5 parent: 1 type: Transform - - uid: 81 + - uid: 80 components: - pos: -10.5,-1.5 parent: 1 type: Transform - - uid: 82 + - uid: 81 components: - pos: -10.5,-0.5 parent: 1 type: Transform - - uid: 83 + - uid: 82 components: - pos: -10.5,-4.5 parent: 1 type: Transform - - uid: 84 + - uid: 83 components: - pos: -10.5,-5.5 parent: 1 type: Transform - - uid: 85 + - uid: 84 components: - pos: -10.5,-6.5 parent: 1 type: Transform - - uid: 86 + - uid: 85 components: - pos: -10.5,-7.5 parent: 1 type: Transform - - uid: 87 + - uid: 86 components: - pos: -11.5,-7.5 parent: 1 type: Transform - - uid: 88 + - uid: 87 components: - pos: -11.5,-8.5 parent: 1 type: Transform - - uid: 89 + - uid: 88 components: - pos: -11.5,-9.5 parent: 1 type: Transform - - uid: 90 + - uid: 89 components: - pos: -9.5,-7.5 parent: 1 type: Transform - - uid: 91 + - uid: 90 components: - pos: -9.5,-8.5 parent: 1 type: Transform - - uid: 92 + - uid: 91 components: - pos: -9.5,-9.5 parent: 1 type: Transform - - uid: 93 + - uid: 92 components: - pos: -11.5,-0.5 parent: 1 type: Transform - - uid: 94 + - uid: 93 components: - pos: -11.5,0.5 parent: 1 type: Transform - - uid: 95 + - uid: 94 components: - pos: -11.5,1.5 parent: 1 type: Transform - - uid: 96 + - uid: 95 components: - pos: -9.5,-0.5 parent: 1 type: Transform - - uid: 97 + - uid: 96 components: - pos: -9.5,0.5 parent: 1 type: Transform - - uid: 98 + - uid: 97 components: - pos: -9.5,1.5 parent: 1 type: Transform - - uid: 99 + - uid: 98 components: - pos: 7.5,-1.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 100 + - uid: 99 components: - pos: 7.5,-2.5 parent: 1 type: Transform - - uid: 101 + - uid: 100 components: - pos: 7.5,-3.5 parent: 1 type: Transform - - uid: 102 + - uid: 101 components: - pos: 8.5,-3.5 parent: 1 type: Transform - - uid: 103 + - uid: 102 components: - pos: 9.5,-3.5 parent: 1 type: Transform - - uid: 104 + - uid: 103 components: - pos: 10.5,-3.5 parent: 1 type: Transform - - uid: 105 + - uid: 104 components: - pos: 10.5,-2.5 parent: 1 type: Transform - - uid: 106 + - uid: 105 components: - pos: 10.5,-1.5 parent: 1 type: Transform - - uid: 107 + - uid: 106 components: - pos: 10.5,-0.5 parent: 1 type: Transform - - uid: 108 + - uid: 107 components: - pos: 10.5,-4.5 parent: 1 type: Transform - - uid: 109 + - uid: 108 components: - pos: 10.5,-5.5 parent: 1 type: Transform - - uid: 110 + - uid: 109 components: - pos: 10.5,-6.5 parent: 1 type: Transform - - uid: 111 + - uid: 110 components: - pos: 10.5,-7.5 parent: 1 type: Transform - - uid: 112 + - uid: 111 components: - pos: 11.5,-0.5 parent: 1 type: Transform - - uid: 113 + - uid: 112 components: - pos: 9.5,-0.5 parent: 1 type: Transform - - uid: 114 + - uid: 113 components: - pos: 9.5,0.5 parent: 1 type: Transform - - uid: 115 + - uid: 114 components: - pos: 9.5,1.5 parent: 1 type: Transform - - uid: 116 + - uid: 115 components: - pos: 11.5,0.5 parent: 1 type: Transform - - uid: 117 + - uid: 116 components: - pos: 11.5,1.5 parent: 1 type: Transform - - uid: 118 + - uid: 117 components: - pos: 9.5,-7.5 parent: 1 type: Transform - - uid: 119 + - uid: 118 components: - pos: 9.5,-8.5 parent: 1 type: Transform - - uid: 120 + - uid: 119 components: - pos: 9.5,-9.5 parent: 1 type: Transform - - uid: 121 + - uid: 120 components: - pos: 11.5,-7.5 parent: 1 type: Transform - - uid: 122 + - uid: 121 components: - pos: 11.5,-8.5 parent: 1 type: Transform - - uid: 123 + - uid: 122 components: - pos: 11.5,-9.5 parent: 1 type: Transform - - uid: 124 + - uid: 123 components: - pos: 0.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 125 + - uid: 124 components: - pos: 0.5,-3.5 parent: 1 type: Transform - - uid: 126 + - uid: 125 components: - pos: 0.5,-4.5 parent: 1 type: Transform - - uid: 127 + - uid: 126 components: - pos: -0.5,-4.5 parent: 1 type: Transform - - uid: 128 + - uid: 127 components: - pos: -1.5,-4.5 parent: 1 type: Transform - - uid: 129 + - uid: 128 components: - pos: -2.5,-4.5 parent: 1 type: Transform - - uid: 130 + - uid: 129 components: - pos: -3.5,-4.5 parent: 1 type: Transform - - uid: 131 + - uid: 130 components: - pos: -4.5,-4.5 parent: 1 type: Transform - - uid: 132 + - uid: 131 components: - pos: -5.5,-4.5 parent: 1 type: Transform - - uid: 133 + - uid: 132 components: - pos: 1.5,-4.5 parent: 1 type: Transform - - uid: 134 + - uid: 133 components: - pos: 2.5,-4.5 parent: 1 type: Transform - - uid: 135 + - uid: 134 components: - pos: 3.5,-4.5 parent: 1 type: Transform - - uid: 136 + - uid: 135 components: - pos: 4.5,-4.5 parent: 1 type: Transform - - uid: 137 + - uid: 136 components: - pos: 5.5,-4.5 parent: 1 type: Transform - - uid: 138 + - uid: 137 components: - pos: 6.5,-4.5 parent: 1 type: Transform - - uid: 139 + - uid: 138 components: - pos: -3.5,-4.5 parent: 1 type: Transform - - uid: 140 + - uid: 139 components: - pos: -3.5,-5.5 parent: 1 type: Transform - - uid: 141 + - uid: 140 components: - pos: -3.5,-6.5 parent: 1 type: Transform - - uid: 142 + - uid: 141 components: - pos: -3.5,-7.5 parent: 1 type: Transform - - uid: 143 + - uid: 142 components: - pos: -3.5,-8.5 parent: 1 type: Transform - - uid: 144 + - uid: 143 components: - pos: -3.5,-3.5 parent: 1 type: Transform - - uid: 145 + - uid: 144 components: - pos: -3.5,-2.5 parent: 1 type: Transform - - uid: 146 + - uid: 145 components: - pos: -3.5,-1.5 parent: 1 type: Transform - - uid: 147 + - uid: 146 components: - pos: -3.5,-0.5 parent: 1 type: Transform - - uid: 148 + - uid: 147 components: - pos: -3.5,0.5 parent: 1 type: Transform - - uid: 149 + - uid: 148 components: - pos: 3.5,-3.5 parent: 1 type: Transform - - uid: 150 + - uid: 149 components: - pos: 3.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 151 + - uid: 150 components: - pos: 3.5,-1.5 parent: 1 type: Transform - - uid: 152 + - uid: 151 components: - pos: 3.5,-0.5 parent: 1 type: Transform - - uid: 153 + - uid: 152 components: - pos: 3.5,0.5 parent: 1 type: Transform - - uid: 154 + - uid: 153 components: - pos: 3.5,-5.5 parent: 1 type: Transform - - uid: 155 + - uid: 154 components: - pos: 3.5,-6.5 parent: 1 type: Transform - - uid: 156 + - uid: 155 components: - pos: 3.5,-7.5 parent: 1 type: Transform - - uid: 157 + - uid: 156 components: - pos: 3.5,-8.5 parent: 1 type: Transform - - uid: 158 + - uid: 157 components: - pos: 0.5,-5.5 parent: 1 type: Transform - - uid: 159 + - uid: 158 components: - pos: 0.5,-6.5 parent: 1 type: Transform - - uid: 160 + - uid: 159 components: - pos: 0.5,-7.5 parent: 1 type: Transform - - uid: 161 + - uid: 160 components: - pos: 0.5,-8.5 parent: 1 type: Transform - - uid: 162 + - uid: 161 components: - pos: 0.5,-9.5 parent: 1 type: Transform - - uid: 163 + - uid: 162 components: - pos: 0.5,-10.5 parent: 1 type: Transform - - uid: 164 + - uid: 163 components: - pos: 0.5,-11.5 parent: 1 type: Transform - - uid: 165 + - uid: 164 components: - pos: 0.5,-12.5 parent: 1 type: Transform - - uid: 166 + - uid: 165 components: - pos: 0.5,-13.5 parent: 1 type: Transform - - uid: 167 + - uid: 166 components: - pos: -0.5,-10.5 parent: 1 type: Transform - - uid: 168 + - uid: 167 components: - pos: -1.5,-10.5 parent: 1 type: Transform - - uid: 169 + - uid: 168 components: - pos: -2.5,-10.5 parent: 1 type: Transform - - uid: 170 + - uid: 169 components: - pos: 1.5,-10.5 parent: 1 type: Transform - - uid: 171 + - uid: 170 components: - pos: 2.5,-10.5 parent: 1 type: Transform - - uid: 172 + - uid: 171 components: - pos: 1.5,-9.5 parent: 1 type: Transform - - uid: 173 + - uid: 172 components: - pos: 0.5,-1.5 parent: 1 type: Transform - - uid: 174 + - uid: 173 components: - pos: 0.5,-0.5 parent: 1 type: Transform - - uid: 175 + - uid: 174 components: - pos: 0.5,0.5 parent: 1 type: Transform - - uid: 176 + - uid: 175 components: - pos: 0.5,1.5 parent: 1 type: Transform - - uid: 177 + - uid: 176 components: - pos: 0.5,2.5 parent: 1 type: Transform - - uid: 178 + - uid: 177 components: - pos: -0.5,2.5 parent: 1 type: Transform - - uid: 179 + - uid: 178 components: - pos: -1.5,2.5 parent: 1 type: Transform - - uid: 180 + - uid: 179 components: - pos: -1.5,3.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 181 + - uid: 180 components: - pos: -1.5,4.5 parent: 1 type: Transform - - uid: 182 + - uid: 181 components: - pos: -1.5,5.5 parent: 1 type: Transform - - uid: 183 + - uid: 182 components: - pos: -1.5,6.5 parent: 1 type: Transform - - uid: 184 + - uid: 183 components: - pos: -0.5,6.5 parent: 1 type: Transform - - uid: 185 + - uid: 184 components: - pos: 0.5,6.5 parent: 1 type: Transform - - uid: 186 + - uid: 185 components: - pos: 1.5,6.5 parent: 1 type: Transform - - uid: 187 + - uid: 186 components: - pos: 2.5,6.5 parent: 1 type: Transform - - uid: 188 + - uid: 187 components: - pos: -0.5,8.5 parent: 1 type: Transform - - uid: 189 + - uid: 188 components: - pos: -0.5,9.5 parent: 1 type: Transform - - uid: 190 + - uid: 189 components: - pos: 0.5,9.5 parent: 1 type: Transform - - uid: 191 + - uid: 190 components: - pos: 1.5,9.5 parent: 1 type: Transform - - uid: 192 + - uid: 191 components: - pos: -0.5,10.5 parent: 1 type: Transform - - uid: 193 + - uid: 192 components: - pos: 1.5,8.5 parent: 1 type: Transform - - uid: 194 + - uid: 193 components: - pos: 2.5,8.5 parent: 1 type: Transform - - uid: 195 + - uid: 194 components: - pos: -0.5,11.5 parent: 1 type: Transform - proto: CableHV entities: - - uid: 196 + - uid: 195 components: - pos: 3.5,-10.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 197 + - uid: 196 components: - pos: -2.5,4.5 parent: 1 type: Transform - - uid: 198 + - uid: 197 components: - pos: -2.5,5.5 parent: 1 type: Transform - - uid: 199 + - uid: 198 components: - pos: -5.5,-7.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 200 + - uid: 199 components: - pos: -3.5,5.5 parent: 1 type: Transform - - uid: 201 + - uid: 200 components: - pos: -3.5,-11.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 202 + - uid: 201 components: - pos: -3.5,-9.5 parent: 1 type: Transform - - uid: 203 + - uid: 202 components: - pos: -3.5,-10.5 parent: 1 type: Transform - - uid: 204 + - uid: 203 components: - pos: -3.5,4.5 parent: 1 type: Transform - - uid: 205 + - uid: 204 components: - pos: 3.5,-11.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 206 + - uid: 205 components: - pos: 3.5,-9.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 207 + - uid: 206 components: - pos: -3.5,6.5 parent: 1 type: Transform - - uid: 208 + - uid: 207 components: - pos: -2.5,6.5 parent: 1 type: Transform - - uid: 209 + - uid: 208 components: - pos: -1.5,6.5 parent: 1 type: Transform - - uid: 210 + - uid: 209 components: - pos: -1.5,5.5 parent: 1 type: Transform - - uid: 211 + - uid: 210 components: - pos: -1.5,4.5 parent: 1 type: Transform - - uid: 212 + - uid: 211 components: - pos: -1.5,7.5 parent: 1 type: Transform - - uid: 213 + - uid: 212 components: - pos: -1.5,8.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 214 + - uid: 213 components: - pos: -1.5,3.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 215 + - uid: 214 components: - pos: -1.5,2.5 parent: 1 type: Transform - - uid: 216 + - uid: 215 components: - pos: -1.5,1.5 parent: 1 type: Transform - - uid: 217 + - uid: 216 components: - pos: -1.5,0.5 parent: 1 type: Transform - - uid: 218 + - uid: 217 components: - pos: -1.5,-0.5 parent: 1 type: Transform - - uid: 219 + - uid: 218 components: - pos: -1.5,-1.5 parent: 1 type: Transform - - uid: 220 + - uid: 219 components: - pos: -1.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 221 + - uid: 220 components: - pos: -1.5,-3.5 parent: 1 type: Transform - - uid: 222 + - uid: 221 components: - pos: -1.5,-4.5 parent: 1 type: Transform - - uid: 223 + - uid: 222 components: - pos: -1.5,-5.5 parent: 1 type: Transform - - uid: 224 + - uid: 223 components: - pos: -1.5,-6.5 parent: 1 type: Transform - - uid: 225 + - uid: 224 components: - pos: -1.5,-7.5 parent: 1 type: Transform - - uid: 226 + - uid: 225 components: - pos: 1.5,-7.5 parent: 1 type: Transform - - uid: 227 + - uid: 226 components: - pos: -2.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 228 + - uid: 227 components: - pos: -3.5,-2.5 parent: 1 type: Transform - - uid: 229 + - uid: 228 components: - pos: -4.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 230 + - uid: 229 components: - pos: -5.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 231 + - uid: 230 components: - pos: -0.5,-2.5 parent: 1 type: Transform - - uid: 232 + - uid: 231 components: - pos: 0.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 233 + - uid: 232 components: - pos: 1.5,-2.5 parent: 1 type: Transform - - uid: 234 + - uid: 233 components: - pos: 2.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 235 + - uid: 234 components: - pos: 3.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 236 + - uid: 235 components: - pos: 4.5,-2.5 parent: 1 type: Transform - - uid: 237 + - uid: 236 components: - pos: -2.5,-5.5 parent: 1 type: Transform - - uid: 238 + - uid: 237 components: - pos: -3.5,-5.5 parent: 1 type: Transform - - uid: 239 + - uid: 238 components: - pos: -4.5,-5.5 parent: 1 type: Transform - - uid: 240 + - uid: 239 components: - pos: -0.5,-5.5 parent: 1 type: Transform - - uid: 241 + - uid: 240 components: - pos: 0.5,-5.5 parent: 1 type: Transform - - uid: 242 + - uid: 241 components: - pos: 1.5,-5.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 243 + - uid: 242 components: - pos: 2.5,-5.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 244 + - uid: 243 components: - pos: 3.5,-5.5 parent: 1 type: Transform - - uid: 245 + - uid: 244 components: - pos: 4.5,-5.5 parent: 1 type: Transform - - uid: 246 + - uid: 245 components: - pos: -2.5,0.5 parent: 1 type: Transform - - uid: 247 + - uid: 246 components: - pos: -3.5,0.5 parent: 1 type: Transform - - uid: 248 + - uid: 247 components: - pos: -4.5,0.5 parent: 1 type: Transform - - uid: 249 + - uid: 248 components: - pos: -5.5,0.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 250 + - uid: 249 components: - pos: -0.5,0.5 parent: 1 type: Transform - - uid: 251 + - uid: 250 components: - pos: 0.5,0.5 parent: 1 type: Transform - - uid: 252 + - uid: 251 components: - pos: 1.5,0.5 parent: 1 type: Transform - - uid: 253 + - uid: 252 components: - pos: 2.5,0.5 parent: 1 type: Transform - - uid: 254 + - uid: 253 components: - pos: 3.5,0.5 parent: 1 type: Transform - - uid: 255 + - uid: 254 components: - pos: 4.5,0.5 parent: 1 type: Transform - - uid: 256 + - uid: 255 components: - pos: 5.5,0.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 257 + - uid: 256 components: - pos: -1.5,-8.5 parent: 1 type: Transform - - uid: 258 + - uid: 257 components: - pos: -2.5,-8.5 parent: 1 type: Transform - - uid: 259 + - uid: 258 components: - pos: -3.5,-8.5 parent: 1 type: Transform - - uid: 260 + - uid: 259 components: - pos: -4.5,-8.5 parent: 1 type: Transform - - uid: 261 + - uid: 260 components: - pos: -5.5,-8.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 262 + - uid: 261 components: - pos: -0.5,-8.5 parent: 1 type: Transform - - uid: 263 + - uid: 262 components: - pos: 0.5,-8.5 parent: 1 type: Transform - - uid: 264 + - uid: 263 components: - pos: 1.5,-8.5 parent: 1 type: Transform - - uid: 265 + - uid: 264 components: - pos: 2.5,-8.5 parent: 1 type: Transform - - uid: 266 + - uid: 265 components: - pos: 3.5,-8.5 parent: 1 type: Transform - - uid: 267 + - uid: 266 components: - pos: 4.5,-8.5 parent: 1 type: Transform - - uid: 268 + - uid: 267 components: - pos: 5.5,-8.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 269 + - uid: 268 components: - pos: 0.5,8.5 parent: 1 type: Transform - - uid: 270 + - uid: 269 components: - pos: -0.5,6.5 parent: 1 type: Transform - - uid: 271 + - uid: 270 components: - pos: 0.5,6.5 parent: 1 type: Transform - - uid: 272 + - uid: 271 components: - pos: 1.5,6.5 parent: 1 type: Transform - - uid: 273 + - uid: 272 components: - pos: 1.5,7.5 parent: 1 type: Transform - - uid: 274 + - uid: 273 components: - pos: 1.5,8.5 parent: 1 type: Transform - - uid: 275 + - uid: 274 components: - pos: -7.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 276 + - uid: 275 components: - pos: -6.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 277 + - uid: 276 components: - pos: -5.5,-6.5 parent: 1 type: Transform - - uid: 278 + - uid: 277 components: - pos: -8.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 279 + - uid: 278 components: - pos: -9.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 280 + - uid: 279 components: - pos: -10.5,-6.5 parent: 1 type: Transform - - uid: 281 + - uid: 280 components: - pos: -11.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 282 + - uid: 281 components: - pos: -12.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 283 + - uid: 282 components: - pos: -12.5,-5.5 parent: 1 type: Transform - - uid: 284 + - uid: 283 components: - pos: -12.5,-4.5 parent: 1 type: Transform - - uid: 285 + - uid: 284 components: - pos: -12.5,-3.5 parent: 1 type: Transform - - uid: 286 + - uid: 285 components: - pos: -12.5,-2.5 parent: 1 type: Transform - - uid: 287 + - uid: 286 components: - pos: 5.5,-7.5 parent: 1 type: Transform - - uid: 288 + - uid: 287 components: - pos: 5.5,-6.5 parent: 1 type: Transform - - uid: 289 + - uid: 288 components: - pos: 6.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 290 + - uid: 289 components: - pos: 7.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 291 + - uid: 290 components: - pos: 8.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 292 + - uid: 291 components: - pos: 9.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 293 + - uid: 292 components: - pos: 10.5,-6.5 parent: 1 type: Transform - - uid: 294 + - uid: 293 components: - pos: 11.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 295 + - uid: 294 components: - pos: 12.5,-6.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 296 + - uid: 295 components: - pos: 12.5,-5.5 parent: 1 type: Transform - - uid: 297 + - uid: 296 components: - pos: 12.5,-4.5 parent: 1 type: Transform - - uid: 298 + - uid: 297 components: - pos: 12.5,-3.5 parent: 1 type: Transform - - uid: 299 + - uid: 298 components: - pos: 12.5,-2.5 parent: 1 type: Transform - - uid: 300 + - uid: 299 components: - pos: 1.5,9.5 parent: 1 type: Transform - - uid: 301 + - uid: 300 components: - pos: 1.5,10.5 parent: 1 type: Transform - - uid: 302 + - uid: 301 components: - pos: 1.5,11.5 parent: 1 type: Transform - - uid: 303 + - uid: 302 components: - pos: 0.5,11.5 parent: 1 type: Transform - - uid: 304 + - uid: 303 components: - pos: -0.5,11.5 parent: 1 type: Transform - - uid: 305 + - uid: 304 components: - pos: -1.5,11.5 parent: 1 type: Transform - - uid: 306 + - uid: 305 components: - pos: -2.5,11.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 307 + - uid: 306 components: - pos: 2.5,11.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 308 + - uid: 307 components: - pos: 1.5,12.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 309 + - uid: 308 components: - pos: 0.5,12.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 310 + - uid: 309 components: - pos: -0.5,12.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 311 + - uid: 310 components: - pos: -1.5,12.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 312 + - uid: 311 components: - pos: -0.5,4.5 parent: 1 type: Transform - - uid: 313 + - uid: 312 components: - pos: 2.5,9.5 parent: 1 type: Transform - - uid: 314 + - uid: 313 components: - pos: 2.5,8.5 parent: 1 type: Transform - - uid: 315 + - uid: 314 components: - pos: 5.5,-9.5 parent: 1 type: Transform - proto: CableMV entities: - - uid: 316 + - uid: 315 components: - pos: 2.5,8.5 parent: 1 type: Transform - - uid: 317 + - uid: 316 components: - pos: 1.5,-7.5 parent: 1 type: Transform - - uid: 318 + - uid: 317 components: - pos: 0.5,-7.5 parent: 1 type: Transform - - uid: 319 + - uid: 318 components: - pos: -0.5,-7.5 parent: 1 type: Transform - - uid: 320 + - uid: 319 components: - pos: -1.5,-7.5 parent: 1 type: Transform - - uid: 321 + - uid: 320 components: - pos: -1.5,-6.5 parent: 1 type: Transform - - uid: 322 + - uid: 321 components: - pos: -1.5,-5.5 parent: 1 type: Transform - - uid: 323 + - uid: 322 components: - pos: -1.5,-4.5 parent: 1 type: Transform - - uid: 324 + - uid: 323 components: - pos: -1.5,8.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 325 + - uid: 324 components: - pos: -1.5,7.5 parent: 1 type: Transform - - uid: 326 + - uid: 325 components: - pos: -1.5,6.5 parent: 1 type: Transform - - uid: 327 + - uid: 326 components: - pos: -1.5,5.5 parent: 1 type: Transform - - uid: 328 + - uid: 327 components: - pos: -1.5,4.5 parent: 1 type: Transform - - uid: 329 + - uid: 328 components: - pos: -1.5,3.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 330 + - uid: 329 components: - pos: -1.5,2.5 parent: 1 type: Transform - - uid: 331 + - uid: 330 components: - pos: -1.5,1.5 parent: 1 type: Transform - - uid: 332 + - uid: 331 components: - pos: -1.5,0.5 parent: 1 type: Transform - - uid: 333 + - uid: 332 components: - pos: -1.5,-0.5 parent: 1 type: Transform - - uid: 334 + - uid: 333 components: - pos: -1.5,-1.5 parent: 1 type: Transform - - uid: 335 + - uid: 334 components: - pos: -1.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 336 + - uid: 335 components: - pos: -1.5,-3.5 parent: 1 type: Transform - - uid: 337 + - uid: 336 components: - pos: -2.5,-3.5 parent: 1 type: Transform - - uid: 338 + - uid: 337 components: - pos: -3.5,-3.5 parent: 1 type: Transform - - uid: 339 + - uid: 338 components: - pos: -4.5,-3.5 parent: 1 type: Transform - - uid: 340 + - uid: 339 components: - pos: -5.5,-3.5 parent: 1 type: Transform - - uid: 341 + - uid: 340 components: - pos: -6.5,-3.5 parent: 1 type: Transform - - uid: 342 + - uid: 341 components: - pos: -7.5,-3.5 parent: 1 type: Transform - - uid: 343 + - uid: 342 components: - pos: -7.5,-2.5 parent: 1 type: Transform - - uid: 344 + - uid: 343 components: - pos: -7.5,-1.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 345 + - uid: 344 components: - pos: -0.5,-3.5 parent: 1 type: Transform - - uid: 346 + - uid: 345 components: - pos: 0.5,-3.5 parent: 1 type: Transform - - uid: 347 + - uid: 346 components: - pos: 1.5,-3.5 parent: 1 type: Transform - - uid: 348 + - uid: 347 components: - pos: 2.5,-3.5 parent: 1 type: Transform - - uid: 349 + - uid: 348 components: - pos: 3.5,-3.5 parent: 1 type: Transform - - uid: 350 + - uid: 349 components: - pos: 4.5,-3.5 parent: 1 type: Transform - - uid: 351 + - uid: 350 components: - pos: 5.5,-3.5 parent: 1 type: Transform - - uid: 352 + - uid: 351 components: - pos: 6.5,-3.5 parent: 1 type: Transform - - uid: 353 + - uid: 352 components: - pos: 7.5,-3.5 parent: 1 type: Transform - - uid: 354 + - uid: 353 components: - pos: 7.5,-2.5 parent: 1 type: Transform - - uid: 355 + - uid: 354 components: - pos: 7.5,-1.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 356 + - uid: 355 components: - pos: 0.5,-2.5 parent: 1 type: Transform - enabled: True type: AmbientSound - - uid: 357 + - uid: 356 components: - pos: -0.5,-8.5 parent: 1 type: Transform - - uid: 358 + - uid: 357 components: - pos: -0.5,-9.5 parent: 1 type: Transform - - uid: 359 + - uid: 358 components: - pos: 0.5,-9.5 parent: 1 type: Transform - - uid: 360 + - uid: 359 components: - pos: 1.5,-9.5 parent: 1 type: Transform - - uid: 361 + - uid: 360 components: - pos: -1.5,9.5 parent: 1 type: Transform - - uid: 362 + - uid: 361 components: - pos: -0.5,9.5 parent: 1 type: Transform - - uid: 363 + - uid: 362 components: - pos: 0.5,9.5 parent: 1 type: Transform - - uid: 364 + - uid: 363 components: - pos: 1.5,9.5 parent: 1 type: Transform - - uid: 365 + - uid: 364 components: - pos: 1.5,8.5 parent: 1 type: Transform - proto: CableTerminal entities: - - uid: 366 + - uid: 365 components: - rot: 1.5707963267948966 rad pos: 1.5,9.5 @@ -2869,81 +2852,81 @@ entities: type: Transform - proto: CargoPallet entities: - - uid: 367 + - uid: 366 components: - pos: -2.5,-7.5 parent: 1 type: Transform - - uid: 368 + - uid: 367 components: - pos: -3.5,-7.5 parent: 1 type: Transform - - uid: 369 + - uid: 368 components: - pos: -2.5,-6.5 parent: 1 type: Transform - - uid: 370 + - uid: 369 components: - pos: -3.5,-6.5 parent: 1 type: Transform - proto: Carpet entities: - - uid: 371 + - uid: 370 components: - pos: -2.5,-11.5 parent: 1 type: Transform - - uid: 372 + - uid: 371 components: - pos: -1.5,-11.5 parent: 1 type: Transform - proto: Catwalk entities: - - uid: 373 + - uid: 372 components: - pos: -0.5,7.5 parent: 1 type: Transform - - uid: 374 + - uid: 373 components: - pos: 0.5,5.5 parent: 1 type: Transform - - uid: 375 + - uid: 374 components: - pos: 0.5,4.5 parent: 1 type: Transform - - uid: 376 + - uid: 375 components: - pos: -0.5,5.5 parent: 1 type: Transform - - uid: 377 + - uid: 376 components: - pos: -0.5,6.5 parent: 1 type: Transform - proto: ChairOfficeDark entities: - - uid: 378 + - uid: 377 components: - pos: 2.5,-7.5 parent: 1 type: Transform - proto: ChairPilotSeat entities: - - uid: 379 + - uid: 378 components: - rot: 3.141592653589793 rad pos: 0.5,10.5 parent: 1 type: Transform - - uid: 380 + - uid: 379 components: - rot: 3.141592653589793 rad pos: -1.5,10.5 @@ -2951,75 +2934,75 @@ entities: type: Transform - proto: CheckerBoard entities: - - uid: 381 + - uid: 380 components: - pos: -1.9841328,2.5913696 parent: 1 type: Transform - proto: ClothingBeltMilitaryWebbing entities: - - uid: 383 + - uid: 382 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingEyesGlassesSunglasses entities: - - uid: 384 + - uid: 383 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingHandsGlovesCombat entities: - - uid: 385 + - uid: 384 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingHeadHatOutlawHat entities: - - uid: 386 + - uid: 385 components: - flags: InContainer desc: A hat that makes you look like you carry a pulse pistol, numbered one and nineteen more. name: bounty hunter's hat type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingHeadHelmetEVALarge entities: - - uid: 387 + - uid: 386 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingMaskBreathMedicalSecurity entities: - - uid: 388 + - uid: 387 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics @@ -3035,171 +3018,171 @@ entities: - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 389 + - uid: 388 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingOuterCoatHoSTrench entities: - - uid: 390 + - uid: 389 components: - flags: InContainer desc: A greatcoat enhanced with a special alloy for some extra protection and style for those with a charismatic presence. name: bounty hunter's flak trenchcoat type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingOuterHardsuitBasic entities: - - uid: 391 + - uid: 390 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingOuterWinterBar entities: - - uid: 404 + - uid: 403 components: - pos: 2.532227,-1.4807949 parent: 1 type: Transform - proto: ClothingOuterWinterPara entities: - - uid: 405 + - uid: 404 components: - pos: 2.6429324,-6.3159156 parent: 1 type: Transform - proto: ClothingShoesBootsCombatFilled entities: - - uid: 392 + - uid: 391 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingShoesColorOrange entities: - - uid: 407 + - uid: 406 components: - flags: InContainer type: MetaData - - parent: 406 + - parent: 405 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 408 + - uid: 407 components: - flags: InContainer type: MetaData - - parent: 406 + - parent: 405 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpskirtDetective entities: - - uid: 393 + - uid: 392 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpskirtDetectiveGrey entities: - - uid: 394 + - uid: 393 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpskirtPrisoner entities: - - uid: 409 + - uid: 408 components: - flags: InContainer type: MetaData - - parent: 406 + - parent: 405 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpsuitDetective entities: - - uid: 395 + - uid: 394 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpsuitDetectiveGrey entities: - - uid: 396 + - uid: 395 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpsuitPirate entities: - - uid: 397 + - uid: 396 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ClothingUniformJumpsuitPrisoner entities: - - uid: 410 + - uid: 409 components: - flags: InContainer type: MetaData - - parent: 406 + - parent: 405 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: ComputerRadar entities: - - uid: 411 + - uid: 410 components: - pos: -1.5,11.5 parent: 1 type: Transform - proto: ComputerSalvageExpedition entities: - - uid: 412 + - uid: 411 components: - rot: 1.5707963267948966 rad pos: -2.5,9.5 @@ -3207,14 +3190,14 @@ entities: type: Transform - proto: ComputerShuttle entities: - - uid: 413 + - uid: 412 components: - pos: 0.5,11.5 parent: 1 type: Transform - proto: ComputerStationRecords entities: - - uid: 414 + - uid: 413 components: - rot: 3.141592653589793 rad pos: 3.5,-8.5 @@ -3222,14 +3205,14 @@ entities: type: Transform - proto: CrateFoodCooking entities: - - uid: 415 + - uid: 414 components: - pos: 2.5,-1.5 parent: 1 type: Transform - proto: DefibrillatorCabinetFilled entities: - - uid: 416 + - uid: 415 components: - rot: 3.141592653589793 rad pos: 2.5,-9.5 @@ -3237,132 +3220,121 @@ entities: type: Transform - proto: DiceBag entities: - - uid: 417 + - uid: 416 components: - pos: -1.3747578,2.6226196 parent: 1 type: Transform - proto: DrinkNuclearColaGlass entities: - - uid: 419 - components: - - flags: InContainer - type: MetaData - - parent: 418 - type: Transform - - canCollide: False - type: Physics - - type: InsideEntityStorage - - uid: 420 + - uid: 418 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage -- proto: EmpGrenade - entities: - - uid: 70 + - uid: 419 components: - flags: InContainer type: MetaData - - parent: 66 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: EncryptionKeyCommand entities: - - uid: 426 + - uid: 425 components: - pos: 0.5412586,11.510395 parent: 1 type: Transform - - uid: 427 + - uid: 426 components: - pos: -1.5212414,11.533833 parent: 1 type: Transform - proto: FaxMachineBase entities: - - uid: 428 + - uid: 427 components: - pos: 1.5,10.5 parent: 1 type: Transform - proto: filingCabinetTall entities: - - uid: 429 + - uid: 428 components: - pos: -1.5,-6.5 parent: 1 type: Transform - proto: FirelockEdge entities: - - uid: 430 + - uid: 429 components: - rot: -1.5707963267948966 rad pos: -2.5,-4.5 parent: 1 type: Transform - - uid: 431 + - uid: 430 components: - rot: -1.5707963267948966 rad pos: -2.5,-3.5 parent: 1 type: Transform - - uid: 432 + - uid: 431 components: - rot: 1.5707963267948966 rad pos: 2.5,-4.5 parent: 1 type: Transform - - uid: 433 + - uid: 432 components: - rot: 1.5707963267948966 rad pos: 2.5,-3.5 parent: 1 type: Transform - - uid: 434 + - uid: 433 components: - pos: -3.5,-1.5 parent: 1 type: Transform - proto: FirelockGlass entities: - - uid: 435 + - uid: 434 components: - pos: 1.5,0.5 parent: 1 type: Transform - - uid: 436 + - uid: 435 components: - rot: 1.5707963267948966 rad pos: 4.5,-2.5 parent: 1 type: Transform - - uid: 437 + - uid: 436 components: - pos: 1.5,-0.5 parent: 1 type: Transform - - uid: 438 + - uid: 437 components: - pos: 1.5,-1.5 parent: 1 type: Transform - proto: FloorDrain entities: - - uid: 439 + - uid: 438 components: - pos: 2.5,-10.5 parent: 1 type: Transform - fixtures: {} type: Fixtures - - uid: 440 + - uid: 439 components: - pos: -4.5,0.5 parent: 1 @@ -3371,63 +3343,63 @@ entities: type: Fixtures - proto: FoodBreadMoldy entities: - - uid: 441 + - uid: 440 components: - pos: -0.5628208,11.671696 parent: 1 type: Transform - proto: FoodBreadMoldySlice entities: - - uid: 421 + - uid: 420 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 422 + - uid: 421 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: FoodPizzaMoldySlice entities: - - uid: 423 + - uid: 422 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 424 + - uid: 423 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 425 + - uid: 424 components: - flags: InContainer type: MetaData - - parent: 418 + - parent: 417 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: GasDualPortVentPump entities: - - uid: 442 + - uid: 441 components: - pos: -0.5,1.5 parent: 1 @@ -3436,7 +3408,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 443 + - uid: 442 components: - rot: 3.141592653589793 rad pos: -0.5,-4.5 @@ -3446,7 +3418,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 444 + - uid: 443 components: - rot: 1.5707963267948966 rad pos: -4.5,-3.5 @@ -3456,7 +3428,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 445 + - uid: 444 components: - rot: 1.5707963267948966 rad pos: 4.5,-3.5 @@ -3468,7 +3440,7 @@ entities: type: AtmosPipeColor - proto: GasMixerFlipped entities: - - uid: 446 + - uid: 445 components: - rot: 3.141592653589793 rad pos: -0.5,6.5 @@ -3478,13 +3450,13 @@ entities: type: AtmosPipeColor - proto: GasPassiveVent entities: - - uid: 447 + - uid: 446 components: - rot: 1.5707963267948966 rad pos: -5.5,3.5 parent: 1 type: Transform - - uid: 448 + - uid: 447 components: - rot: -1.5707963267948966 rad pos: 5.5,3.5 @@ -3492,7 +3464,7 @@ entities: type: Transform - proto: GasPipeBend entities: - - uid: 449 + - uid: 448 components: - rot: 1.5707963267948966 rad pos: 2.5,-1.5 @@ -3500,7 +3472,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 450 + - uid: 449 components: - pos: -2.5,-1.5 parent: 1 @@ -3509,7 +3481,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 451 + - uid: 450 components: - rot: -1.5707963267948966 rad pos: 1.5,2.5 @@ -3517,7 +3489,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 452 + - uid: 451 components: - pos: -3.5,3.5 parent: 1 @@ -3526,7 +3498,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 453 + - uid: 452 components: - rot: 3.141592653589793 rad pos: -3.5,2.5 @@ -3536,7 +3508,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 454 + - uid: 453 components: - rot: 1.5707963267948966 rad pos: 3.5,3.5 @@ -3546,7 +3518,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 455 + - uid: 454 components: - rot: -1.5707963267948966 rad pos: 3.5,2.5 @@ -3554,14 +3526,14 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 456 + - uid: 455 components: - pos: -1.5,2.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 457 + - uid: 456 components: - rot: 1.5707963267948966 rad pos: 1.5,2.5 @@ -3569,7 +3541,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 458 + - uid: 457 components: - rot: 3.141592653589793 rad pos: -1.5,1.5 @@ -3577,7 +3549,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 459 + - uid: 458 components: - rot: 1.5707963267948966 rad pos: 0.5,-3.5 @@ -3585,7 +3557,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 460 + - uid: 459 components: - rot: -1.5707963267948966 rad pos: 0.5,-4.5 @@ -3593,14 +3565,14 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 461 + - uid: 460 components: - pos: 2.5,-3.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 462 + - uid: 461 components: - rot: -1.5707963267948966 rad pos: 0.5,-3.5 @@ -3608,7 +3580,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 463 + - uid: 462 components: - rot: 1.5707963267948966 rad pos: 0.5,-2.5 @@ -3618,7 +3590,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 464 + - uid: 463 components: - pos: 2.5,-2.5 parent: 1 @@ -3627,7 +3599,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 465 + - uid: 464 components: - rot: 3.141592653589793 rad pos: 2.5,-3.5 @@ -3635,7 +3607,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 466 + - uid: 465 components: - rot: -1.5707963267948966 rad pos: 1.5,-5.5 @@ -3645,7 +3617,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 467 + - uid: 466 components: - rot: 1.5707963267948966 rad pos: 0.5,-5.5 @@ -3653,7 +3625,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 468 + - uid: 467 components: - rot: -1.5707963267948966 rad pos: 0.5,-10.5 @@ -3661,7 +3633,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 469 + - uid: 468 components: - rot: 3.141592653589793 rad pos: 2.5,-6.5 @@ -3669,7 +3641,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 470 + - uid: 469 components: - rot: 3.141592653589793 rad pos: 1.5,-7.5 @@ -3677,14 +3649,14 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 471 + - uid: 470 components: - pos: 1.5,-6.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 472 + - uid: 471 components: - pos: -0.5,7.5 parent: 1 @@ -3693,21 +3665,21 @@ entities: type: AtmosPipeColor - proto: GasPipeFourway entities: - - uid: 473 + - uid: 472 components: - pos: -0.5,-3.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 474 + - uid: 473 components: - pos: 1.5,-3.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 475 + - uid: 474 components: - pos: 0.5,5.5 parent: 1 @@ -3716,7 +3688,7 @@ entities: type: AtmosPipeColor - proto: GasPipeStraight entities: - - uid: 476 + - uid: 475 components: - rot: 3.141592653589793 rad pos: -0.5,-7.5 @@ -3724,7 +3696,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 477 + - uid: 476 components: - rot: 1.5707963267948966 rad pos: 1.5,-6.5 @@ -3732,7 +3704,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 478 + - uid: 477 components: - pos: 2.5,-2.5 parent: 1 @@ -3741,7 +3713,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 479 + - uid: 478 components: - rot: 3.141592653589793 rad pos: 2.5,-5.5 @@ -3751,7 +3723,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 480 + - uid: 479 components: - pos: -2.5,-2.5 parent: 1 @@ -3760,7 +3732,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 481 + - uid: 480 components: - rot: 3.141592653589793 rad pos: 0.5,2.5 @@ -3768,14 +3740,14 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 482 + - uid: 481 components: - pos: -0.5,5.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 483 + - uid: 482 components: - rot: -1.5707963267948966 rad pos: 0.5,2.5 @@ -3783,7 +3755,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 484 + - uid: 483 components: - rot: 3.141592653589793 rad pos: 1.5,3.5 @@ -3791,7 +3763,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 485 + - uid: 484 components: - rot: 3.141592653589793 rad pos: 1.5,4.5 @@ -3799,7 +3771,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 486 + - uid: 485 components: - rot: 3.141592653589793 rad pos: 1.5,5.5 @@ -3807,7 +3779,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 487 + - uid: 486 components: - rot: 3.141592653589793 rad pos: 1.5,6.5 @@ -3815,7 +3787,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 488 + - uid: 487 components: - rot: 3.141592653589793 rad pos: 1.5,7.5 @@ -3823,7 +3795,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 489 + - uid: 488 components: - rot: 3.141592653589793 rad pos: 1.5,8.5 @@ -3831,7 +3803,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 490 + - uid: 489 components: - rot: -1.5707963267948966 rad pos: 2.5,2.5 @@ -3839,7 +3811,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 491 + - uid: 490 components: - rot: 1.5707963267948966 rad pos: -0.5,1.5 @@ -3847,35 +3819,35 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 492 + - uid: 491 components: - pos: -0.5,0.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 493 + - uid: 492 components: - pos: -0.5,-0.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 494 + - uid: 493 components: - pos: -0.5,-1.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 495 + - uid: 494 components: - pos: -0.5,-2.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 496 + - uid: 495 components: - rot: 3.141592653589793 rad pos: 1.5,-0.5 @@ -3883,7 +3855,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 497 + - uid: 496 components: - rot: 3.141592653589793 rad pos: 1.5,-1.5 @@ -3891,7 +3863,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 498 + - uid: 497 components: - rot: 3.141592653589793 rad pos: 1.5,-2.5 @@ -3899,7 +3871,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 499 + - uid: 498 components: - rot: 1.5707963267948966 rad pos: -0.5,-4.5 @@ -3907,7 +3879,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 500 + - uid: 499 components: - rot: -1.5707963267948966 rad pos: -1.5,-4.5 @@ -3915,7 +3887,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 501 + - uid: 500 components: - rot: -1.5707963267948966 rad pos: -3.5,-4.5 @@ -3923,7 +3895,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 502 + - uid: 501 components: - rot: -1.5707963267948966 rad pos: -4.5,-4.5 @@ -3931,7 +3903,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 503 + - uid: 502 components: - rot: 1.5707963267948966 rad pos: 3.5,-4.5 @@ -3939,7 +3911,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 504 + - uid: 503 components: - rot: 1.5707963267948966 rad pos: 4.5,-4.5 @@ -3947,7 +3919,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 505 + - uid: 504 components: - rot: 1.5707963267948966 rad pos: 1.5,-2.5 @@ -3955,7 +3927,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 506 + - uid: 505 components: - rot: 1.5707963267948966 rad pos: 3.5,-3.5 @@ -3963,7 +3935,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 507 + - uid: 506 components: - rot: 1.5707963267948966 rad pos: -1.5,-3.5 @@ -3971,7 +3943,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 508 + - uid: 507 components: - rot: 1.5707963267948966 rad pos: -2.5,-3.5 @@ -3979,7 +3951,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 509 + - uid: 508 components: - rot: 1.5707963267948966 rad pos: -3.5,-3.5 @@ -3987,83 +3959,83 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 510 + - uid: 509 components: - rot: 1.5707963267948966 rad pos: -5.5,-3.5 parent: 1 type: Transform - - uid: 511 + - uid: 510 components: - rot: 1.5707963267948966 rad pos: -6.5,-3.5 parent: 1 type: Transform - - uid: 512 + - uid: 511 components: - rot: 1.5707963267948966 rad pos: -7.5,-3.5 parent: 1 type: Transform - - uid: 513 + - uid: 512 components: - rot: 1.5707963267948966 rad pos: -8.5,-3.5 parent: 1 type: Transform - - uid: 514 + - uid: 513 components: - rot: 1.5707963267948966 rad pos: 5.5,-3.5 parent: 1 type: Transform - - uid: 515 + - uid: 514 components: - rot: 1.5707963267948966 rad pos: 6.5,-3.5 parent: 1 type: Transform - - uid: 516 + - uid: 515 components: - rot: 1.5707963267948966 rad pos: 7.5,-3.5 parent: 1 type: Transform - - uid: 517 + - uid: 516 components: - rot: 1.5707963267948966 rad pos: 8.5,-3.5 parent: 1 type: Transform - - uid: 518 + - uid: 517 components: - pos: -0.5,-5.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 519 + - uid: 518 components: - pos: -0.5,-8.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 520 + - uid: 519 components: - pos: -0.5,-9.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 521 + - uid: 520 components: - pos: -0.5,-10.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 522 + - uid: 521 components: - rot: 1.5707963267948966 rad pos: -0.5,-10.5 @@ -4071,28 +4043,28 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 523 + - uid: 522 components: - pos: 0.5,-7.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 524 + - uid: 523 components: - pos: 0.5,-8.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 525 + - uid: 524 components: - pos: 0.5,-9.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 526 + - uid: 525 components: - rot: -1.5707963267948966 rad pos: -2.5,2.5 @@ -4100,7 +4072,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 527 + - uid: 526 components: - rot: 3.141592653589793 rad pos: 0.5,3.5 @@ -4108,7 +4080,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 528 + - uid: 527 components: - rot: 3.141592653589793 rad pos: 0.5,4.5 @@ -4116,7 +4088,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 529 + - uid: 528 components: - rot: 3.141592653589793 rad pos: 0.5,6.5 @@ -4124,7 +4096,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 530 + - uid: 529 components: - rot: 3.141592653589793 rad pos: 0.5,7.5 @@ -4132,7 +4104,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 531 + - uid: 530 components: - rot: 3.141592653589793 rad pos: 0.5,8.5 @@ -4140,7 +4112,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 532 + - uid: 531 components: - rot: 3.141592653589793 rad pos: -2.5,-3.5 @@ -4148,7 +4120,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 533 + - uid: 532 components: - rot: -1.5707963267948966 rad pos: 1.5,5.5 @@ -4156,21 +4128,21 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 534 + - uid: 533 components: - pos: 0.5,-6.5 parent: 1 type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 535 + - uid: 534 components: - pos: -0.5,4.5 parent: 1 type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 536 + - uid: 535 components: - pos: -0.5,3.5 parent: 1 @@ -4179,7 +4151,7 @@ entities: type: AtmosPipeColor - enabled: True type: AmbientSound - - uid: 537 + - uid: 536 components: - rot: 1.5707963267948966 rad pos: 0.5,-6.5 @@ -4189,7 +4161,7 @@ entities: type: AtmosPipeColor - proto: GasPipeTJunction entities: - - uid: 538 + - uid: 537 components: - rot: 3.141592653589793 rad pos: -2.5,-4.5 @@ -4197,7 +4169,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 539 + - uid: 538 components: - rot: 1.5707963267948966 rad pos: -0.5,-6.5 @@ -4205,7 +4177,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 540 + - uid: 539 components: - rot: 1.5707963267948966 rad pos: -0.5,2.5 @@ -4213,7 +4185,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 541 + - uid: 540 components: - rot: 3.141592653589793 rad pos: 0.5,1.5 @@ -4221,7 +4193,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 542 + - uid: 541 components: - rot: -1.5707963267948966 rad pos: 1.5,1.5 @@ -4229,7 +4201,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 543 + - uid: 542 components: - rot: -1.5707963267948966 rad pos: 1.5,0.5 @@ -4237,7 +4209,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 544 + - uid: 543 components: - rot: 1.5707963267948966 rad pos: 2.5,-4.5 @@ -4245,7 +4217,7 @@ entities: type: Transform - color: '#990000FF' type: AtmosPipeColor - - uid: 545 + - uid: 544 components: - rot: -1.5707963267948966 rad pos: 1.5,-4.5 @@ -4255,7 +4227,7 @@ entities: type: AtmosPipeColor - proto: GasPort entities: - - uid: 546 + - uid: 545 components: - rot: 1.5707963267948966 rad pos: -1.5,7.5 @@ -4263,7 +4235,7 @@ entities: type: Transform - color: '#0055CCFF' type: AtmosPipeColor - - uid: 547 + - uid: 546 components: - rot: -1.5707963267948966 rad pos: 0.5,6.5 @@ -4271,7 +4243,7 @@ entities: type: Transform - proto: GasPressurePump entities: - - uid: 548 + - uid: 547 components: - rot: 1.5707963267948966 rad pos: 4.5,3.5 @@ -4281,7 +4253,7 @@ entities: type: GasPressurePump - color: '#990000FF' type: AtmosPipeColor - - uid: 549 + - uid: 548 components: - rot: -1.5707963267948966 rad pos: -4.5,3.5 @@ -4293,7 +4265,7 @@ entities: type: AtmosPipeColor - proto: GasVentPump entities: - - uid: 550 + - uid: 549 components: - rot: -1.5707963267948966 rad pos: 2.5,-7.5 @@ -4303,7 +4275,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 551 + - uid: 550 components: - pos: 1.5,9.5 parent: 1 @@ -4312,7 +4284,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 552 + - uid: 551 components: - rot: 1.5707963267948966 rad pos: -9.5,-3.5 @@ -4320,7 +4292,7 @@ entities: type: Transform - enabled: False type: AmbientSound - - uid: 553 + - uid: 552 components: - rot: -1.5707963267948966 rad pos: 9.5,-3.5 @@ -4328,7 +4300,7 @@ entities: type: Transform - enabled: False type: AmbientSound - - uid: 554 + - uid: 553 components: - rot: 3.141592653589793 rad pos: -0.5,-11.5 @@ -4340,7 +4312,7 @@ entities: type: AtmosPipeColor - proto: GasVentScrubber entities: - - uid: 555 + - uid: 554 components: - rot: -1.5707963267948966 rad pos: 2.5,5.5 @@ -4350,7 +4322,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 556 + - uid: 555 components: - rot: 3.141592653589793 rad pos: 0.5,0.5 @@ -4358,7 +4330,7 @@ entities: type: Transform - enabled: False type: AmbientSound - - uid: 557 + - uid: 556 components: - rot: 1.5707963267948966 rad pos: -3.5,-1.5 @@ -4368,7 +4340,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 558 + - uid: 557 components: - rot: -1.5707963267948966 rad pos: 3.5,-1.5 @@ -4378,7 +4350,7 @@ entities: type: AmbientSound - color: '#0055CCFF' type: AtmosPipeColor - - uid: 559 + - uid: 558 components: - rot: -1.5707963267948966 rad pos: 3.5,-6.5 @@ -4388,7 +4360,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 560 + - uid: 559 components: - rot: 1.5707963267948966 rad pos: -1.5,-10.5 @@ -4398,7 +4370,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 561 + - uid: 560 components: - rot: -1.5707963267948966 rad pos: 5.5,-4.5 @@ -4408,7 +4380,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 562 + - uid: 561 components: - rot: 1.5707963267948966 rad pos: 0.5,-4.5 @@ -4418,7 +4390,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 563 + - uid: 562 components: - rot: 1.5707963267948966 rad pos: -5.5,-4.5 @@ -4428,7 +4400,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 564 + - uid: 563 components: - pos: 0.5,9.5 parent: 1 @@ -4437,7 +4409,7 @@ entities: type: AmbientSound - color: '#990000FF' type: AtmosPipeColor - - uid: 565 + - uid: 564 components: - rot: 1.5707963267948966 rad pos: -0.5,5.5 @@ -4449,119 +4421,119 @@ entities: type: AtmosPipeColor - proto: GravityGeneratorMini entities: - - uid: 566 + - uid: 565 components: - pos: -2.5,7.5 parent: 1 type: Transform - proto: Grille entities: - - uid: 567 + - uid: 566 components: - pos: -0.5,12.5 parent: 1 type: Transform - - uid: 568 + - uid: 567 components: - pos: 5.5,-8.5 parent: 1 type: Transform - - uid: 569 + - uid: 568 components: - pos: -3.5,-5.5 parent: 1 type: Transform - - uid: 570 + - uid: 569 components: - pos: 5.5,0.5 parent: 1 type: Transform - - uid: 571 + - uid: 570 components: - pos: -5.5,0.5 parent: 1 type: Transform - - uid: 572 + - uid: 571 components: - pos: 1.5,-8.5 parent: 1 type: Transform - - uid: 573 + - uid: 572 components: - rot: -1.5707963267948966 rad pos: -2.5,11.5 parent: 1 type: Transform - - uid: 574 + - uid: 573 components: - rot: -1.5707963267948966 rad pos: 2.5,11.5 parent: 1 type: Transform - - uid: 575 + - uid: 574 components: - rot: -1.5707963267948966 rad pos: -1.5,12.5 parent: 1 type: Transform - - uid: 576 + - uid: 575 components: - rot: -1.5707963267948966 rad pos: 0.5,12.5 parent: 1 type: Transform - - uid: 577 + - uid: 576 components: - rot: -1.5707963267948966 rad pos: 1.5,12.5 parent: 1 type: Transform - - uid: 578 + - uid: 577 components: - pos: -4.5,-2.5 parent: 1 type: Transform - - uid: 579 + - uid: 578 components: - rot: 1.5707963267948966 rad pos: 4.5,2.5 parent: 1 type: Transform - - uid: 580 + - uid: 579 components: - pos: -4.5,-5.5 parent: 1 type: Transform - - uid: 581 + - uid: 580 components: - rot: 1.5707963267948966 rad pos: 12.5,-2.5 parent: 1 type: Transform - - uid: 582 + - uid: 581 components: - rot: 1.5707963267948966 rad pos: 12.5,-4.5 parent: 1 type: Transform - - uid: 583 + - uid: 582 components: - rot: 1.5707963267948966 rad pos: -12.5,-4.5 parent: 1 type: Transform - - uid: 584 + - uid: 583 components: - rot: 1.5707963267948966 rad pos: -12.5,-2.5 parent: 1 type: Transform - - uid: 585 + - uid: 584 components: - pos: 1.5,-6.5 parent: 1 type: Transform - - uid: 586 + - uid: 585 components: - rot: 3.141592653589793 rad pos: 5.5,-9.5 @@ -4581,8 +4553,8 @@ entities: immutable: False temperature: 293.14975 moles: - - 1.7459903 - - 6.568249 + - 1.8856695 + - 7.0937095 - 0 - 0 - 0 @@ -4599,11 +4571,10 @@ entities: showEnts: False occludes: True ents: - - 71 - - 70 - - 67 - - 68 - 69 + - 68 + - 67 + - 70 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -4611,63 +4582,63 @@ entities: type: ContainerContainer - proto: Gyroscope entities: - - uid: 587 + - uid: 586 components: - rot: 1.5707963267948966 rad pos: -9.5,-0.5 parent: 1 type: Transform - - uid: 588 + - uid: 587 components: - rot: 1.5707963267948966 rad pos: 9.5,-0.5 parent: 1 type: Transform - - uid: 589 + - uid: 588 components: - pos: -9.5,-7.5 parent: 1 type: Transform - - uid: 590 + - uid: 589 components: - pos: 9.5,-7.5 parent: 1 type: Transform - proto: HospitalCurtainsOpen entities: - - uid: 591 + - uid: 590 components: - pos: -4.5,0.5 parent: 1 type: Transform - - uid: 592 + - uid: 591 components: - rot: 1.5707963267948966 rad pos: 2.5,-11.5 parent: 1 type: Transform - - uid: 593 + - uid: 592 components: - pos: 5.5,-6.5 parent: 1 type: Transform - - uid: 594 + - uid: 593 components: - rot: -1.5707963267948966 rad pos: 2.5,-10.5 parent: 1 type: Transform - - uid: 595 + - uid: 594 components: - pos: -1.5,-11.5 parent: 1 type: Transform - - uid: 596 + - uid: 595 components: - pos: -2.5,-11.5 parent: 1 type: Transform - - uid: 597 + - uid: 596 components: - rot: 3.141592653589793 rad pos: 4.5,-9.5 @@ -4675,26 +4646,26 @@ entities: type: Transform - proto: hydroponicsTray entities: - - uid: 598 + - uid: 597 components: - pos: -2.5,-9.5 parent: 1 type: Transform - - uid: 599 + - uid: 598 components: - pos: -1.5,-9.5 parent: 1 type: Transform - proto: HyperlinkBookSpaceLaw entities: - - uid: 600 + - uid: 599 components: - pos: 1.501635,10.979151 parent: 1 type: Transform - proto: IntercomCommand entities: - - uid: 955 + - uid: 600 components: - pos: -2.5,10.5 parent: 1 @@ -4722,7 +4693,7 @@ entities: type: Transform - proto: LockerCaptain entities: - - uid: 382 + - uid: 381 components: - pos: 3.5,5.5 parent: 1 @@ -4732,8 +4703,8 @@ entities: immutable: False temperature: 293.14975 moles: - - 1.7459903 - - 6.568249 + - 1.8856695 + - 7.0937095 - 0 - 0 - 0 @@ -4750,27 +4721,27 @@ entities: showEnts: False occludes: True ents: + - 386 + - 390 + - 383 + - 389 + - 384 + - 392 + - 385 - 391 - - 387 + - 396 + - 395 + - 394 + - 393 - 388 - - 383 - - 399 + - 400 - 402 + - 397 - 401 + - 399 - 398 - - 403 - - 400 - - 389 - - 394 - - 395 - - 396 - - 397 - - 392 - - 386 - - 393 - - 385 - - 390 - - 384 + - 382 + - 387 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -4778,7 +4749,7 @@ entities: type: ContainerContainer - proto: LockerFreezerBase entities: - - uid: 418 + - uid: 417 components: - pos: -1.5,-0.5 parent: 1 @@ -4790,13 +4761,13 @@ entities: showEnts: False occludes: True ents: + - 418 + - 422 + - 420 - 419 - - 423 - 421 - - 420 - - 422 + - 423 - 424 - - 425 paper_label: !type:ContainerSlot showEnts: False occludes: True @@ -4827,22 +4798,22 @@ entities: type: Transform - proto: MagazineBoxMagnum entities: - - uid: 398 + - uid: 397 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: MagazineBoxMagnumIncendiary entities: - - uid: 399 + - uid: 398 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics @@ -5118,415 +5089,410 @@ entities: - proto: RandomPosterAny entities: - uid: 644 - components: - - pos: -5.5,-6.5 - parent: 1 - type: Transform - - uid: 645 components: - pos: 1.5,2.5 parent: 1 type: Transform - - uid: 646 + - uid: 645 components: - pos: -2.5,-1.5 parent: 1 type: Transform - - uid: 647 + - uid: 646 components: - pos: 1.5,-12.5 parent: 1 type: Transform - - uid: 648 + - uid: 647 components: - pos: -9.5,-1.5 parent: 1 type: Transform - - uid: 649 + - uid: 648 components: - pos: 5.5,-0.5 parent: 1 type: Transform - - uid: 650 + - uid: 649 components: - pos: 4.5,1.5 parent: 1 type: Transform - - uid: 651 + - uid: 650 components: - pos: -1.5,-5.5 parent: 1 type: Transform - - uid: 652 + - uid: 651 components: - pos: -3.5,2.5 parent: 1 type: Transform - proto: RandomSpawner entities: - - uid: 653 + - uid: 652 components: - pos: -4.5,-1.5 parent: 1 type: Transform - - uid: 654 + - uid: 653 components: - pos: 4.5,-7.5 parent: 1 type: Transform - - uid: 655 + - uid: 654 components: - pos: 3.5,-6.5 parent: 1 type: Transform - - uid: 656 + - uid: 655 components: - pos: 0.5,-1.5 parent: 1 type: Transform - - uid: 657 + - uid: 656 components: - pos: -9.5,-5.5 parent: 1 type: Transform - - uid: 658 + - uid: 657 components: - pos: 9.5,-5.5 parent: 1 type: Transform - - uid: 659 + - uid: 658 components: - pos: 9.5,-2.5 parent: 1 type: Transform - - uid: 660 + - uid: 659 components: - pos: -11.5,-5.5 parent: 1 type: Transform - - uid: 661 + - uid: 660 components: - pos: -4.5,-7.5 parent: 1 type: Transform - - uid: 662 + - uid: 661 components: - pos: -2.5,-8.5 parent: 1 type: Transform - - uid: 663 + - uid: 662 components: - pos: -1.5,9.5 parent: 1 type: Transform - - uid: 664 + - uid: 663 components: - pos: 11.5,-2.5 parent: 1 type: Transform - - uid: 665 + - uid: 664 components: - pos: 0.5,0.5 parent: 1 type: Transform - - uid: 666 + - uid: 665 components: - pos: 0.5,4.5 parent: 1 type: Transform - - uid: 667 + - uid: 666 components: - pos: -11.5,-2.5 parent: 1 type: Transform - - uid: 668 + - uid: 667 components: - pos: -5.5,-4.5 parent: 1 type: Transform - - uid: 669 + - uid: 668 components: - pos: 1.5,-3.5 parent: 1 type: Transform - - uid: 670 + - uid: 669 components: - pos: 5.5,-4.5 parent: 1 type: Transform - - uid: 671 + - uid: 670 components: - pos: -1.5,-10.5 parent: 1 type: Transform - - uid: 672 + - uid: 671 components: - pos: 0.5,-11.5 parent: 1 type: Transform - - uid: 673 + - uid: 672 components: - pos: 0.5,-8.5 parent: 1 type: Transform - - uid: 674 + - uid: 673 components: - pos: 0.5,10.5 parent: 1 type: Transform - - uid: 675 + - uid: 674 components: - pos: -0.5,11.5 parent: 1 type: Transform - proto: RandomVendingDrinks entities: - - uid: 676 + - uid: 675 components: - pos: 0.5,-9.5 parent: 1 type: Transform - proto: RandomVendingSnacks entities: - - uid: 677 + - uid: 676 components: - pos: -1.5,-1.5 parent: 1 type: Transform - proto: ReinforcedWindow entities: - - uid: 678 + - uid: 677 components: - rot: 1.5707963267948966 rad pos: 12.5,-2.5 parent: 1 type: Transform - - uid: 679 + - uid: 678 components: - pos: 1.5,-8.5 parent: 1 type: Transform - - uid: 680 + - uid: 679 components: - rot: 1.5707963267948966 rad pos: -12.5,-4.5 parent: 1 type: Transform - - uid: 681 + - uid: 680 components: - pos: 0.5,12.5 parent: 1 type: Transform - - uid: 682 + - uid: 681 components: - pos: -2.5,11.5 parent: 1 type: Transform - - uid: 683 + - uid: 682 components: - pos: -1.5,12.5 parent: 1 type: Transform - - uid: 684 + - uid: 683 components: - pos: 1.5,12.5 parent: 1 type: Transform - - uid: 685 + - uid: 684 components: - pos: -0.5,12.5 parent: 1 type: Transform - - uid: 686 + - uid: 685 components: - pos: 2.5,11.5 parent: 1 type: Transform - - uid: 687 + - uid: 686 components: - pos: -4.5,-2.5 parent: 1 type: Transform - - uid: 688 + - uid: 687 components: - rot: 1.5707963267948966 rad pos: 4.5,2.5 parent: 1 type: Transform - - uid: 689 + - uid: 688 components: - rot: 1.5707963267948966 rad pos: -12.5,-2.5 parent: 1 type: Transform - - uid: 690 + - uid: 689 components: - pos: -3.5,-5.5 parent: 1 type: Transform - - uid: 691 + - uid: 690 components: - rot: 1.5707963267948966 rad pos: 12.5,-4.5 parent: 1 type: Transform - - uid: 692 + - uid: 691 components: - rot: -1.5707963267948966 rad pos: 5.5,-8.5 parent: 1 type: Transform - - uid: 693 + - uid: 692 components: - pos: 5.5,0.5 parent: 1 type: Transform - - uid: 694 + - uid: 693 components: - rot: -1.5707963267948966 rad pos: -5.5,0.5 parent: 1 type: Transform - - uid: 695 - components: - - pos: 1.5,-6.5 - parent: 1 - type: Transform - - uid: 696 + - uid: 694 components: - pos: -4.5,-5.5 parent: 1 type: Transform - - uid: 697 + - uid: 695 components: - rot: 3.141592653589793 rad pos: 5.5,-9.5 parent: 1 type: Transform + - uid: 696 + components: + - pos: 1.5,-6.5 + parent: 1 + type: Transform - proto: RipleyChassis entities: - - uid: 698 + - uid: 697 components: - pos: -4.448817,-6.46821 parent: 1 type: Transform - proto: ShuttersWindowOpen entities: - - uid: 699 + - uid: 698 components: - pos: 0.5,12.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 700 + - uid: 699 components: - pos: -0.5,12.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 701 + - uid: 700 components: - pos: -1.5,12.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 702 + - uid: 701 components: - pos: -2.5,11.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 703 + - uid: 702 components: - pos: 1.5,12.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 704 + - uid: 703 components: - pos: 2.5,11.5 parent: 1 type: Transform - links: - - 714 + - 713 type: DeviceLinkSink - - uid: 705 + - uid: 704 components: - pos: -10.5,-2.5 parent: 1 type: Transform - links: - - 715 + - 714 type: DeviceLinkSink - - uid: 706 + - uid: 705 components: - pos: -10.5,-3.5 parent: 1 type: Transform - links: - - 715 + - 714 type: DeviceLinkSink - - uid: 707 + - uid: 706 components: - pos: -10.5,-4.5 parent: 1 type: Transform - links: - - 715 + - 714 type: DeviceLinkSink - - uid: 708 + - uid: 707 components: - pos: -10.5,-5.5 parent: 1 type: Transform - links: - - 715 + - 714 type: DeviceLinkSink - - uid: 709 + - uid: 708 components: - pos: 10.5,-2.5 parent: 1 type: Transform - links: - - 716 + - 715 type: DeviceLinkSink - - uid: 710 + - uid: 709 components: - pos: 10.5,-3.5 parent: 1 type: Transform - links: - - 716 + - 715 type: DeviceLinkSink - - uid: 711 + - uid: 710 components: - pos: 10.5,-4.5 parent: 1 type: Transform - links: - - 716 + - 715 type: DeviceLinkSink - - uid: 712 + - uid: 711 components: - pos: 10.5,-5.5 parent: 1 type: Transform - links: - - 716 + - 715 type: DeviceLinkSink - proto: SignalButton entities: - - uid: 713 + - uid: 712 components: - pos: -1.5,-12.5 parent: 1 @@ -5537,56 +5503,56 @@ entities: 64: - Pressed: Toggle type: DeviceLinkSource - - uid: 714 + - uid: 713 components: - pos: 1.5,11.5 parent: 1 type: Transform - linkedPorts: + 698: + - Pressed: Toggle 699: - Pressed: Toggle 700: - Pressed: Toggle - 701: + 702: - Pressed: Toggle 703: - Pressed: Toggle - 704: - - Pressed: Toggle - 702: + 701: - Pressed: Toggle type: DeviceLinkSource - - uid: 715 + - uid: 714 components: - pos: -6.5,-5.5 parent: 1 type: Transform - linkedPorts: - 708: - - Pressed: Toggle 707: - Pressed: Toggle 706: - Pressed: Toggle 705: - Pressed: Toggle + 704: + - Pressed: Toggle type: DeviceLinkSource - - uid: 716 + - uid: 715 components: - pos: 6.5,-5.5 parent: 1 type: Transform - linkedPorts: - 712: - - Pressed: Toggle 711: - Pressed: Toggle 710: - Pressed: Toggle 709: - Pressed: Toggle + 708: + - Pressed: Toggle type: DeviceLinkSource - - uid: 717 + - uid: 716 components: - pos: -4.5,-10.5 parent: 1 @@ -5601,42 +5567,42 @@ entities: type: DeviceLinkSource - proto: SignBar entities: - - uid: 718 + - uid: 717 components: - pos: 1.5,1.5 parent: 1 type: Transform - proto: SignBridge entities: - - uid: 719 + - uid: 718 components: - pos: -2.5,8.5 parent: 1 type: Transform - proto: SignMedical entities: - - uid: 720 + - uid: 719 components: - pos: 4.5,-5.5 parent: 1 type: Transform - proto: Sink entities: - - uid: 721 + - uid: 720 components: - pos: -4.5,0.5 parent: 1 type: Transform - proto: SinkStemlessWater entities: - - uid: 722 + - uid: 721 components: - pos: 2.5,-10.5 parent: 1 type: Transform - proto: SinkWide entities: - - uid: 723 + - uid: 722 components: - rot: 1.5707963267948966 rad pos: 2.5,1.5 @@ -5644,144 +5610,144 @@ entities: type: Transform - proto: SMESBasic entities: - - uid: 724 + - uid: 723 components: - pos: 2.5,9.5 parent: 1 type: Transform - proto: Soap entities: - - uid: 725 + - uid: 724 components: - pos: 2.6583714,-10.571913 parent: 1 type: Transform - proto: soda_dispenser entities: - - uid: 726 + - uid: 725 components: - pos: 3.5,2.5 parent: 1 type: Transform - proto: SpaceCash entities: - - uid: 727 + - uid: 726 components: - pos: -2.6022344,2.537315 parent: 1 type: Transform - - uid: 728 + - uid: 727 components: - pos: -2.4616094,2.6545024 parent: 1 type: Transform - - uid: 729 + - uid: 728 components: - pos: -2.6256719,2.77169 parent: 1 type: Transform - - uid: 730 + - uid: 729 components: - pos: -2.6959844,2.7951274 parent: 1 type: Transform - - uid: 731 + - uid: 730 components: - pos: -2.3912969,2.7013774 parent: 1 type: Transform - - uid: 732 + - uid: 731 components: - pos: -2.4616094,2.67794 parent: 1 type: Transform - - uid: 733 + - uid: 732 components: - pos: -2.5553594,2.67794 parent: 1 type: Transform - - uid: 734 + - uid: 733 components: - pos: -2.5787969,2.818565 parent: 1 type: Transform - proto: SpawnPointBartender entities: - - uid: 735 + - uid: 734 components: - pos: 3.5,0.5 parent: 1 type: Transform - proto: SpawnPointLatejoin entities: - - uid: 736 + - uid: 735 components: - pos: -2.5,-11.5 parent: 1 type: Transform - - uid: 737 + - uid: 736 components: - pos: -1.5,-11.5 parent: 1 type: Transform - proto: SpawnPointMercenary entities: - - uid: 738 + - uid: 737 components: - pos: 4.5,-1.5 parent: 1 type: Transform - proto: SpawnPointParamedic entities: - - uid: 739 + - uid: 738 components: - pos: 3.5,-7.5 parent: 1 type: Transform - proto: SpeedLoaderMagnum entities: - - uid: 400 + - uid: 399 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 401 + - uid: 400 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - - uid: 402 + - uid: 401 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: StoolBar entities: - - uid: 740 + - uid: 739 components: - rot: 1.5707963267948966 rad pos: 0.5,-0.5 parent: 1 type: Transform - - uid: 741 + - uid: 740 components: - rot: 1.5707963267948966 rad pos: 0.5,-1.5 parent: 1 type: Transform - - uid: 742 + - uid: 741 components: - rot: 1.5707963267948966 rad pos: 0.5,0.5 @@ -5789,38 +5755,38 @@ entities: type: Transform - proto: Stunbaton entities: - - uid: 743 + - uid: 742 components: - pos: 3.272138,4.495796 parent: 1 type: Transform - proto: SubstationWallBasic entities: - - uid: 744 + - uid: 743 components: - pos: -1.5,8.5 parent: 1 type: Transform - - uid: 745 + - uid: 744 components: - pos: 1.5,-7.5 parent: 1 type: Transform - proto: SuitStorageEVA entities: - - uid: 746 + - uid: 745 components: - pos: -7.5,-5.5 parent: 1 type: Transform - - uid: 747 + - uid: 746 components: - pos: 7.5,-5.5 parent: 1 type: Transform - proto: SuitStorageEVAPrisoner entities: - - uid: 406 + - uid: 405 components: - pos: -5.5,-1.5 parent: 1 @@ -5848,192 +5814,192 @@ entities: showEnts: False occludes: True ents: - - 410 - - 408 - 409 - 407 + - 408 + - 406 type: ContainerContainer - proto: TableCarpet entities: - - uid: 748 + - uid: 747 components: - pos: -2.5,2.5 parent: 1 type: Transform - - uid: 749 + - uid: 748 components: - pos: -1.5,2.5 parent: 1 type: Transform - proto: TableCounterMetal entities: - - uid: 750 + - uid: 749 components: - - pos: 1.5,-1.5 + - pos: 1.5,-0.5 parent: 1 type: Transform - - uid: 751 + - uid: 750 components: - - pos: 1.5,-0.5 + - pos: 1.5,0.5 parent: 1 type: Transform - - uid: 752 + - uid: 751 components: - - pos: 1.5,0.5 + - pos: 1.5,-1.5 parent: 1 type: Transform - proto: TableGlass entities: - - uid: 753 + - uid: 752 components: - pos: 2.5,-6.5 parent: 1 type: Transform - proto: TableReinforced entities: - - uid: 754 + - uid: 753 components: - pos: 3.5,2.5 parent: 1 type: Transform - - uid: 755 + - uid: 754 components: - pos: 4.5,0.5 parent: 1 type: Transform - - uid: 756 + - uid: 755 components: - pos: 2.5,2.5 parent: 1 type: Transform - - uid: 757 + - uid: 756 components: - rot: 1.5707963267948966 rad pos: 1.5,11.5 parent: 1 type: Transform - - uid: 758 + - uid: 757 components: - rot: 1.5707963267948966 rad pos: 1.5,10.5 parent: 1 type: Transform - - uid: 759 + - uid: 758 components: - pos: -0.5,10.5 parent: 1 type: Transform - - uid: 760 + - uid: 759 components: - pos: -0.5,11.5 parent: 1 type: Transform - - uid: 761 + - uid: 760 components: - pos: 2.5,-8.5 parent: 1 type: Transform - proto: Thruster entities: - - uid: 762 + - uid: 761 components: - pos: 9.5,1.5 parent: 1 type: Transform - - uid: 763 + - uid: 762 components: - pos: -9.5,1.5 parent: 1 type: Transform - - uid: 764 + - uid: 763 components: - rot: 3.141592653589793 rad pos: 11.5,-9.5 parent: 1 type: Transform - - uid: 765 + - uid: 764 components: - rot: 3.141592653589793 rad pos: 10.5,-9.5 parent: 1 type: Transform - - uid: 766 + - uid: 765 components: - rot: 3.141592653589793 rad pos: 9.5,-9.5 parent: 1 type: Transform - - uid: 767 + - uid: 766 components: - rot: 3.141592653589793 rad pos: -11.5,-9.5 parent: 1 type: Transform - - uid: 768 + - uid: 767 components: - rot: 3.141592653589793 rad pos: -10.5,-9.5 parent: 1 type: Transform - - uid: 769 + - uid: 768 components: - rot: 3.141592653589793 rad pos: -9.5,-9.5 parent: 1 type: Transform - - uid: 770 + - uid: 769 components: - pos: -11.5,1.5 parent: 1 type: Transform - - uid: 771 + - uid: 770 components: - pos: 11.5,1.5 parent: 1 type: Transform - - uid: 772 + - uid: 771 components: - rot: 1.5707963267948966 rad pos: -9.5,-8.5 parent: 1 type: Transform - - uid: 773 + - uid: 772 components: - rot: -1.5707963267948966 rad pos: -11.5,-8.5 parent: 1 type: Transform - - uid: 774 + - uid: 773 components: - rot: -1.5707963267948966 rad pos: -11.5,0.5 parent: 1 type: Transform - - uid: 775 + - uid: 774 components: - rot: 1.5707963267948966 rad pos: -9.5,0.5 parent: 1 type: Transform - - uid: 776 + - uid: 775 components: - rot: -1.5707963267948966 rad pos: 9.5,-8.5 parent: 1 type: Transform - - uid: 777 + - uid: 776 components: - rot: 1.5707963267948966 rad pos: 11.5,-8.5 parent: 1 type: Transform - - uid: 778 + - uid: 777 components: - rot: -1.5707963267948966 rad pos: 9.5,0.5 parent: 1 type: Transform - - uid: 779 + - uid: 778 components: - rot: 1.5707963267948966 rad pos: 11.5,0.5 @@ -6041,7 +6007,7 @@ entities: type: Transform - proto: ToiletDirtyWater entities: - - uid: 780 + - uid: 779 components: - rot: -1.5707963267948966 rad pos: 2.5,-11.5 @@ -6049,19 +6015,19 @@ entities: type: Transform - proto: TrackingImplanter entities: - - uid: 781 + - uid: 780 components: - pos: 3.4641175,4.4740067 parent: 1 type: Transform - - uid: 782 + - uid: 781 components: - pos: 3.7141175,4.3958817 parent: 1 type: Transform - proto: VendingMachineBooze entities: - - uid: 783 + - uid: 782 components: - flags: SessionSpecific type: MetaData @@ -6070,14 +6036,14 @@ entities: type: Transform - proto: VendingMachineTankDispenserEVA entities: - - uid: 784 + - uid: 783 components: - flags: SessionSpecific type: MetaData - pos: 7.5,-2.5 parent: 1 type: Transform - - uid: 785 + - uid: 784 components: - flags: SessionSpecific type: MetaData @@ -6086,7 +6052,7 @@ entities: type: Transform - proto: VendingMachineWallMedical entities: - - uid: 786 + - uid: 785 components: - flags: SessionSpecific type: MetaData @@ -6095,801 +6061,768 @@ entities: type: Transform - proto: WallmountTelevision entities: - - uid: 787 + - uid: 786 components: - pos: -1.5,3.5 parent: 1 type: Transform - proto: WallPlastitanium + entities: + - uid: 787 + components: + - pos: 1.5,-7.5 + parent: 1 + type: Transform +- proto: WallReinforced entities: - uid: 788 components: - - rot: 3.141592653589793 rad - pos: 10.5,-6.5 + - pos: 1.5,3.5 parent: 1 type: Transform - uid: 789 components: - - rot: 3.141592653589793 rad - pos: -10.5,-6.5 + - pos: 8.5,-5.5 parent: 1 type: Transform - uid: 790 components: - - rot: 3.141592653589793 rad - pos: -10.5,-1.5 + - pos: 3.5,-9.5 parent: 1 type: Transform - uid: 791 components: - - rot: 3.141592653589793 rad - pos: 10.5,-1.5 + - rot: -1.5707963267948966 rad + pos: 2.5,-2.5 parent: 1 type: Transform - uid: 792 components: - - pos: -1.5,3.5 + - pos: 12.5,-7.5 parent: 1 type: Transform - uid: 793 components: - - rot: 3.141592653589793 rad - pos: -2.5,-5.5 + - pos: 3.5,9.5 parent: 1 type: Transform - uid: 794 components: - - pos: -10.5,1.5 + - pos: -0.5,3.5 parent: 1 type: Transform - uid: 795 components: - - pos: -3.5,9.5 + - rot: -1.5707963267948966 rad + pos: 3.5,-2.5 parent: 1 type: Transform - uid: 796 components: - - pos: -3.5,8.5 + - pos: -11.5,-6.5 parent: 1 type: Transform - uid: 797 components: - - rot: 1.5707963267948966 rad - pos: -3.5,3.5 + - pos: -10.5,-6.5 parent: 1 type: Transform - uid: 798 components: - - pos: -3.5,2.5 + - pos: 4.5,4.5 parent: 1 type: Transform - uid: 799 components: - - pos: -3.5,1.5 + - pos: 4.5,5.5 parent: 1 type: Transform - uid: 800 components: - - rot: -1.5707963267948966 rad - pos: -4.5,1.5 + - pos: 5.5,-0.5 parent: 1 type: Transform - uid: 801 components: - - rot: -1.5707963267948966 rad - pos: -2.5,8.5 + - pos: 4.5,1.5 parent: 1 type: Transform - uid: 802 components: - - pos: 3.5,9.5 + - pos: -12.5,-7.5 parent: 1 type: Transform - uid: 803 components: - - pos: 3.5,8.5 + - pos: -10.5,-1.5 parent: 1 type: Transform - uid: 804 components: - - rot: -1.5707963267948966 rad - pos: 3.5,3.5 + - pos: -8.5,0.5 parent: 1 type: Transform - uid: 805 components: - - pos: 1.5,1.5 + - pos: -4.5,5.5 parent: 1 type: Transform - uid: 806 components: - - pos: -5.5,-6.5 + - pos: -3.5,8.5 parent: 1 type: Transform - uid: 807 components: - - pos: 6.5,-1.5 + - pos: -3.5,-10.5 parent: 1 type: Transform - uid: 808 components: - - pos: 7.5,-1.5 + - pos: -3.5,-11.5 parent: 1 type: Transform - uid: 809 components: - - pos: -6.5,-1.5 + - rot: 1.5707963267948966 rad + pos: -5.5,-5.5 parent: 1 type: Transform - uid: 810 components: - - pos: -7.5,-1.5 + - pos: -5.5,-0.5 parent: 1 type: Transform - uid: 811 components: - rot: -1.5707963267948966 rad - pos: 4.5,4.5 + pos: 1.5,1.5 parent: 1 type: Transform - uid: 812 components: - - pos: -8.5,0.5 + - rot: 1.5707963267948966 rad + pos: -2.5,-5.5 parent: 1 type: Transform - uid: 813 components: - - pos: -8.5,-0.5 + - rot: 1.5707963267948966 rad + pos: -1.5,-5.5 parent: 1 type: Transform - uid: 814 components: - - pos: -8.5,-1.5 + - rot: -1.5707963267948966 rad + pos: -2.5,-1.5 parent: 1 type: Transform - uid: 815 components: - - pos: -8.5,-2.5 + - rot: -1.5707963267948966 rad + pos: -2.5,-2.5 parent: 1 type: Transform - uid: 816 components: - - pos: -8.5,-5.5 + - rot: -1.5707963267948966 rad + pos: -1.5,-2.5 parent: 1 type: Transform - uid: 817 components: - - rot: -1.5707963267948966 rad - pos: -6.5,-6.5 + - pos: -1.5,-12.5 parent: 1 type: Transform - uid: 818 components: - - rot: -1.5707963267948966 rad - pos: -2.5,-12.5 + - pos: -1.5,-13.5 parent: 1 type: Transform - uid: 819 components: - - pos: -12.5,0.5 + - pos: 5.5,-6.5 parent: 1 type: Transform - uid: 820 components: - - pos: -12.5,-0.5 + - rot: -1.5707963267948966 rad + pos: -3.5,1.5 parent: 1 type: Transform - uid: 821 components: - - pos: -12.5,-1.5 + - pos: -4.5,1.5 parent: 1 type: Transform - uid: 822 components: - - pos: -12.5,-6.5 + - pos: 1.5,8.5 parent: 1 type: Transform - uid: 823 components: - - pos: -12.5,-7.5 + - pos: 1.5,6.5 parent: 1 type: Transform - uid: 824 components: - - pos: -12.5,-8.5 + - pos: 1.5,4.5 parent: 1 type: Transform - uid: 825 components: - - pos: 8.5,-2.5 + - pos: 6.5,-6.5 parent: 1 type: Transform - uid: 826 components: - - pos: 8.5,-5.5 + - pos: 5.5,-7.5 parent: 1 type: Transform - uid: 827 components: - - pos: 6.5,-5.5 + - pos: 5.5,-5.5 parent: 1 type: Transform - uid: 828 components: - - pos: -8.5,-6.5 + - pos: 2.5,-9.5 parent: 1 type: Transform - uid: 829 components: - - pos: -8.5,-8.5 + - pos: 4.5,-5.5 parent: 1 type: Transform - uid: 830 components: - - pos: -8.5,-7.5 + - pos: 1.5,-5.5 parent: 1 type: Transform - uid: 831 components: - - pos: -7.5,-6.5 + - pos: 3.5,3.5 parent: 1 type: Transform - uid: 832 components: - - rot: 3.141592653589793 rad - pos: 5.5,-0.5 + - pos: 1.5,-12.5 parent: 1 type: Transform - uid: 833 components: - - pos: 3.5,-11.5 + - pos: 2.5,-12.5 parent: 1 type: Transform - uid: 834 components: - - rot: -1.5707963267948966 rad - pos: -1.5,-12.5 + - pos: 3.5,-10.5 parent: 1 type: Transform - uid: 835 components: - - rot: -1.5707963267948966 rad - pos: 1.5,-13.5 + - pos: 12.5,-6.5 parent: 1 type: Transform - uid: 836 components: - - pos: 3.5,-10.5 + - pos: 12.5,-0.5 parent: 1 type: Transform - uid: 837 components: - - pos: 3.5,-9.5 + - pos: 12.5,0.5 parent: 1 type: Transform - uid: 838 components: - - pos: 5.5,-7.5 + - pos: -8.5,-7.5 parent: 1 type: Transform - uid: 839 components: - - pos: 6.5,-6.5 + - pos: -1.5,8.5 parent: 1 type: Transform - uid: 840 components: - - pos: 7.5,-6.5 + - pos: 11.5,-6.5 parent: 1 type: Transform - uid: 841 components: - - pos: 8.5,-6.5 + - pos: 10.5,-1.5 parent: 1 type: Transform - uid: 842 components: - - pos: 8.5,-7.5 + - pos: -2.5,-12.5 parent: 1 type: Transform - uid: 843 components: - - pos: 8.5,-8.5 + - pos: -12.5,-6.5 parent: 1 type: Transform - uid: 844 components: - - rot: -1.5707963267948966 rad - pos: 2.5,-9.5 + - pos: -8.5,-1.5 parent: 1 type: Transform - uid: 845 components: - - pos: 12.5,-8.5 + - pos: -9.5,-1.5 parent: 1 type: Transform - uid: 846 components: - - pos: 12.5,-7.5 + - pos: -12.5,-1.5 parent: 1 type: Transform - uid: 847 components: - - pos: 12.5,-6.5 + - pos: -8.5,-0.5 parent: 1 type: Transform - uid: 848 components: - - pos: 12.5,-1.5 + - pos: -2.5,3.5 parent: 1 type: Transform - uid: 849 components: - - pos: 12.5,-0.5 + - pos: -2.5,8.5 parent: 1 type: Transform - uid: 850 components: - - pos: 12.5,0.5 + - pos: 8.5,-7.5 parent: 1 type: Transform - uid: 851 components: - - pos: -4.5,6.5 + - pos: 8.5,-0.5 parent: 1 type: Transform - uid: 852 components: - - rot: -1.5707963267948966 rad - pos: 1.5,-12.5 + - pos: 8.5,0.5 parent: 1 type: Transform - uid: 853 components: - - pos: 8.5,0.5 + - pos: 7.5,-1.5 parent: 1 type: Transform - uid: 854 components: - - pos: 8.5,-0.5 + - pos: 8.5,-1.5 parent: 1 type: Transform - uid: 855 components: - - pos: 8.5,-1.5 + - pos: 7.5,-6.5 parent: 1 type: Transform - uid: 856 components: - rot: -1.5707963267948966 rad - pos: -1.5,8.5 + pos: 0.5,-2.5 parent: 1 type: Transform - uid: 857 components: - rot: -1.5707963267948966 rad - pos: 2.5,8.5 + pos: 1.5,-2.5 parent: 1 type: Transform - uid: 858 components: - rot: -1.5707963267948966 rad - pos: 1.5,8.5 + pos: -3.5,0.5 parent: 1 type: Transform - uid: 859 components: - rot: -1.5707963267948966 rad - pos: 2.5,10.5 + pos: -3.5,2.5 parent: 1 type: Transform - uid: 860 components: - - pos: 0.5,8.5 + - pos: 1.5,-9.5 parent: 1 type: Transform - uid: 861 components: - - pos: 1.5,-5.5 + - pos: 3.5,-11.5 parent: 1 type: Transform - uid: 862 components: - - rot: -1.5707963267948966 rad - pos: 2.5,-12.5 + - pos: 12.5,-8.5 parent: 1 type: Transform - uid: 863 components: - - pos: 3.5,-2.5 + - pos: 12.5,-1.5 parent: 1 type: Transform - uid: 864 components: - - pos: -5.5,-5.5 + - pos: 8.5,-6.5 parent: 1 type: Transform - uid: 865 components: - - pos: -2.5,-2.5 + - pos: -10.5,1.5 parent: 1 type: Transform - uid: 866 components: - - pos: -2.5,-0.5 + - pos: -5.5,-2.5 parent: 1 type: Transform - uid: 867 components: - - pos: -2.5,-1.5 + - pos: -3.5,3.5 parent: 1 type: Transform - uid: 868 components: - - rot: 1.5707963267948966 rad - pos: -1.5,-2.5 + - pos: 8.5,-2.5 parent: 1 type: Transform - uid: 869 components: - - rot: 3.141592653589793 rad - pos: -1.5,-13.5 + - pos: 10.5,1.5 parent: 1 type: Transform - uid: 870 components: - - pos: 5.5,-5.5 + - pos: -8.5,-8.5 parent: 1 type: Transform - uid: 871 components: - - pos: -5.5,-2.5 + - pos: 2.5,3.5 parent: 1 type: Transform - uid: 872 components: - - rot: 1.5707963267948966 rad - pos: -11.5,-1.5 + - pos: -4.5,6.5 parent: 1 type: Transform - uid: 873 components: - - rot: 1.5707963267948966 rad - pos: -9.5,-1.5 + - pos: -4.5,4.5 parent: 1 type: Transform - uid: 874 components: - - rot: 3.141592653589793 rad - pos: -11.5,-6.5 + - pos: 3.5,7.5 parent: 1 type: Transform - uid: 875 components: - - rot: 1.5707963267948966 rad - pos: -9.5,-6.5 + - pos: 3.5,8.5 parent: 1 type: Transform - uid: 876 components: - - rot: 1.5707963267948966 rad - pos: 9.5,-6.5 + - pos: -3.5,9.5 parent: 1 type: Transform - uid: 877 components: - - rot: 1.5707963267948966 rad - pos: 11.5,-6.5 + - pos: -3.5,7.5 parent: 1 type: Transform - uid: 878 components: - - rot: 1.5707963267948966 rad - pos: 9.5,-1.5 + - pos: 4.5,6.5 parent: 1 type: Transform - uid: 879 components: - - rot: 1.5707963267948966 rad - pos: 11.5,-1.5 + - pos: 4.5,3.5 parent: 1 type: Transform - uid: 880 components: - - pos: 2.5,-2.5 + - pos: -6.5,-1.5 parent: 1 type: Transform - uid: 881 components: - - pos: 0.5,-2.5 + - pos: -7.5,-6.5 parent: 1 type: Transform - uid: 882 components: - - rot: -1.5707963267948966 rad - pos: -4.5,4.5 + - pos: -8.5,-5.5 parent: 1 type: Transform - uid: 883 components: - - pos: 4.5,-5.5 + - pos: -8.5,-2.5 parent: 1 type: Transform - uid: 884 components: - - pos: 2.5,-5.5 + - pos: -4.5,2.5 parent: 1 type: Transform - uid: 885 components: - - rot: -1.5707963267948966 rad - pos: 1.5,-2.5 + - pos: -1.5,3.5 parent: 1 type: Transform - uid: 886 components: - - pos: 5.5,-2.5 + - pos: -7.5,-1.5 parent: 1 type: Transform - uid: 887 components: - - rot: -1.5707963267948966 rad - pos: -4.5,5.5 + - pos: 9.5,-6.5 parent: 1 type: Transform - uid: 888 components: - - rot: -1.5707963267948966 rad - pos: 1.5,-9.5 + - pos: 1.5,7.5 parent: 1 type: Transform - uid: 889 components: - - rot: -1.5707963267948966 rad - pos: 2.5,3.5 + - pos: -2.5,10.5 parent: 1 type: Transform - uid: 890 components: - - rot: 1.5707963267948966 rad - pos: 4.5,3.5 + - pos: -12.5,0.5 parent: 1 type: Transform - uid: 891 components: - - rot: 1.5707963267948966 rad - pos: -2.5,3.5 + - pos: -9.5,-6.5 parent: 1 type: Transform - uid: 892 components: - - rot: 1.5707963267948966 rad - pos: -0.5,3.5 + - pos: -11.5,-1.5 parent: 1 type: Transform - uid: 893 components: - - rot: -1.5707963267948966 rad - pos: 1.5,3.5 + - pos: -12.5,-8.5 parent: 1 type: Transform - uid: 894 components: - - pos: 1.5,2.5 + - pos: -12.5,-0.5 parent: 1 type: Transform - uid: 895 components: - - pos: 1.5,-7.5 + - pos: -6.5,-6.5 parent: 1 type: Transform - uid: 896 components: - - pos: -3.5,-11.5 + - pos: 11.5,-1.5 parent: 1 type: Transform - uid: 897 components: - rot: 1.5707963267948966 rad - pos: -4.5,3.5 + pos: -6.5,-5.5 parent: 1 type: Transform - uid: 898 components: - - rot: -1.5707963267948966 rad - pos: -4.5,2.5 + - pos: 2.5,10.5 parent: 1 type: Transform - uid: 899 components: - - rot: -1.5707963267948966 rad - pos: 4.5,5.5 + - pos: 1.5,-13.5 parent: 1 type: Transform - uid: 900 components: - - pos: 1.5,6.5 + - pos: 4.5,-10.5 parent: 1 type: Transform - uid: 901 components: - - pos: 1.5,7.5 + - pos: -8.5,-6.5 parent: 1 type: Transform - uid: 902 components: - - pos: 1.5,4.5 + - pos: 2.5,8.5 parent: 1 type: Transform - uid: 903 components: - - rot: -1.5707963267948966 rad - pos: -6.5,-5.5 + - pos: 0.5,8.5 parent: 1 type: Transform - uid: 904 components: - - pos: 4.5,1.5 + - pos: 6.5,-5.5 parent: 1 type: Transform - uid: 905 components: - - pos: -1.5,-5.5 + - rot: -1.5707963267948966 rad + pos: -2.5,-0.5 parent: 1 type: Transform - uid: 906 components: - - rot: -1.5707963267948966 rad - pos: 4.5,6.5 + - pos: -4.5,3.5 parent: 1 type: Transform - uid: 907 components: - - pos: 10.5,1.5 + - rot: -1.5707963267948966 rad + pos: 1.5,2.5 parent: 1 type: Transform - uid: 908 components: - - pos: -3.5,-10.5 + - pos: 8.5,-8.5 parent: 1 type: Transform - uid: 909 components: - - rot: 1.5707963267948966 rad - pos: -4.5,-10.5 + - pos: 10.5,-6.5 parent: 1 type: Transform - uid: 910 components: - - rot: 1.5707963267948966 rad - pos: 4.5,-10.5 + - pos: 6.5,-1.5 parent: 1 type: Transform - uid: 911 components: - - pos: -5.5,-10.5 - parent: 1 - type: Transform - - uid: 941 - components: - - pos: -2.5,10.5 + - pos: 5.5,-2.5 parent: 1 type: Transform -- proto: WallPlastitaniumDiagonal - entities: - uid: 912 components: - - pos: -2.5,12.5 + - pos: 9.5,-1.5 parent: 1 type: Transform - uid: 913 components: - - rot: 3.141592653589793 rad - pos: -3.5,7.5 + - pos: 2.5,-5.5 parent: 1 type: Transform - uid: 914 components: - - rot: -1.5707963267948966 rad - pos: 3.5,10.5 + - pos: -4.5,-10.5 parent: 1 type: Transform - uid: 915 components: - - pos: -3.5,10.5 + - pos: -5.5,-6.5 parent: 1 type: Transform +- proto: WallSolidDiagonal + entities: - uid: 916 components: - - rot: -1.5707963267948966 rad - pos: 2.5,12.5 + - rot: 3.141592653589793 rad + pos: 6.5,-7.5 parent: 1 type: Transform - uid: 917 components: - - rot: 1.5707963267948966 rad - pos: 3.5,7.5 + - rot: -1.5707963267948966 rad + pos: 2.5,12.5 parent: 1 type: Transform - uid: 918 components: - - rot: -1.5707963267948966 rad - pos: 6.5,-0.5 + - rot: 1.5707963267948966 rad + pos: -5.5,-10.5 parent: 1 type: Transform - uid: 919 components: - - pos: -6.5,-0.5 + - rot: 3.141592653589793 rad + pos: 6.5,-2.5 parent: 1 type: Transform - uid: 920 components: - - rot: 3.141592653589793 rad - pos: -5.5,-0.5 + - rot: -1.5707963267948966 rad + pos: 3.5,10.5 parent: 1 type: Transform - uid: 921 components: - - pos: -5.5,1.5 + - pos: 8.5,1.5 parent: 1 type: Transform - uid: 922 components: - rot: 1.5707963267948966 rad - pos: 8.5,-9.5 + pos: -2.5,-13.5 parent: 1 type: Transform - uid: 923 components: - - rot: 3.141592653589793 rad - pos: 12.5,-9.5 + - rot: -1.5707963267948966 rad + pos: -2.5,0.5 parent: 1 type: Transform - uid: 924 components: - - rot: 3.141592653589793 rad - pos: -7.5,-7.5 + - rot: -1.5707963267948966 rad + pos: 6.5,-0.5 parent: 1 type: Transform - uid: 925 components: - - rot: 3.141592653589793 rad - pos: 6.5,-7.5 + - pos: -5.5,1.5 parent: 1 type: Transform - uid: 926 components: - - pos: -4.5,7.5 + - pos: -3.5,10.5 parent: 1 type: Transform - uid: 927 components: - - rot: 3.141592653589793 rad - pos: 3.5,-12.5 + - pos: -2.5,12.5 parent: 1 type: Transform - uid: 928 components: - - rot: 3.141592653589793 rad - pos: 2.5,-13.5 + - rot: -1.5707963267948966 rad + pos: 5.5,1.5 parent: 1 type: Transform - uid: 929 components: - - rot: 3.141592653589793 rad - pos: 1.5,-14.5 + - rot: 1.5707963267948966 rad + pos: -12.5,-9.5 parent: 1 type: Transform - uid: 930 components: - - rot: 1.5707963267948966 rad - pos: -1.5,-14.5 + - pos: -6.5,-0.5 parent: 1 type: Transform - uid: 931 components: - - rot: 1.5707963267948966 rad - pos: -2.5,-13.5 + - rot: 3.141592653589793 rad + pos: 12.5,-9.5 parent: 1 type: Transform - uid: 932 @@ -6900,45 +6833,52 @@ entities: type: Transform - uid: 933 components: - - rot: 3.141592653589793 rad - pos: 5.5,-10.5 + - rot: 1.5707963267948966 rad + pos: -1.5,-14.5 parent: 1 type: Transform - uid: 934 components: - - pos: -12.5,1.5 + - rot: 1.5707963267948966 rad + pos: 8.5,-9.5 parent: 1 type: Transform - uid: 935 components: - - rot: -1.5707963267948966 rad - pos: 5.5,1.5 + - rot: 3.141592653589793 rad + pos: 2.5,-13.5 parent: 1 type: Transform - uid: 936 components: - - rot: -1.5707963267948966 rad - pos: -8.5,1.5 + - rot: 3.141592653589793 rad + pos: 3.5,-12.5 parent: 1 type: Transform - uid: 937 components: - - rot: -1.5707963267948966 rad - pos: 12.5,1.5 + - rot: 3.141592653589793 rad + pos: 5.5,-10.5 parent: 1 type: Transform - uid: 938 components: - - pos: 8.5,1.5 + - rot: -1.5707963267948966 rad + pos: 12.5,1.5 parent: 1 type: Transform - uid: 939 components: - - rot: 1.5707963267948966 rad - pos: -12.5,-9.5 + - pos: -12.5,1.5 parent: 1 type: Transform - uid: 940 + components: + - rot: -1.5707963267948966 rad + pos: -8.5,1.5 + parent: 1 + type: Transform + - uid: 941 components: - rot: 3.141592653589793 rad pos: -8.5,-9.5 @@ -6946,60 +6886,36 @@ entities: type: Transform - uid: 942 components: - - rot: 1.5707963267948966 rad - pos: -6.5,-2.5 + - rot: 3.141592653589793 rad + pos: 1.5,-14.5 parent: 1 type: Transform - uid: 943 components: - - rot: -1.5707963267948966 rad - pos: -2.5,0.5 + - pos: -4.5,7.5 parent: 1 type: Transform - uid: 944 - components: - - rot: 1.5707963267948966 rad - pos: -3.5,0.5 - parent: 1 - type: Transform - - uid: 945 - components: - - pos: 7.5,-0.5 - parent: 1 - type: Transform - - uid: 946 components: - rot: -1.5707963267948966 rad - pos: -7.5,-0.5 + pos: 4.5,7.5 parent: 1 type: Transform - - uid: 947 + - uid: 945 components: - rot: 1.5707963267948966 rad - pos: 7.5,-7.5 - parent: 1 - type: Transform - - uid: 948 - components: - - rot: 3.141592653589793 rad - pos: 6.5,-2.5 - parent: 1 - type: Transform - - uid: 949 - components: - - rot: -1.5707963267948966 rad - pos: 4.5,7.5 + pos: -6.5,-2.5 parent: 1 type: Transform - proto: WallWeaponCapacitorRecharger entities: - - uid: 950 + - uid: 946 components: - rot: -1.5707963267948966 rad pos: 2.5,10.5 parent: 1 type: Transform - - uid: 951 + - uid: 947 components: - rot: 3.141592653589793 rad pos: -1.5,-2.5 @@ -7007,7 +6923,7 @@ entities: type: Transform - proto: WarpPoint entities: - - uid: 952 + - uid: 948 components: - pos: 0.5,1.5 parent: 1 @@ -7016,18 +6932,18 @@ entities: type: WarpPoint - proto: WeaponRevolverMateba entities: - - uid: 403 + - uid: 402 components: - flags: InContainer type: MetaData - - parent: 382 + - parent: 381 type: Transform - canCollide: False type: Physics - type: InsideEntityStorage - proto: WeaponShotgunSawnEmpty entities: - - uid: 71 + - uid: 70 components: - flags: InContainer type: MetaData @@ -7038,7 +6954,7 @@ entities: - type: InsideEntityStorage - proto: Windoor entities: - - uid: 953 + - uid: 949 components: - rot: 1.5707963267948966 rad pos: 1.5,-10.5 @@ -7046,7 +6962,7 @@ entities: type: Transform - proto: WindowDirectional entities: - - uid: 954 + - uid: 950 components: - rot: 1.5707963267948966 rad pos: 1.5,-11.5 From 91daa5eb82f0491dccf1b326b5de80d7eeba814a Mon Sep 17 00:00:00 2001 From: Cheackraze <71046427+Cheackraze@users.noreply.github.com> Date: Sat, 29 Jul 2023 19:16:37 -0400 Subject: [PATCH 24/24] buff em --- .../Entities/Objects/Weapons/Guns/Battery/battery_guns.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 7f64e8c49e6..edf8548f0e8 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -22,11 +22,11 @@ soundGunshot: path: /Audio/Weapons/Guns/Gunshots/laser3.ogg - type: Battery - maxCharge: 1000 - startingCharge: 1000 + maxCharge: 2000 + startingCharge: 2000 - type: ProjectileBatteryAmmoProvider proto: ProjectileEmp - fireCost: 1000 + fireCost: 500 - type: MagazineVisuals magState: mag steps: 5