diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml new file mode 100644 index 0000000000..42f6a79afd --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml @@ -0,0 +1,89 @@ +- type: entity + id: HighSecDoor + parent: BaseStructure + name: high security door + description: Keeps the bad out and keeps the good in. + components: + - type: InteractionOutline + - type: Sprite + netsync: false + sprite: Structures/Doors/Airlocks/highsec/highsec.rsi + layers: + - state: closed + map: ["enum.DoorVisualLayers.Base"] + - state: closed_unlit + shader: unshaded + map: ["enum.DoorVisualLayers.BaseUnlit"] + - state: welded + map: ["enum.WeldableLayers.BaseWelded"] + - state: bolted_unlit + shader: unshaded + map: ["enum.DoorVisualLayers.BaseBolted"] + - state: emergency_unlit + map: ["enum.DoorVisualLayers.BaseEmergencyAccess"] + shader: unshaded + - state: panel_open + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Physics + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close + mass: 100 + mask: + - FullTileMask + layer: + - WallLayer + - type: Door + board: DoorElectronics + crushDamage: + types: + Blunt: 50 + openSound: + path: /Audio/Machines/airlock_open.ogg + closeSound: + path: /Audio/Machines/airlock_close.ogg + denySound: + path: /Audio/Machines/airlock_deny.ogg + - type: Weldable + fuel: 10 + time: 10 + - type: Airlock + - type: Appearance + visuals: + - type: AirlockVisualizer + - type: WiresVisualizer + - type: ApcPowerReceiver + powerLoad: 20 + - type: ExtensionCableReceiver + - type: Electrified + enabled: false + usesApcPower: true + - type: Wires + BoardName: "HighSec Control" + LayoutId: HighSec + alwaysRandomize: true + - type: UserInterface + interfaces: + - key: enum.WiresUiKey.Key + type: WiresBoundUserInterface + - type: Airtight + fixVacuum: true + - type: Occluder + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1500 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - type: IconSmooth + key: walls + mode: NoSprite + placement: + mode: SnapgridCenter diff --git a/Resources/Prototypes/Wires/layouts.yml b/Resources/Prototypes/Wires/layouts.yml index 5ed7dc1a39..14a2da85ab 100644 --- a/Resources/Prototypes/Wires/layouts.yml +++ b/Resources/Prototypes/Wires/layouts.yml @@ -21,6 +21,17 @@ parent: Airlock id: AirlockArmory +- type: wireLayout + id: HighSec + wires: + - !type:PowerWireAction + pulseTimeout: 10 + - !type:DoorBoltWireAction + - !type:DoorBoltLightWireAction + - !type:DoorTimingWireAction + - !type:DoorSafetyWireAction + dummyWires: 5 + - type: wireLayout id: Vending wires: diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/assembly.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/assembly.png new file mode 100644 index 0000000000..8f42abb532 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/assembly.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/bolted_unlit.png new file mode 100644 index 0000000000..847bfd4024 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/bolted_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed.png new file mode 100644 index 0000000000..ef026cecb5 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed_unlit.png new file mode 100644 index 0000000000..585557b6b6 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closed_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing.png new file mode 100644 index 0000000000..4487612111 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing_unlit.png new file mode 100644 index 0000000000..e1baf64ff7 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/closing_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/deny_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/deny_unlit.png new file mode 100644 index 0000000000..21284ae611 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/deny_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/emergency_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/emergency_unlit.png new file mode 100644 index 0000000000..539c5523d7 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/emergency_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/meta.json b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/meta.json new file mode 100644 index 0000000000..80d3cabc01 --- /dev/null +++ b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/meta.json @@ -0,0 +1,190 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tg station at commit https://github.com/tgstation/tgstation/commit/6f450d93a6bfcc94e9c43ef7938e85bda49f7b6f", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "assembly" + }, + { + "name": "bolted_unlit" + }, + { + "name": "closed" + }, + { + "name": "closed_unlit" + }, + { + "name": "closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "closing_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "deny_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "open" + }, + { + "name": "opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "opening_unlit", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_closing", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "panel_open" + }, + { + "name": "panel_opening", + "delays": [ + [ + 0.1, + 0.1, + 0.07, + 0.07, + 0.07, + 0.2 + ] + ] + }, + { + "name": "sparks", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_damaged", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_open", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded" + }, + { + "name": "emergency_unlit", + "delays": [ + [ + 0.4, + 0.4 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/open.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/open.png new file mode 100644 index 0000000000..f691a36f78 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/open.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening.png new file mode 100644 index 0000000000..1e69cc0a90 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening_unlit.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening_unlit.png new file mode 100644 index 0000000000..eef8d9c12e Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/opening_unlit.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_closing.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_closing.png new file mode 100644 index 0000000000..db7be0bc4a Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_closing.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_open.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_open.png new file mode 100644 index 0000000000..24eb2aedc2 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_open.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_opening.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_opening.png new file mode 100644 index 0000000000..fc90acd637 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/panel_opening.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks.png new file mode 100644 index 0000000000..465d1a3214 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_broken.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_broken.png new file mode 100644 index 0000000000..e1ff1cbde2 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_broken.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_damaged.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_damaged.png new file mode 100644 index 0000000000..c45136360e Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_damaged.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_open.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_open.png new file mode 100644 index 0000000000..fc1ad6e5e5 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/sparks_open.png differ diff --git a/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/welded.png b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/welded.png new file mode 100644 index 0000000000..b220fab809 Binary files /dev/null and b/Resources/Textures/Structures/Doors/Airlocks/highsec/highsec.rsi/welded.png differ