Skip to content

Commit

Permalink
Windows and glass airlocks in expeditions (and only there) block lase…
Browse files Browse the repository at this point in the history
…rs (new-frontiers-14#1849)

* Windows and glass airlocks block lasers

* grilles

* descr

* cleanup

* comments

* dungeon templates yml swap

* dungeon_configs.yml comments

---------

Co-authored-by: Whatstone <[email protected]>
  • Loading branch information
ErhardSteinhauer and whatston3 committed Aug 12, 2024
1 parent e6cb084 commit 279d066
Show file tree
Hide file tree
Showing 14 changed files with 267 additions and 37 deletions.
10 changes: 5 additions & 5 deletions Resources/Maps/_NF/Dungeon/cave_factory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3143,7 +3143,7 @@ entities:
- type: Transform
pos: 19.5,43.5
parent: 1
- proto: AirlockEngineeringGlassLocked
- proto: AirlockEngineeringGlassLockedDungeon
entities:
- uid: 1949
components:
Expand Down Expand Up @@ -3182,7 +3182,7 @@ entities:
- type: Transform
pos: 27.5,46.5
parent: 1
- proto: AirlockMaintGlassLocked
- proto: AirlockMaintGlassLockedDungeon
entities:
- uid: 754
components:
Expand Down Expand Up @@ -11043,7 +11043,7 @@ entities:
- type: Transform
pos: 20.5,47.5
parent: 1
- proto: ReinforcedPlasmaWindow
- proto: ReinforcedPlasmaWindowDungeon
entities:
- uid: 1378
components:
Expand All @@ -11069,7 +11069,7 @@ entities:
rot: 1.5707963267948966 rad
pos: 32.5,21.5
parent: 1
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 409
components:
Expand Down Expand Up @@ -14380,7 +14380,7 @@ entities:
rot: 1.5707963267948966 rad
pos: 20.5,45.5
parent: 1
- proto: Window
- proto: WindowDungeon
entities:
- uid: 253
components:
Expand Down
4 changes: 2 additions & 2 deletions Resources/Maps/_NF/Dungeon/experiment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2255,7 +2255,7 @@ entities:
- type: Transform
pos: 3.5,18.5
parent: 1653
- proto: AirlockScienceGlassLocked
- proto: AirlockScienceGlassLockedDungeon
entities:
- uid: 741
components:
Expand Down Expand Up @@ -8077,7 +8077,7 @@ entities:
rot: 1.5707963267948966 rad
pos: 6.5,24.5
parent: 1653
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 739
components:
Expand Down
4 changes: 2 additions & 2 deletions Resources/Maps/_NF/Dungeon/haunted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -362,7 +362,7 @@ entities:
- type: Transform
pos: 11.5,43.5
parent: 1653
- proto: AirlockMiningGlassLocked
- proto: AirlockMiningGlassLockedDungeon
entities:
- uid: 492
components:
Expand Down Expand Up @@ -1592,7 +1592,7 @@ entities:
- type: Physics
canCollide: False
- type: InsideEntityStorage
- proto: MiningWindow
- proto: MiningWindowDungeon
entities:
- uid: 155
components:
Expand Down
6 changes: 3 additions & 3 deletions Resources/Maps/_NF/Dungeon/lava_brig.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2688,7 +2688,7 @@ entities:
- type: LoadedMap
- type: SpreaderGrid
- type: GridPathfinding
- proto: AirlockBrigGlassLocked
- proto: AirlockBrigGlassLockedDungeon
entities:
- uid: 1245
components:
Expand All @@ -2712,7 +2712,7 @@ entities:
- type: Transform
pos: 19.5,43.5
parent: 588
- proto: AirlockSecurityGlassLocked
- proto: AirlockSecurityGlassLockedDungeon
entities:
- uid: 1579
components:
Expand Down Expand Up @@ -10052,7 +10052,7 @@ entities:
- type: Transform
pos: 8.5,24.5
parent: 588
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 214
components:
Expand Down
4 changes: 2 additions & 2 deletions Resources/Maps/_NF/Dungeon/lava_mercenary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2757,7 +2757,7 @@ entities:
- type: Transform
pos: 19.5,43.5
parent: 588
- proto: AirlockMercenaryGlassLocked
- proto: AirlockMercenaryGlassLockedDungeon
entities:
- uid: 254
components:
Expand Down Expand Up @@ -10049,7 +10049,7 @@ entities:
- type: Transform
pos: 8.5,24.5
parent: 588
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 214
components:
Expand Down
2 changes: 1 addition & 1 deletion Resources/Maps/_NF/Dungeon/mineshaft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3131,7 +3131,7 @@ entities:
- type: Transform
pos: 40.5,7.5
parent: 2
- proto: MiningWindow
- proto: MiningWindowDungeon
entities:
- uid: 102
components:
Expand Down
4 changes: 2 additions & 2 deletions Resources/Maps/_NF/Dungeon/salvage_outpost.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1965,7 +1965,7 @@ entities:
- type: Transform
pos: 44.5,39.5
parent: 1653
- proto: AirlockMiningGlass
- proto: AirlockMiningGlassDungeon
entities:
- uid: 22
components:
Expand Down Expand Up @@ -8770,7 +8770,7 @@ entities:
- type: Transform
pos: 9.5,40.5
parent: 1653
- proto: MiningWindow
- proto: MiningWindowDungeon
entities:
- uid: 146
components:
Expand Down
6 changes: 3 additions & 3 deletions Resources/Maps/_NF/Dungeon/snowy_labs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2907,7 +2907,7 @@ entities:
- type: Transform
pos: 3.5,18.5
parent: 1653
- proto: AirlockHydroGlassLocked
- proto: AirlockHydroGlassLockedDungeon
entities:
- uid: 10
components:
Expand Down Expand Up @@ -11088,7 +11088,7 @@ entities:
- type: Transform
pos: 17.5,47.5
parent: 1653
- proto: ReinforcedUraniumWindow
- proto: ReinforcedUraniumWindowDungeon
entities:
- uid: 289
components:
Expand Down Expand Up @@ -11130,7 +11130,7 @@ entities:
- type: Transform
pos: 3.5,13.5
parent: 1653
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 104
components:
Expand Down
8 changes: 4 additions & 4 deletions Resources/Maps/_NF/Dungeon/virology_lab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2637,7 +2637,7 @@ entities:
- type: Transform
pos: 3.5,18.5
parent: 1653
- proto: AirlockVirologyGlass
- proto: AirlockVirologyGlassDungeon
entities:
- uid: 1472
components:
Expand Down Expand Up @@ -2669,7 +2669,7 @@ entities:
- type: Transform
pos: 3.5,3.5
parent: 1653
- proto: AirlockVirologyGlassLocked
- proto: AirlockVirologyGlassLockedDungeon
entities:
- uid: 115
components:
Expand Down Expand Up @@ -9876,14 +9876,14 @@ entities:
- type: Transform
pos: 16.5,22.5
parent: 1653
- proto: ReinforcedPlasmaWindow
- proto: ReinforcedPlasmaWindowDungeon
entities:
- uid: 533
components:
- type: Transform
pos: 29.5,38.5
parent: 1653
- proto: ReinforcedWindow
- proto: ReinforcedWindowDungeon
entities:
- uid: 395
components:
Expand Down
10 changes: 5 additions & 5 deletions Resources/Prototypes/Procedural/dungeon_configs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,20 +194,20 @@
id: BaseAirlock
entries:
- id: CableApcExtension
- id: AirlockGlass
- id: AirlockGlassDungeon # Frontier: AirlockGlass<AirlockGlassDungeon

- type: entitySpawnEntry
id: BaseWindow
entries:
- id: Grille
- id: Window
- id: GrilleDungeon # Frontier: Grille<GrilleDungeon
- id: WindowDungeon # Frontier: Window<WindowDungeon

# Lava brig
- type: entitySpawnEntry
id: LavaBrigEntrance
entries:
- id: CableApcExtension
- id: AirlockSecurityGlass # Frontier AirlockSecurityGlassLocked<AirlockSecurityGlass
- id: AirlockSecurityGlassDungeon # Frontier: AirlockSecurityGlassLocked<AirlockSecurityGlassDungeon

# Mineshaft
- type: entitySpawnEntry
Expand Down Expand Up @@ -265,7 +265,7 @@
id: SnowyLabsEntrance
entries:
- id: CableApcExtension
- id: AirlockFreezer # Frontier - AirlockFreezerHydroponicsLocked<AirlockFreezer
- id: AirlockFreezer # Frontier: AirlockFreezerHydroponicsLocked<AirlockFreezer

- type: entitySpawnEntry
id: SnowyLabsWalls
Expand Down
133 changes: 133 additions & 0 deletions Resources/Prototypes/_NF/Entities/Structures/Dungeon/airlocks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Special glass airlocks for dungeons that block lasers
# Base
- type: entity
id: AirlockGlassMurkyDungeon
abstract: true
suffix: DO NOT MAP, Dungeon only
description: An airlock with murky glass windows, it's hard to see what's on the other side.
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
density: 100
mask:
- FullTileMask
layer:
- AirlockLayer # Blocks lasers, but not LoS

# Basic airlock
- type: entity
id: AirlockGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockGlass
noSpawn: true

# Maint airlock
- type: entity
id: AirlockMaintGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockMaintGlassLocked
noSpawn: true

# Engineering airlocks
- type: entity
id: AirlockEngineeringGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockEngineeringGlass
noSpawn: true

- type: entity
id: AirlockEngineeringGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockEngineeringGlassLocked
noSpawn: true

# Security airlocks
- type: entity
id: AirlockSecurityGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockSecurityGlass
noSpawn: true

- type: entity
id: AirlockSecurityGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockSecurityGlassLocked
noSpawn: true

- type: entity
id: AirlockBrigGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockBrigGlassLocked
noSpawn: true

# Mining airlocks
- type: entity
id: AirlockMiningGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockMiningGlass
noSpawn: true

- type: entity
id: AirlockMiningGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockMiningGlassLocked
noSpawn: true

# Virology airlocks
- type: entity
id: AirlockVirologyGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockVirologyGlass
noSpawn: true

- type: entity
id: AirlockVirologyGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockVirologyGlassLocked
noSpawn: true

# Mercenary airlocks
- type: entity
id: AirlockMercenaryGlassDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockMercenaryGlass
noSpawn: true

- type: entity
id: AirlockMercenaryGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockMercenaryGlassLocked
noSpawn: true

# Science airlock
- type: entity
id: AirlockScienceGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockScienceGlassLocked
noSpawn: true

# Hydroponics ailock
- type: entity
id: AirlockHydroGlassLockedDungeon
parent:
- AirlockGlassMurkyDungeon
- AirlockHydroGlassLocked
noSpawn: true
15 changes: 15 additions & 0 deletions Resources/Prototypes/_NF/Entities/Structures/Dungeon/grille.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Special grilles for dungeons that block lasers
- type: entity
id: GrilleDungeon
parent: Grille
noSpawn: true
suffix: DO NOT MAP, Dungeon only
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5"
layer:
- WallLayer # Blocks lasers, but not LoS
Loading

0 comments on commit 279d066

Please sign in to comment.