valid |= tagSystem.HasTag(child, "ForceFixRotations");
// override
valid &= !tagSystem.HasTag(child, "ForceNoFixRotations");
+ // remove diagonal entities as well
+ valid &= !tagSystem.HasTag(child, "Diagonal");
if (!valid)
continue;
- type: entity
name: Atmos Fix Freezer Marker
id: AtmosFixFreezerMarker
- description: "Change air temp to 235K, for freezer with a big of wiggle room to get set up."
+ description: "Change air temp to 235K, for freezer with a bit of wiggle room to get set up."
parent: MarkerBase
components:
- type: Sprite
- type: Marker
- type: Clickable
- type: InteractionOutline
+ - type: Tag
+ tags:
+ - ForceFixRotations
- type: Sprite
drawdepth: Overdoors
sprite: Markers/cross.rsi
cost: 4
delay: 6
fx: EffectRCDDeconstruct6
+ - type: Tag
+ tags:
+ - ForceFixRotations # Allow fixrotations to target these
- type: Destructible
thresholds:
- trigger:
- GlassAirlockLayer
- type: Occluder
enabled: false
+ - type: Tag
+ tags:
+ - ForceNoFixRotations # Prevent fixrotations from targeting these, since the base Firelock is targeted
- type: Door
occludes: false
- type: Physics
tags:
- Structure
- Wall
+ - ForceNoFixRotations # Don't want the fixrotations command to target these
- type: ContainerContainer
containers:
battery-container: !type:Container
containers:
board: !type:Container
- type: NavMapDoor
+ - type: Tag
+ tags:
+ - ForceNoFixRotations # Don't want the fixrotations command to target these
- type: Door
openDrawDepth: BlastDoors
closedDrawDepth: BlastDoors
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepHull
+ - type: Tag
+ tags:
+ - ForceFixRotations
- type: entity
id: CounterBase
key: full
base: carpet_
- type: Tag
- tags: [ Carpet ]
+ tags:
+ - Carpet
+ - ForceFixRotations
- type: Physics
canCollide: false
- type: Fixtures
damageContainer: Inorganic
- type: Destructible
thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 10
+ - trigger:
+ !type:DamageTrigger
+ damage: 10
behaviors:
- - !type:DoActsBehavior
- acts: [ "Destruction" ]
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
- type: Butcherable
butcheringType: Knife
butcherDelay: 2
id: AirSensorBase
abstract: true
components:
- - type: DeviceNetwork
- deviceNetId: AtmosDevices
- receiveFrequencyId: AtmosMonitor
- transmitFrequencyId: AtmosMonitor
- prefix: device-address-prefix-sensor
- sendBroadcastAttemptEvent: true
- examinableAddress: true
- - type: WiredNetworkConnection
- - type: DeviceNetworkRequiresPower
- - type: AtmosDevice
- - type: AtmosMonitor
- temperatureThresholdId: stationTemperature
- pressureThresholdId: stationPressure
- gasThresholdPrototypes:
- Oxygen: stationOxygen
- Nitrogen: stationNitrogen
- CarbonDioxide: stationCO2
- Plasma: stationPlasma
- Tritium: stationTritium
- WaterVapor: stationWaterVapor
- Ammonia: stationAmmonia
- NitrousOxide: stationNO
- Frezon: danger
- - type: Tag
- tags:
- - AirSensor
+ - type: DeviceNetwork
+ deviceNetId: AtmosDevices
+ receiveFrequencyId: AtmosMonitor
+ transmitFrequencyId: AtmosMonitor
+ prefix: device-address-prefix-sensor
+ sendBroadcastAttemptEvent: true
+ examinableAddress: true
+ - type: WiredNetworkConnection
+ - type: DeviceNetworkRequiresPower
+ - type: AtmosDevice
+ - type: AtmosMonitor
+ temperatureThresholdId: stationTemperature
+ pressureThresholdId: stationPressure
+ gasThresholdPrototypes:
+ Oxygen: stationOxygen
+ Nitrogen: stationNitrogen
+ CarbonDioxide: stationCO2
+ Plasma: stationPlasma
+ Tritium: stationTritium
+ WaterVapor: stationWaterVapor
+ Ammonia: stationAmmonia
+ NitrousOxide: stationNO
+ Frezon: danger
+ - type: Tag
+ tags:
+ - AirSensor
+ - ForceFixRotations
- type: entity
id: AirSensor
placement:
mode: SnapgridCenter
components:
- - type: Transform
- anchored: true
- - type: Damageable
- damageContainer: Inorganic
- damageModifierSet: Metallic
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 100
- behaviors:
- - !type:DoActsBehavior
- acts: ["Destruction"]
- - type: Physics
- canCollide: false
- - type: Fixtures
- fixtures:
- fix1:
- shape:
- !type:PhysShapeAabb
- bounds: "-0.25,-0.25,0.25,0.25"
- density: 20
- mask:
- - ItemMask
- restitution: 0.3
- friction: 0.2
- - type: Clickable
- - type: InteractionOutline
- - type: ApcPowerReceiver
- - type: ExtensionCableReceiver
- - type: AccessReader
- access: [ [ "Atmospherics" ] ]
- - type: Construction
- graph: AirSensor
- node: sensor
- - type: Appearance
- - type: Sprite
- drawdepth: FloorObjects
- sprite: Structures/Specific/Atmospherics/sensor.rsi
- layers:
- - state: gsensor1
- map: [ "enum.PowerDeviceVisualLayers.Powered" ]
- - type: GenericVisualizer
- visuals:
- enum.PowerDeviceVisuals.Powered:
- enum.PowerDeviceVisualLayers.Powered:
- True: { state: gsensor1 }
- False: { state: gsensor0 }
+ - type: Transform
+ anchored: true
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: Metallic
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 100
+ behaviors:
+ - !type:DoActsBehavior
+ acts: ["Destruction"]
+ - type: Physics
+ canCollide: false
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.25,-0.25,0.25,0.25"
+ density: 20
+ mask:
+ - ItemMask
+ restitution: 0.3
+ friction: 0.2
+ - type: Clickable
+ - type: InteractionOutline
+ - type: ApcPowerReceiver
+ - type: ExtensionCableReceiver
+ - type: AccessReader
+ access: [ [ "Atmospherics" ] ]
+ - type: Construction
+ graph: AirSensor
+ node: sensor
+ - type: Appearance
+ - type: Sprite
+ drawdepth: FloorObjects
+ sprite: Structures/Specific/Atmospherics/sensor.rsi
+ layers:
+ - state: gsensor1
+ map: [ "enum.PowerDeviceVisualLayers.Powered" ]
+ - type: GenericVisualizer
+ visuals:
+ enum.PowerDeviceVisuals.Powered:
+ enum.PowerDeviceVisualLayers.Powered:
+ True: { state: gsensor1 }
+ False: { state: gsensor0 }
- type: entity
parent: BaseItem
name: air sensor assembly
description: Air sensor assembly. An assembly of air sensors?
components:
- - type: Item
- size: Small
- - type: Anchorable
- - type: Construction
- graph: AirSensor
- node: assembly
- - type: Sprite
- drawdepth: FloorObjects
- sprite: Structures/Specific/Atmospherics/sensor.rsi
- layers:
- - state: gsensor0
+ - type: Item
+ size: Small
+ - type: Anchorable
+ - type: Construction
+ graph: AirSensor
+ node: assembly
+ - type: Sprite
+ drawdepth: FloorObjects
+ sprite: Structures/Specific/Atmospherics/sensor.rsi
+ layers:
+ - state: gsensor0
name: clockwork grille
description: A flimsy framework of iron rods assembled in traditional Ratvarian fashion.
components:
- - type: Sprite
- drawdepth: Walls
- sprite: Structures/Walls/clockwork_grille.rsi
- state: ratvargrille
- layers:
- - state: ratvargrille
- - type: Icon
- sprite: Structures/Walls/clockwork_grille.rsi
- state: ratvargrille
- - type: Construction
- graph: ClockGrille
- node: clockGrille
- deconstructionTarget: start
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/clockwork_grille.rsi
+ state: ratvargrille
+ layers:
+ - state: ratvargrille
+ - type: Icon
+ sprite: Structures/Walls/clockwork_grille.rsi
+ state: ratvargrille
+ - type: Construction
+ graph: ClockGrille
+ node: clockGrille
+ deconstructionTarget: start
- type: entity
id: GrilleBroken
name: grille
description: A flimsy framework of iron rods. It has seen better days.
components:
- - type: Sprite
- drawdepth: Walls
- sprite: Structures/Walls/grille.rsi
- state: grille_broken
- - type: Icon
- sprite: Structures/Walls/grille.rsi
- state: grille_broken
- - type: RCDDeconstructable
- cost: 6
- delay: 4
- fx: EffectRCDDeconstruct4
- - type: Construction
- graph: Grille
- node: grilleBroken
- deconstructionTarget: start
- - type: Fixtures # overwrite BaseStructure parent.
- - type: Physics
- bodyType: Static
- canCollide: false
- - type: Damageable
- damageContainer: StructuralInorganic
- damageModifierSet: FlimsyMetallic
- - type: Destructible
- thresholds:
- - trigger:
- !type:DamageTrigger
- damage: 10
- behaviors:
- - !type:ChangeConstructionNodeBehavior
- node: start
- - !type:DoActsBehavior
- acts: ["Destruction"]
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/grille.rsi
+ state: grille_broken
+ - type: Icon
+ sprite: Structures/Walls/grille.rsi
+ state: grille_broken
+ - type: RCDDeconstructable
+ cost: 6
+ delay: 4
+ fx: EffectRCDDeconstruct4
+ - type: Construction
+ graph: Grille
+ node: grilleBroken
+ deconstructionTarget: start
+ - type: Fixtures # overwrite BaseStructure parent.
+ - type: Physics
+ bodyType: Static
+ canCollide: false
+ - type: Tag
+ tags:
+ - ForceNoFixRotations
+ - type: Damageable
+ damageContainer: StructuralInorganic
+ damageModifierSet: FlimsyMetallic
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 10
+ behaviors:
+ - !type:ChangeConstructionNodeBehavior
+ node: start
+ - !type:DoActsBehavior
+ acts: ["Destruction"]
- type: entity
id: ClockworkGrilleBroken
name: clockwork grille
description: A flimsy framework of iron rods assembled in traditional Ratvarian fashion. It has seen better days.
components:
- - type: Sprite
- drawdepth: Walls
- sprite: Structures/Walls/clockwork_grille.rsi
- state: brokenratvargrille
- - type: Icon
- sprite: Structures/Walls/clockwork_grille.rsi
- state: brokenratvargrille
- - type: Construction
- graph: ClockGrille
- node: clockGrilleBroken
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/clockwork_grille.rsi
+ state: brokenratvargrille
+ - type: Icon
+ sprite: Structures/Walls/clockwork_grille.rsi
+ state: brokenratvargrille
+ - type: Construction
+ graph: ClockGrille
+ node: clockGrilleBroken
- type: entity
id: GrilleDiagonal
parent: Grille
name: diagonal grille
components:
- - type: Sprite
- drawdepth: Walls
- sprite: Structures/Walls/grille.rsi
- layers:
- - state: grille_diagonal
- - state: electrified_diagonal
- sprite: Effects/electricity.rsi
- map: ["enum.ElectrifiedLayers.Sparks"]
- shader: unshaded
- visible: false
- - type: Icon
- sprite: Structures/Walls/grille.rsi
- state: grille_diagonal
- - 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: Construction
- graph: GrilleDiagonal
- node: grilleDiagonal
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/grille.rsi
+ layers:
+ - state: grille_diagonal
+ - state: electrified_diagonal
+ sprite: Effects/electricity.rsi
+ map: ["enum.ElectrifiedLayers.Sparks"]
+ shader: unshaded
+ visible: false
+ - type: Icon
+ sprite: Structures/Walls/grille.rsi
+ state: grille_diagonal
+ - type: Tag
+ tags:
+ - Diagonal
+ - 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: Construction
+ graph: GrilleDiagonal
+ node: grilleDiagonal
- type: entity
id: ClockworkGrilleDiagonal
parent: ClockworkGrille
name: diagonal clockwork grille
components:
- - type: Sprite
- drawdepth: Walls
- sprite: Structures/Walls/clockwork_grille.rsi
- layers:
- - state: ratvargrille_diagonal
- - state: electrified_diagonal
- sprite: Effects/electricity.rsi
- map: ["enum.ElectrifiedLayers.Sparks"]
- shader: unshaded
- visible: false
- - type: Icon
- sprite: Structures/Walls/clockwork_grille.rsi
- state: ratvargrille_diagonal
- - 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: Construction
- graph: GrilleDiagonal
- node: clockworkGrilleDiagonal
+ - type: Sprite
+ drawdepth: Walls
+ sprite: Structures/Walls/clockwork_grille.rsi
+ layers:
+ - state: ratvargrille_diagonal
+ - state: electrified_diagonal
+ sprite: Effects/electricity.rsi
+ map: ["enum.ElectrifiedLayers.Sparks"]
+ shader: unshaded
+ visible: false
+ - type: Icon
+ sprite: Structures/Walls/clockwork_grille.rsi
+ state: ratvargrille_diagonal
+ - type: Tag
+ tags:
+ - Diagonal
+ - 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: Construction
+ graph: GrilleDiagonal
+ node: clockworkGrilleDiagonal
id: WallBrick
name: brick wall
components:
- - type: Tag
- tags:
- - Wall
- type: Sprite
sprite: Structures/Walls/brick.rsi
- type: Icon
- type: Tag
tags:
- Wall
+ - Diagonal
- type: Sprite
drawdepth: Walls
sprite: Structures/Walls/plastitanium_diagonal.rsi
snap:
- Wall
components:
+ - type: Tag
+ tags:
+ - Diagonal
- type: Sprite
drawdepth: Walls
sprite: Structures/Walls/reinforced_diagonal.rsi
- type: Tag
tags:
- Wall
+ - Diagonal
- type: Sprite
drawdepth: Walls
sprite: Structures/Walls/shuttle_diagonal.rsi
drawdepth: WallTops
sprite: Structures/Windows/clockwork_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: clockworkWindowDiagonal
\ No newline at end of file
+ node: clockworkWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/mining_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
- East
- type: DamageVisuals
damageOverlay:
- sprite: Structures/Windows/cracks_diagonal.rsi
\ No newline at end of file
+ sprite: Structures/Windows/cracks_diagonal.rsi
drawdepth: WallTops
sprite: Structures/Windows/plasma_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: plasmaWindowDiagonal
\ No newline at end of file
+ node: plasmaWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/plastitanium_window_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: Icon
sprite: Structures/Windows/plastitanium_window_diagonal.rsi
state: state0
doAfterDelay: 3
- type: Damageable
damageContainer: StructuralInorganic
- damageModifierSet: RGlass
\ No newline at end of file
+ damageModifierSet: RGlass
drawdepth: WallTops
sprite: Structures/Windows/reinforced_window_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: reinforcedWindowDiagonal
\ No newline at end of file
+ node: reinforcedWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/reinforced_plasma_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: reinforcedPlasmaWindowDiagonal
\ No newline at end of file
+ node: reinforcedPlasmaWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/reinforced_uranium_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: reinforcedUraniumWindowDiagonal
\ No newline at end of file
+ node: reinforcedUraniumWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/shuttle_window_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
- East
- type: DamageVisuals
damageOverlay:
- sprite: Structures/Windows/cracks_diagonal.rsi
\ No newline at end of file
+ sprite: Structures/Windows/cracks_diagonal.rsi
drawdepth: WallTops
sprite: Structures/Windows/uranium_window_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: uraniumWindowDiagonal
\ No newline at end of file
+ node: uraniumWindowDiagonal
drawdepth: WallTops
sprite: Structures/Windows/window_diagonal.rsi
state: state0
+ - type: Tag
+ tags:
+ - Diagonal
- type: IconSmooth
mode: Diagonal
key: windows
sprite: Structures/Windows/cracks_diagonal.rsi
- type: Construction
graph: WindowDiagonal
- node: windowDiagonal
\ No newline at end of file
+ node: windowDiagonal
- type: Tag
id: Debug
+- type: Tag
+ id: Diagonal
+
- type: Tag
id: Dice