Skip to content

Commit

Permalink
Added plastitanium walls and windows (#31178)
Browse files Browse the repository at this point in the history
* added plastitanium walls and windows

* Changed crack sprite on diagonal window from square to diagonal
  • Loading branch information
Unisol authored Aug 29, 2024
1 parent a268ede commit 6a52de8
Show file tree
Hide file tree
Showing 2 changed files with 196 additions and 22 deletions.
70 changes: 70 additions & 0 deletions Resources/Prototypes/Entities/Structures/Walls/walls.yml
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,76 @@
- type: Icon
sprite: Structures/Walls/plastitanium_diagonal.rsi
state: state0
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 2000
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- !type:PlaySoundBehavior
sound:
collection: MetalSlam
- trigger:
!type:DamageTrigger
damage: 1000
behaviors:
- !type:ChangeConstructionNodeBehavior
node: girder
- !type:PlaySoundBehavior
sound:
collection: MetalSlam
- !type:DoActsBehavior
acts: ["Destruction"]

- type: entity
id: WallPlastitaniumDiagonalIndestructible
name: plastitanium wall
suffix: diagonal, indestructible
description: Keeps the air in and the greytide out.
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: Transform
anchored: true
- type: Clickable
- type: Tag
tags:
- Wall
- type: Sprite
drawdepth: Walls
sprite: Structures/Walls/plastitanium_diagonal.rsi
state: state0
- type: IconSmooth
mode: Diagonal
key: walls
base: state
- type: Icon
sprite: Structures/Walls/plastitanium_diagonal.rsi
state: state0
- type: Physics
bodyType: Static
- type: Airtight
noAirWhenFullyAirBlocked: false
airBlockedDirection:
- South
- East
- type: Fixtures
fixtures:
fix1:
shape:
!type:PolygonShape
vertices:
- "-0.5,-0.5"
- "0.5,0.5"
- "0.5,-0.5"
mask:
- FullTileMask
layer:
- WallLayer

- type: entity
parent: BaseWall
Expand Down
148 changes: 126 additions & 22 deletions Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,77 @@
- type: entity
id: PlastitaniumWindow
id: PlastitaniumWindowBase
parent: BaseStructure
abstract: true
name: plastitanium window
parent: Window
description: Don't smudge up the glass down there.
placement:
mode: SnapgridCenter
snap:
- Window
components:
- type: RCDDeconstructable
deconstructable: false
- type: MeleeSound
soundGroups:
Brute:
collection: GlassSmack
- type: WallMount
arc: 360 # interact despite grilles
- type: Tag
tags:
- ForceFixRotations
- Window
- type: Physics
bodyType: Static
- type: ExaminableDamage
messages: WindowMessages
- type: InteractionPopup
interactSuccessString: comp-window-knock
messagePerceivedByOthers: comp-window-knock
interactSuccessSound:
path: /Audio/Effects/glass_knock.ogg
- type: Appearance
- type: StaticPrice
price: 100
- type: BlockWeather

- type: entity
id: PlastitaniumWindowSquareBase
abstract: true
name: plastitanium window
parent: PlastitaniumWindowBase
components:
- type: Sprite
drawdepth: WallTops
sprite: Structures/Windows/plastitanium_window.rsi
- type: Icon
sprite: Structures/Windows/plastitanium_window.rsi
- type: Repairable
fuelCost: 15
doAfterDelay: 3
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: RGlass
state: full
- type: IconSmooth
key: windows
base: ptwindow
- type: Airtight
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb {}
mask:
- FullTileMask
layer:
- GlassLayer

- type: entity
id: PlastitaniumWindowIndestructible
name: plastitanium window
parent: PlastitaniumWindowSquareBase
suffix: indestructible

- type: entity
id: PlastitaniumWindow
name: plastitanium window
parent: PlastitaniumWindowSquareBase
components:
- type: Destructible
thresholds:
- trigger:
Expand All @@ -39,38 +97,37 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: IconSmooth
base: ptwindow
- type: Appearance
- type: DamageVisuals
thresholds: [4, 8, 12]
damageDivisor: 28
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks.rsi
- type: StaticPrice
price: 100
- type: Repairable
fuelCost: 15
doAfterDelay: 3
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: RGlass

- type: entity
parent: ShuttleWindow
id: PlastitaniumWindowDiagonal
id: PlastitaniumWindowDiagonalBase
abstract: true
name: plastitanium window
parent: PlastitaniumWindowBase
suffix: diagonal
placement:
mode: SnapgridCenter
snap:
- Window
components:
- type: Sprite
drawdepth: WallTops
sprite: Structures/Windows/plastitanium_window_diagonal.rsi
state: state0
- type: Icon
sprite: Structures/Windows/plastitanium_window_diagonal.rsi
state: state0
- type: IconSmooth
mode: Diagonal
key: windows
base: state
- type: Icon
sprite: Structures/Windows/plastitanium_window_diagonal.rsi
state: state0
- type: Fixtures
fixtures:
fix1:
Expand All @@ -89,6 +146,53 @@
airBlockedDirection:
- South
- East

- type: entity
id: PlastitaniumWindowDiagonalIndestructible
name: plastitanium window
parent: PlastitaniumWindowDiagonalBase
suffix: diagonal, indestructible

- type: entity
id: PlastitaniumWindowDiagonal
name: plastitanium window
parent: PlastitaniumWindowDiagonalBase
suffix: diagonal
components:
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 1000
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:PlaySoundBehavior
sound:
collection: WindowShatter
- !type:SpawnEntitiesBehavior
spawn:
ShardGlassReinforced:
min: 1
max: 2
PartRodMetal:
min: 1
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageVisuals
thresholds: [4, 8, 12]
damageDivisor: 28
trackAllDamage: true
damageOverlay:
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Repairable
fuelCost: 15
doAfterDelay: 3
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: RGlass

0 comments on commit 6a52de8

Please sign in to comment.