# Standing portals
- type: entity
  abstract: true
  id: BasePortal
  name: bluespace portal
  description: Transports you to a linked destination!
  components:
  - type: Transform
    anchored: True
  - type: InteractionOutline
  - type: Clickable
  - type: Physics
    bodyType: Static
  - type: Sprite
    sprite: /Textures/Effects/portal.rsi
  - type: Fixtures
    fixtures:
      portalFixture:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.25,-0.48,0.25,0.48"
        mask:
        - FullTileMask
        - GhostImpassable
        layer:
        - WallLayer
        hard: false
  - type: Portal
  - type: PointLight
    radius: 3
    energy: 1
    netsync: false

- type: entity
  parent: BasePortal
  id: PortalRed
  description: This one looks more like a redspace portal.
  components:
  - type: Sprite
    layers:
    - state: portal-red
  - type: PointLight
    color: OrangeRed

- type: entity
  parent: BasePortal
  id: PortalBlue
  components:
  - type: Sprite
    layers:
    - state: portal-blue
  - type: PointLight
    color: SkyBlue

- type: entity
  parent: BasePortal
  id: PortalArtifact
  components:
  - type: Sprite
    layers:
    - state: portal-artifact
  - type: PointLight
    color: "#ed85c2"
  - type: TimedDespawn
    lifetime: 1
  - type: Portal
    canTeleportToOtherMaps: true

- type: entity
  parent: [ BasePortal, BaseShadow ]
  id: ShadowPortal
  name: shadow rift
  description: Looks unstable.
  components:
  - type: Portal
    arrivalSound: /Audio/Items/hiss.ogg
    departureSound: /Audio/Items/hiss.ogg
  - type: Sprite
    state: portal-artifact
    color: "#793a80dd"
  - type: PointLight
    color: "#793a80dd"
  - type: AmbientSound
    range: 6
    volume: -3
    sound:
      path: /Audio/Ambience/anomaly_scary.ogg

# Large, circular gateway portals
- type: entity
  abstract: true
  parent: BasePortal
  id: BasePortalGateway
  components:
  - type: Sprite
    noRot: true
    sprite: Structures/Machines/gateway.rsi
  - type: Fixtures
    fixtures:
      portalFixture:
        shape:
          !type:PhysShapeCircle
          radius: 0.6
          position: 0, 0.26
        mask:
        - FullTileMask
        - GhostImpassable
        layer:
        - WallLayer
        hard: false

- type: entity
  parent: BasePortalGateway
  id: PortalGatewayBlue
  components:
  - type: Sprite
    color: SkyBlue
    layers:
    - state: portal
  - type: PointLight
    color: SkyBlue

- type: entity
  parent: BasePortalGateway
  id: PortalGatewayOrange
  components:
  - type: Sprite
    color: OrangeRed
    layers:
    - state: portal
  - type: PointLight
    color: OrangeRed
