# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2023 Lei Yunxing <lyx2020@sjtu.edu.cn>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Vordenburg <114301317+Vordenburg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk228 <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <ilyukarno@gmail.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  id: HolosignWetFloor
  name: wet floor sign
  description: The words flicker as if they mean nothing.
  placement:
    mode: SnapgridCenter
  components:
  - type: Transform
    anchored: true
  - type: Physics
    bodyType: Static
    canCollide: false
  - type: Sprite
    sprite: Structures/Holo/wetfloor.rsi
    state: icon
  - type: TimedDespawn
    lifetime: 90
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 30
        behaviors:
          - !type:DoActsBehavior
            acts: [ "Destruction" ]
  - type: Tag # Goobstation
    tags:
      - Holosign

- type: entity
  id: HoloFan
  parent: BaseHolosign # DeltaV - don't include TimedDespawn
  name: holofan
  description: A barrier of hard light that blocks air, but nothing else.
  components:
  - type: Sprite
    sprite: Structures/Holo/holofan.rsi
    state: icon
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
            bounds: "-0.5,-0.5,0.5,0.5"
  #- type: TimedDespawn # DeltaV - no despawning for holofans
  #  lifetime: 180
  - type: Transform # DeltaV
    noRot: true
  - type: Airtight
    noAirWhenFullyAirBlocked: false
  - type: Holofan # DeltaV - for whitelisting

- type: entity
  id: HolosignSecurity
  parent: HolosignWetFloor
  name: holographic barrier
  description: A barrier of hard light that blocks movement, but pretty weak.
  components:
    - type: Physics
      bodyType: Static
      canCollide: true
    - type: Sprite
      sprite: Structures/Holo/security.rsi
      state: icon
    - type: Fixtures
      fixtures:
        fix1:
          shape:
            !type:PhysShapeAabb
            bounds: "-0.3,-0.3,0.3,0.3"
          mask:
            - TableMask
          layer:
            - TableLayer
    - type: TimedDespawn
      lifetime: 180
    - type: PointLight
      enabled: true
      radius: 3
      color: red
    - type: Climbable
    - type: Clickable

- type: entity
  id: HolosignForcefield
  parent: HolosignWetFloor
  name: holographic force field
  description: A powerful temporal containment field that doesn't let anything through, not even a tesla or singularity.
  components:
  - type: Physics
    bodyType: Static
    canCollide: true
  - type: Sprite
    sprite: Structures/Holo/field.rsi
    state: icon
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - GlassLayer
  - type: TimedDespawn
    lifetime: 180
  - type: PointLight
    enabled: true
    radius: 3
    color: blue
  - type: Clickable
  - type: ContainmentField
    throwForce: 0
  - type: Destructible
    thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 30 # Goob edit
        behaviors:
          - !type:DoActsBehavior
            acts: [ "Destruction" ]
  - type: Penetratable # Goobstation - Better snipers
    penetrateDamage: 10
