Attempts to fix all physics bugs at once (#3610)

* Fixed Rack/Shelf

* Fixes bookshelf, bed

* Placeable for beds for bedsheets

* Bunch of Physics changes, ask metalgearsloth about em'

* More modifications

* More

* Other stuff

* Organizes entities yaml a little bit

* Something new

* Fixed, happy with the state of this rn

* A

* A

* Ye

* E

* Done for now...

* Applied Reviws

* Changes

* Fix the robust commit

* Fixes tests?

* E

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
Swept
2021-03-26 01:51:26 +00:00
committed by GitHub
parent 1499468157
commit 29d02a3740
58 changed files with 383 additions and 1108 deletions

View File

@@ -29,6 +29,7 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.Movement
id: TableDummy
components:
- type: Climbable
- type: Physics
";
[Test]

View File

@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using Robust.Server.GameObjects;
using Robust.Shared.GameObjects;
using Robust.Shared.IoC;

View File

@@ -1,4 +1,4 @@
#nullable enable
#nullable enable
using System;
using Content.Shared.GameObjects.Components.Strap;
using Content.Shared.GameObjects.EntitySystems;

View File

@@ -1,4 +1,4 @@
#nullable enable
#nullable enable
using System;
using Content.Shared.GameObjects.EntitySystems.ActionBlocker;
using Content.Shared.Physics;
@@ -22,7 +22,7 @@ namespace Content.Shared.GameObjects.Components.Movement
foreach (var entity in Body.GetBodiesIntersecting())
{
if ((entity.CollisionLayer & (int) CollisionGroup.VaultImpassable) != 0) return true;
if ((entity.CollisionLayer & (int) CollisionGroup.SmallImpassable) != 0) return true;
}
return false;
@@ -70,14 +70,14 @@ namespace Content.Shared.GameObjects.Components.Movement
if (_isClimbing == value) return;
_isClimbing = value;
ToggleVaultPassable(value);
ToggleSmallPassable(value);
}
}
protected bool _isClimbing;
// TODO: Layers need a re-work
private void ToggleVaultPassable(bool value)
private void ToggleSmallPassable(bool value)
{
// Hope the mob has one fixture
if (Body == null || Body.Deleted) return;
@@ -86,11 +86,11 @@ namespace Content.Shared.GameObjects.Components.Movement
{
if (value)
{
fixture.CollisionMask &= ~(int) CollisionGroup.VaultImpassable;
fixture.CollisionMask &= ~(int) CollisionGroup.SmallImpassable;
}
else
{
fixture.CollisionMask |= (int) CollisionGroup.VaultImpassable;
fixture.CollisionMask |= (int) CollisionGroup.SmallImpassable;
}
}
}

View File

@@ -18,7 +18,7 @@ namespace Content.Shared.GameObjects.Components.Movement
/// </summary>
[RegisterComponent]
[ComponentReference(typeof(IMobMoverComponent))]
public class SharedPlayerMobMoverComponent : Component, IMobMoverComponent, ICollideSpecial
public class SharedPlayerMobMoverComponent : Component, IMobMoverComponent
{
public override string Name => "PlayerMobMover";
public override uint? NetID => ContentNetIDs.PLAYER_MOB_MOVER;
@@ -112,17 +112,6 @@ namespace Content.Shared.GameObjects.Components.Movement
PushStrength = playerMoverState.PushStrength;
}
bool ICollideSpecial.PreventCollide(IPhysBody collidedWith)
{
// Don't collide with other mobs
// unless they have combat mode on
return false; //collidedWith.Entity.HasComponent<IBody>();
/* &&
(!Owner.TryGetComponent(out SharedCombatModeComponent? ownerCombat) || !ownerCombat.IsInCombatMode) &&
(!collidedWith.Entity.TryGetComponent(out SharedCombatModeComponent? otherCombat) || !otherCombat.IsInCombatMode);
*/
}
[Serializable, NetSerializable]
private sealed class PlayerMobMoverComponentState : ComponentState
{

View File

@@ -887,7 +887,7 @@ entities:
ents: []
type: ContainerContainer
- uid: 106
type: WeldingFuelTank
type: WeldingFuelTankFull
components:
- rot: 1.5707963705062866 rad
pos: -1.5,-11.5
@@ -18076,7 +18076,7 @@ entities:
parent: 853
type: Transform
- uid: 1543
type: WeldingFuelTank
type: WeldingFuelTankFull
components:
- pos: 33.5,12.5
parent: 853
@@ -24482,21 +24482,21 @@ entities:
parent: 853
type: Transform
- uid: 2439
type: WeldingFuelTank
type: WeldingFuelTankFull
components:
- rot: 4.371139006309477E-08 rad
pos: -26.5,11.5
parent: 853
type: Transform
- uid: 2440
type: WeldingFuelTank
type: WeldingFuelTankFull
components:
- rot: 4.371139006309477E-08 rad
pos: 35.5,-4.5
parent: 853
type: Transform
- uid: 2441
type: WeldingFuelTank
type: WeldingFuelTankFull
components:
- rot: 4.371139006309477E-08 rad
pos: -15.5,-9.5

View File

@@ -1,9 +1,9 @@
- type: entity
id: Airlock
parent: BaseConstructible
name: airlock
description: It opens, it closes, and maybe crushes you.
components:
- type: Clickable
- type: RCDDeconstructWhitelist
- type: InteractionOutline
- type: Sprite
@@ -58,8 +58,6 @@
- type: Airtight
fixVacuum: true
- type: Occluder
- type: SnapGrid
offset: Center
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -123,5 +121,3 @@
node: assembly
placement:
mode: SnapgridCenter

View File

@@ -1,9 +1,9 @@
- type: entity
id: Firelock
parent: BaseConstructible
name: firelock
description: Apply crowbar.
components:
- type: Clickable
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances
@@ -74,13 +74,9 @@
fixVacuum: true
- type: Occluder
enabled: false
- type: SnapGrid
offset: Center
- type: Construction
graph: Firelock
node: Firelock
placement:
mode: SnapgridCenter
- type: entity
id: FirelockGlass

View File

@@ -1,36 +1,34 @@
- type: entity
id: FirelockFrame
parent: BaseConstructibleDynamic
name: Firelock Frame
description: That is a firelock frame.
components:
- type: Sprite
sprite: Constructible/Structures/Doors/Standard/firelock.rsi
state: frame1
- type: Construction
graph: Firelock
node: frame1
- type: Clickable
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
mask:
- Impassable
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Sprite
sprite: Constructible/Structures/Doors/Standard/firelock.rsi
state: frame1
- type: Construction
graph: Firelock
node: frame1
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Physics
bodyType: Dynamic
mass: 50
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
layer:
- SmallImpassable
mask:
- VaultImpassable

View File

@@ -1,10 +1,13 @@
- type: entity
name: bed
id: Bed
parent: BaseConstructible
description: This is used to lie in, sleep in or strap on.
components:
- type: Clickable
- type: InteractionOutline
# So that you can put bedsheets on beds again. Would be cool to have a tag
# for this so that only bedsheets can be placed.
- type: PlaceableSurface
placeCentered: true
- type: Physics
mass: 25
bodyType: Static
@@ -13,8 +16,6 @@
!type:PhysShapeAabb
bounds: "-0.45, -0.45, 0.05, 0.45"
mask:
- Impassable
- VaultImpassable
- SmallImpassable
- type: Sprite
sprite: Constructible/Misc/furniture.rsi
@@ -32,5 +33,11 @@
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
placement:
mode: SnapgridCenter
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
MaterialCloth1:
min: 1
max: 1

View File

@@ -1,25 +1,23 @@
- type: entity
id: BookshelfBase
id: Bookshelf
parent: BaseConstructible
name: "bookshelf"
description: Mostly filled with erotica.
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Constructible/Misc/bookshelf.rsi
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layers:
- state: base
- state: book-0
- type: RandomSpriteState
spriteLayer: 1
spriteStates:
- book-0
- book-1
- book-2
- book-3
- book-4
- book-5
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -37,46 +35,3 @@
max: 1
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Occluder
- type: entity
id: Bookshelf0
parent: BookshelfBase
components:
- type: Sprite
state: book-0
- type: entity
id: Bookshelf1
parent: BookshelfBase
components:
- type: Sprite
state: book-1
- type: entity
id: Bookshelf2
parent: BookshelfBase
components:
- type: Sprite
state: book-2
- type: entity
id: Bookshelf3
parent: BookshelfBase
components:
- type: Sprite
state: book-3
- type: entity
id: Bookshelf4
parent: BookshelfBase
components:
- type: Sprite
state: book-4
- type: entity
id: Bookshelf5
parent: BookshelfBase
components:
- type: Sprite
state: book-5

View File

@@ -1,27 +1,23 @@
- type: entity
id: CarpetBase
parent: BaseConstructible
description: "Fancy walking surface."
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: Sprite
drawdepth: BelowFloor
- type: Icon
state: full
- type: SnapGrid
offset: Center
- type: IconSmooth
key: full
base: carpet_
- type: Physics
canCollide: false
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
layer: [ Passable ]
- shape:
!type:PhysShapeAabb {}
layer:
- Passable
- type: Damageable
- type: Destructible
thresholds:

View File

@@ -1,26 +1,16 @@
- type: entity
name: baseinstrument
id: BasePlaceableInstrument
parent: BaseConstructibleDynamic
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Instrument
handheld: false
- type: Clickable
- type: InteractionOutline
- type: Anchorable
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
layer: [MobMask]
mask:
- Impassable
- MobImpassable
- VaultImpassable
- type: SnapGrid
offset: Center
- type: Rotatable
rotateWhileAnchored: true
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -45,19 +35,18 @@
- type: Instrument
program: 1
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: piano
- type: Climbable
- type: entity
name: minimoog
parent: BasePlaceableInstrument
id: MinimoogInstrument
description: 'This is a minimoog, like a space piano, but more spacey!'
description: This is a minimoog, like a space piano, but more spacey!
components:
- type: Instrument
program: 81
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: minimoog
- type: entity
@@ -69,17 +58,4 @@
- type: Instrument
program: 20
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: church_organ
- type: entity
name: xylophone
parent: BasePlaceableInstrument
id: XylophoneInstrument
description: Rainbow colored glockenspiel.
components:
- type: Instrument
program: 13
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: xylophone

View File

@@ -1,15 +1,22 @@
- type: entity
name: pilot chair
description: The driver seat of a prestigious battle cruiser.
id: PilotSeatChair
placement:
mode: SnapgridCenter
parent: BaseConstructible
name: pilot seat
description: The pilot seat of a prestigious battle cruiser.
components:
- type: Sprite
sprite: Constructible/Misc/furniture.rsi
state: shuttle_chair
- type: Physics
- type: Clickable
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.25,0.5,0.25"
mask:
- Impassable
- VaultImpassable
- SmallImpassable
- type: InteractionOutline
- type: Damageable
resistances: metallicResistances

View File

@@ -1,32 +1,25 @@
- type: entity
id: PottedPlantBase
parent: BaseConstructibleDynamic
abstract: true
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
bodyType: Static
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5, -0.2, 0.5, 0.2"
layer:
- SmallImpassable
mask:
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Sprite
sprite: Constructible/Misc/potted_plants.rsi
- type: PottedPlantHide
- type: SecretStash
secretPartName: the plant
- type: Anchorable
- type: Pullable
- type: entity
@@ -59,11 +52,16 @@
- type: Sprite
state: plant-25
- type: Physics
mass: 25
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.47,-0.25,0.05,0.25"
layer: [ Passable ]
- shape:
!type:PhysShapeAabb
bounds: "-0.47,-0.25,0.05,0.25"
layer:
- SmallImpassable
mask:
- Impassable
- type: entity
id: PottedPlantBioluminscent

View File

@@ -6,10 +6,12 @@
placement:
mode: SnapgridCenter
components:
- type: Anchorable
snap: true
- type: Clickable
- type: InteractionOutline
- type: Physics
bodyType: Static
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
@@ -22,7 +24,6 @@
sprite: Constructible/Misc/furniture.rsi
- type: Strap
position: Stand
- type: Anchorable
- type: Pullable
- type: Damageable
resistances: metallicResistances
@@ -86,7 +87,6 @@
components:
- type: Sprite
state: bar_stool
color: "white"
- type: Physics
fixtures:
- shape:

View File

@@ -1,28 +1,30 @@
- type: entity
id: Rack
name: rack
description: "A rack for storing things on."
description: A rack for storing things on.
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: PlaceableSurface
- type: Sprite
sprite: Constructible/Misc/furniture.rsi
state: rack
- type: Physics
mass: 25
mass: 50
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
bounds: "-0.3,-0.3,0.3,0.3"
layer:
- VaultImpassable
- MobImpassable
mask:
- Impassable
- VaultImpassable
- type: Pullable
- type: Anchorable
snap: true
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -43,49 +45,9 @@
- type: entity
id: Shelf
parent: Rack
name: shelf
description: "A shelf for storing things on."
placement:
mode: SnapgridCenter
description: A shelf for storing things on.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Constructible/Misc/furniture.rsi
state: shelf
- type: Physics
mass: 25
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
mask:
- Impassable
- MobImpassable
- VaultImpassable
- type: Pullable
- type: Anchorable
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:PlaySoundBehavior
sound: /Audio/Effects/metalbreak.ogg
- !type:SpawnEntitiesBehavior
spawn:
SheetSteel1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]

View File

@@ -1,12 +1,12 @@
- type: entity
id: TableBase
name: "table"
parent: BaseConstructible
name: table
description: A square piece of metal standing on four metal legs.
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: Damageable
resistances: metallicResistances
- type: PlaceableSurface
- type: Sprite
netsync: false
@@ -16,16 +16,6 @@
- type: IconSmooth
key: state
base: state_
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- VaultImpassable
mask:
- Impassable
- type: SnapGrid
offset: Center
- type: Climbable
- type: entity
@@ -100,8 +90,6 @@
sprite: Constructible/Structures/Tables/bar.rsi
- type: Icon
sprite: Constructible/Structures/Tables/bar.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -134,8 +122,6 @@
sprite: Constructible/Structures/Tables/metal.rsi
- type: Icon
sprite: Constructible/Structures/Tables/metal.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -162,8 +148,6 @@
sprite: Constructible/Structures/Tables/reinforced.rsi
- type: Icon
sprite: Constructible/Structures/Tables/reinforced.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -193,8 +177,6 @@
sprite: Constructible/Structures/Tables/glass.rsi
- type: Icon
sprite: Constructible/Structures/Tables/glass.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -224,8 +206,6 @@
sprite: Constructible/Structures/Tables/r_glass.rsi
- type: Icon
sprite: Constructible/Structures/Tables/r_glass.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -258,8 +238,6 @@
sprite: Constructible/Structures/Tables/wood.rsi
- type: Icon
sprite: Constructible/Structures/Tables/wood.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -289,8 +267,6 @@
sprite: Constructible/Structures/Tables/carpet.rsi
- type: Icon
sprite: Constructible/Structures/Tables/carpet.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -323,8 +299,6 @@
sprite: Constructible/Structures/Tables/stone.rsi
- type: Icon
sprite: Constructible/Structures/Tables/stone.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -346,8 +320,6 @@
sprite: Constructible/Structures/Tables/debug.rsi
- type: Icon
sprite: Constructible/Structures/Tables/debug.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,26 +1,15 @@
- type: entity
id: KitchenSpike
parent: BaseConstructible
name: meat spike
description: A spike for collecting meat from animals.
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
mask:
- Impassable
layer:
- MobImpassable
- type: Sprite
netsync: false
# temp to make clickmask work
sprite: Constructible/Misc/kitchen.rsi
state: spike
- type: Anchorable
- type: Pullable
- type: Damageable
- type: Destructible
thresholds:
@@ -31,3 +20,6 @@
- !type:DoActsBehavior
acts: ["Destruction"]
- type: KitchenSpike
- type: Anchorable
snap: true
- type: Pullable

View File

@@ -27,9 +27,8 @@
!type:PhysShapeAabb
bounds: "-0.16,-0.3,0.16,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- SmallImpassable
mask:
- VaultImpassable
- type: Sprite
netsync: false

View File

@@ -26,9 +26,8 @@
!type:PhysShapeAabb
bounds: "-0.35,-0.08,0.25,0.15"
layer:
- Opaque
- Impassable
- MobImpassable
- SmallImpassable
mask:
- VaultImpassable
- type: Sprite
netsync: false

View File

@@ -1,7 +1,8 @@
- type: entity
id: Barricade
parent: BaseConstructible
name: barricade
components:
- type: Clickable
- type: InteractionOutline
- type: Construction
graph: barricade
@@ -10,12 +11,9 @@
sprite: Constructible/Structures/barricades.rsi
state: barricadewooden
- type: Physics
mass: 75
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5, -0.5, 0.5, 0.5"
!type:PhysShapeAabb {}
layer:
- Opaque
- Impassable
@@ -50,8 +48,3 @@
normalState: 1
Sprite:
drawdepth: Overlays
- type: SnapGrid
offset: Edge
placement:
snap:
- Wall

View File

@@ -1,11 +1,9 @@
- type: entity
name: cargo telepad
id: cargoTelepad
parent: BaseConstructibleDynamic
name: cargo telepad
description: "Temporary cargo delivery for developing Nanotrasen stations! Warning: destroying this while goods are in transit will lose them forever!"
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
@@ -14,7 +12,8 @@
- shape:
!type:PhysShapeAabb
bounds: "-0.45, -0.45, 0.00, 0.45"
layer: [ Passable ]
layer:
- Passable
- type: Sprite
sprite: Constructible/Specific/Cargo/teleporter.rsi
state: offline
@@ -34,8 +33,5 @@
max: 1
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Anchorable
snap: true
- type: Pullable
- type: PowerReceiver
- type: CargoTelepad

View File

@@ -1,9 +1,8 @@
- type: entity
id: LockerGeneric
parent: BaseConstructibleDynamic
name: closet
description: A standard-issue Nanotrasen storage unit.
placement:
mode: SnapgridCenter
components:
- type: Sprite
netsync: false
@@ -15,14 +14,12 @@
- state: welded
visible: false
map: ["enum.StorageVisualLayers.Welded"]
- type: Clickable
- type: MovedByPressure
- type: DamageOnHighSpeedImpact
soundHit: /Audio/Effects/bang.ogg
- type: InteractionOutline
- type: Physics
mass: 50
bodyType: Dynamic
mass: 25
fixtures:
- shape:
!type:PhysShapeAabb
@@ -54,5 +51,3 @@
state_open: generic_open
state_closed: generic_door
- type: LoopingSound
- type: Anchorable
- type: Pullable

View File

@@ -1,5 +1,6 @@
- type: entity
id: CrateGeneric
parent: BaseConstructibleDynamic
abstract: true
name: crate
description: A large container for items.
@@ -14,11 +15,9 @@
- state: welded
visible: false
map: ["enum.StorageVisualLayers.Welded"]
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 25
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
@@ -51,5 +50,3 @@
state_open: crate_open
state_closed: crate_door
- type: LoopingSound
- type: Anchorable
- type: Pullable

View File

@@ -1,18 +1,17 @@
- type: entity
id: StorageTank
parent: BaseConstructibleDynamic
name: storage tank
description: "A liquids storage tank."
abstract: true
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
mass: 100
bodyType: Dynamic
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5"
bounds: "-0.4,-0.4,0.4,0.4"
mask:
- Impassable
- MobImpassable
@@ -38,7 +37,3 @@
maxVol: 1500
caps: Drainable
- type: ReagentTank
placement:
snap:
- Wall

View File

@@ -1,12 +1,22 @@
- type: entity
parent: StorageTank
id: WeldingFuelTank
parent: StorageTank
name: fuel tank
description: A storage tank containing welding fuel.
suffix: Empty
description: A fuel tank. It is used to store high amounts of fuel.
components:
- type: Sprite
sprite: Constructible/Misc/tanks.rsi
state: fueltank
- type: ReagentTank
tankType: Fuel
- type: entity
id: WeldingFuelTankFull
parent: WeldingFuelTank
name: fuel tank
description: A storage tank containing welding fuel.
components:
- type: Explosive
devastationRange: 0
heavyImpactRange: 2
@@ -17,7 +27,3 @@
reagents:
- ReagentId: chem.WeldingFuel
Quantity: 1500
- type: Anchorable
- type: Pullable
- type: ReagentTank
tankType: Fuel

View File

@@ -1,6 +1,6 @@
- type: entity
parent: StorageTank
id: WaterTank
parent: StorageTank
name: water tank
suffix: Empty
description: "A water tank. It is used to store high amounts of water."
@@ -8,8 +8,6 @@
- type: Sprite
sprite: Constructible/Misc/tanks.rsi
state: watertank
- type: Anchorable
- type: Pullable
- type: entity
parent: WaterTank

View File

@@ -1,20 +1,14 @@
- type: entity
id: AsteroidRock
parent: BaseConstructible
name: asteroid rock
description: That's an asteroid
components:
- type: AsteroidRock
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Constructible/Structures/Walls/asteroid_rock.rsi
state: 0
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
layer: [MobMask]
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -28,9 +22,3 @@
- type: Occluder
sizeX: 32
sizeY: 32
- type: SnapGrid
offset: Center
placement:
mode: SnapgridCenter
snap:
- Wall

View File

@@ -9,14 +9,7 @@
!type:PhysShapeAabb
bounds: "-0.3,-0.3,0.3,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
- type: Sprite
state: atmosplaque
- type: AtmosPlaque

View File

@@ -1,21 +1,29 @@
- type: entity
id: BarSign
parent: BaseConstructible
name: bar sign
components:
- type: Clickable
- type: InteractionOutline
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.45, -0.95, 0.45, 1"
layer: [ Passable ]
layer:
- Passable
- type: Sprite
drawdepth: WallTops
sprite: Constructible/Misc/barsign.rsi
state: empty
- type: PowerReceiver
- type: BarSign
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: entity
id: LargeBarSign

View File

@@ -1,34 +1,22 @@
- type: entity
id: Girder
parent: BaseConstructibleDynamic
name: girder
description: A large structural assembly made out of metal; It requires a layer of metal before it can be considered a wall.
placement:
snap:
- Wall
components:
- type: Clickable
- type: InteractionOutline
- type: Anchorable
snap: true
- type: Construction
graph: girder
node: girder
- type: Sprite
sprite: Constructible/Structures/Walls/solid.rsi
state: wall_girder
- type: Physics
mass: 25
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- type: Tag
tags:
- ExplosivePassable
- type: Pullable
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -44,8 +32,3 @@
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: SnapGrid
offset: Edge
placement:
snap:
- Wall

View File

@@ -1,13 +1,9 @@
- type: entity
id: LowWall
parent: BaseConstructible
name: low wall
description: Goes up to about your waist.
placement:
mode: SnapgridCenter
snap:
- Wall
components:
- type: Clickable
- type: RCDDeconstructWhitelist
- type: CanBuildWindowOnTop
- type: InteractionOutline
@@ -19,13 +15,6 @@
- type: Icon
sprite: Constructible/Structures/Walls/low_wall.rsi
state: metal
- type: Physics
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- VaultImpassable
- SmallImpassable
- type: Damageable
resistances: metallicResistances
- type: Destructible
@@ -38,8 +27,6 @@
node: start
- !type:DoActsBehavior
acts: ["Destruction"]
- type: SnapGrid
offset: Center
- type: Climbable
- type: LowWall
key: walls

View File

@@ -1,22 +1,13 @@
- type: entity
id: Mirror
parent: BaseConstructible
name: mirror
description: 'Mirror mirror on the wall , who''s the most robust of them all?'
components:
- type: Sprite
sprite: Constructible/Misc/mirror.rsi
state: mirror
- type: Physics
mass: 25
bodyType: Static
fixtures:
- shape:
!type:PhysShapeAabb {}
layer: [Clickable]
- type: Clickable
- type: InteractionOutline
- type: SnapGrid
offset: Center
- type: MagicMirror
- type: UserInterface
interfaces:

View File

@@ -6,6 +6,7 @@
- type: Clickable
- type: InteractionOutline
- type: Physics
bodyType: Static
canCollide: false
fixtures:
- shape:
@@ -41,12 +42,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: monkey_painting
@@ -65,12 +63,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_sec
@@ -87,12 +82,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_evac
@@ -110,12 +102,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_bridge
@@ -133,12 +122,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_med
@@ -156,12 +142,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_eng
@@ -178,12 +161,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_sci
@@ -200,12 +180,9 @@
!type:PhysShapeAabb
bounds: "-0.1,-0.4,0.1,0.4"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: direction_supply
@@ -223,12 +200,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: armory
@@ -244,12 +218,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: ass
@@ -265,12 +236,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: anomaly
@@ -286,12 +254,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos
@@ -307,12 +272,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: bar
@@ -328,12 +290,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: biblio
@@ -349,12 +308,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: chapel
@@ -370,12 +326,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: commander
@@ -391,12 +344,9 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: conference_room
@@ -412,16 +362,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: drones
- type: entity
parent: BaseSign
id: SignEngine
@@ -433,16 +379,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: engine
- type: entity
parent: BaseSign
id: SignCloning
@@ -454,16 +396,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: cloning
- type: entity
parent: BaseSign
id: SignInterrogation
@@ -475,16 +413,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: interrogation
- type: entity
parent: BaseSign
id: SignSurgery
@@ -496,16 +430,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: surgery
- type: entity
parent: BaseSign
id: SignTelecomms
@@ -517,16 +447,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: telecoms
- type: entity
parent: BaseSign
id: SignCargo
@@ -538,16 +464,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: cargo
- type: entity
parent: BaseSign
id: SignCargoDock
@@ -559,16 +481,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: cargo_dock
- type: entity
parent: BaseSign
id: SignChem
@@ -580,16 +498,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: chem
- type: entity
parent: BaseSign
id: SignShipDock
@@ -601,16 +515,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: dock
- type: entity
parent: BaseSign
id: SignEngineering
@@ -622,16 +532,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: eng
- type: entity
parent: BaseSign
id: SignEVA
@@ -643,16 +549,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: eva
- type: entity
parent: BaseSign
id: SignGravity
@@ -664,16 +566,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: gravi
- type: entity
parent: BaseSign
id: SignMedical
@@ -685,16 +583,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: medbay
- type: entity
parent: BaseSign
id: SignMorgue
@@ -706,16 +600,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: morgue
- type: entity
parent: BaseSign
id: SignPrison
@@ -727,16 +617,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: prison
- type: entity
parent: BaseSign
id: SignRND
@@ -748,16 +634,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: rnd
- type: entity
parent: BaseSign
id: SignScience
@@ -769,16 +651,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: sci
- type: entity
parent: BaseSign
id: SignToxins
@@ -790,16 +668,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: toxins
- type: entity
parent: BaseSign
id: SignBridge
@@ -811,16 +685,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: bridge
# Atmos Warnings
- type: entity
@@ -835,16 +705,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_air
- type: entity
parent: BaseSign
id: WarningCO2
@@ -857,16 +723,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_co2
- type: entity
parent: BaseSign
id: WarningN2
@@ -879,16 +741,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_n2
- type: entity
parent: BaseSign
id: WarningN2O
@@ -901,16 +759,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_n2o
- type: entity
parent: BaseSign
id: WarningO2
@@ -923,16 +777,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_o2
- type: entity
parent: BaseSign
id: WarningPlasma
@@ -945,16 +795,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_plasma
- type: entity
parent: BaseSign
id: WarningWaste
@@ -967,16 +813,12 @@
!type:PhysShapeAabb
bounds: "-0.2,-0.3,0.2,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: atmos_waste
- type: entity
parent: BaseSign
id: SignSmoking
@@ -989,16 +831,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: nosmoking2
- type: entity
parent: BaseSign
id: SignSomethingOld
@@ -1011,16 +849,12 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: something-old1
- type: entity
parent: BaseSign
id: SignSomethingOld2
@@ -1033,12 +867,8 @@
!type:PhysShapeAabb
bounds: "-0.4,-0.3,0.4,0.3"
layer:
- Opaque
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
- Clickable
mask:
- VaultImpassable
- type: Sprite
state: something-old2

View File

@@ -1,5 +1,6 @@
- type: entity
id: base_wall
parent: BaseConstructible
name: basewall
description: Keeps the air in and the greytide out.
abstract: true
@@ -12,13 +13,14 @@
- type: Tag
tags:
- Wall
- type: Clickable
- type: InteractionOutline
- type: Sprite
netsync: false
drawdepth: Walls
- type: Icon
state: full
- type: Damageable
resistances: metallicResistances
- type: Physics
bodyType: Static
fixtures:
@@ -34,8 +36,6 @@
- type: Occluder
sizeX: 32
sizeY: 32
- type: SnapGrid
offset: Center
- type: Airtight
- type: IconSmooth
key: walls
@@ -50,8 +50,6 @@
sprite: Constructible/Structures/Walls/brick.rsi
- type: Icon
sprite: Constructible/Structures/Walls/brick.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -78,8 +76,6 @@
sprite: Constructible/Structures/Walls/clock.rsi
- type: Icon
sprite: Constructible/Structures/Walls/clock.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -106,8 +102,6 @@
sprite: Constructible/Structures/Walls/clown.rsi
- type: Icon
sprite: Constructible/Structures/Walls/clown.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -135,8 +129,6 @@
sprite: Constructible/Structures/Walls/cult.rsi
- type: Icon
sprite: Constructible/Structures/Walls/cult.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -163,8 +155,6 @@
sprite: Constructible/Structures/Walls/debug.rsi
- type: Icon
sprite: Constructible/Structures/Walls/debug.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -191,8 +181,6 @@
sprite: Constructible/Structures/Walls/diamond.rsi
- type: Icon
sprite: Constructible/Structures/Walls/diamond.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -220,8 +208,6 @@
sprite: Constructible/Structures/Walls/gold.rsi
- type: Icon
sprite: Constructible/Structures/Walls/gold.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -248,8 +234,6 @@
sprite: Constructible/Structures/Walls/ice.rsi
- type: Icon
sprite: Constructible/Structures/Walls/ice.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -276,8 +260,6 @@
sprite: Constructible/Structures/Walls/metal.rsi
- type: Icon
sprite: Constructible/Structures/Walls/metal.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -304,8 +286,6 @@
sprite: Constructible/Structures/Walls/plasma.rsi
- type: Icon
sprite: Constructible/Structures/Walls/plasma.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -332,8 +312,6 @@
sprite: Constructible/Structures/Walls/plastic.rsi
- type: Icon
sprite: Constructible/Structures/Walls/plastic.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -365,8 +343,6 @@
- type: Construction
graph: girder
node: reinforcedWall
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -395,8 +371,6 @@
sprite: Constructible/Structures/Walls/riveted.rsi
- type: Icon
sprite: Constructible/Structures/Walls/riveted.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -423,8 +397,6 @@
sprite: Constructible/Structures/Walls/sandstone.rsi
- type: Icon
sprite: Constructible/Structures/Walls/sandstone.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -451,8 +423,6 @@
sprite: Constructible/Structures/Walls/silver.rsi
- type: Icon
sprite: Constructible/Structures/Walls/silver.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -483,8 +453,6 @@
node: wall
- type: Icon
sprite: Constructible/Structures/Walls/solid.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -511,8 +479,6 @@
sprite: Constructible/Structures/Walls/uranium.rsi
- type: Icon
sprite: Constructible/Structures/Walls/uranium.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:
@@ -539,8 +505,6 @@
sprite: Constructible/Structures/Walls/wood.rsi
- type: Icon
sprite: Constructible/Structures/Walls/wood.rsi
- type: Damageable
resistances: metallicResistances
- type: Destructible
thresholds:
- trigger:

View File

@@ -1,5 +1,6 @@
- type: entity
id: Window
parent: BaseConstructible
name: window
description: Don't smudge up the glass down there.
placement:
@@ -7,7 +8,6 @@
snap:
- Window
components:
- type: Clickable
- type: RCDDeconstructWhitelist
- type: InteractionOutline
- type: Sprite
@@ -28,6 +28,8 @@
- MobImpassable
- VaultImpassable
- SmallImpassable
mask:
- VaultImpassable
- type: Damageable
resistances: metallicResistances
- type: Repairable
@@ -46,8 +48,6 @@
max: 2
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: SnapGrid
offset: Center
- type: Airtight
- type: Window
base: window

View File

@@ -5,6 +5,8 @@
parent: SeatBase
description: The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean.
components:
- type: Anchorable
snap: true
- type: Sprite
sprite: Constructible/Watercloset/toilet.rsi
state: closed_toilet_seat_up

View File

@@ -0,0 +1,46 @@
- type: entity
id: BaseConstructible
abstract: true
placement:
mode: SnapgridCenter
components:
- type: SnapGrid
offset: Center
- type: Clickable
- type: Physics
bodyType: Static
mass: 50
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- SmallImpassable
mask:
- Impassable
- type: Pullable
- type: entity
# This means that it's not anchored on spawn.
id: BaseConstructibleDynamic
parent: BaseConstructible
abstract: true
components:
# These might/might not be a good idea
# - type: MovedByPressure
# - type: DamageOnHighSpeedImpact
# - type: TileFrictionModifier
# modifier: 0.5
- type: Clickable
- type: Physics
bodyType: Dynamic
mass: 50
fixtures:
- shape:
!type:PhysShapeAabb {}
layer:
- SmallImpassable
mask:
- VaultImpassable
- type: Anchorable
snap: true
- type: Pullable

View File

@@ -31,7 +31,6 @@
- SmallImpassable
layer:
- Opaque
- MobImpassable
- type: MobState
thresholds:
0: !type:NormalMobState {}

View File

@@ -33,7 +33,6 @@
- SmallImpassable
layer:
- Opaque
- MobImpassable
- type: MobState
thresholds:
0: !type:NormalMobState {}

View File

@@ -127,9 +127,9 @@
- Impassable
- MobImpassable
- VaultImpassable
- SmallImpassable
layer:
- Opaque
- MobImpassable
- type: AtmosExposed
- type: Flammable
fireSpread: true

View File

@@ -126,7 +126,6 @@
- VaultImpassable
layer:
- Opaque
- MobImpassable
- type: PlayerInputMover
- type: AtmosExposed
- type: Flammable

View File

@@ -228,3 +228,15 @@
- type: Item
size: 24
sprite: Objects/Fun/Instruments/h_synthesizer.rsi
- type: entity
name: xylophone
parent: BaseHandheldInstrument
id: XylophoneInstrument
description: Rainbow colored glockenspiel.
components:
- type: Instrument
program: 13
- type: Sprite
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: xylophone

View File

@@ -23,8 +23,8 @@
- Clickable
mask:
- Impassable
- SmallImpassable
restitution: 0.3 # We want them items B O U N C Y # No we don't
- VaultImpassable
restitution: 0.3 # fite me
friction: 0.2
- type: Sprite
drawdepth: Items

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

After

Width:  |  Height:  |  Size: 94 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 257 B

After

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 320 B

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 B

After

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 617 B

View File

@@ -1,59 +1,32 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/f777c8ddf7a529b002df17909566d5d93b8ad201",
"size": {
"x": 32,
"y": 32,
"license":"CC-BY-SA-3.0",
"copyright":"Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/f777c8ddf7a529b002df17909566d5d93b8ad201",
"y": 32
},
"states": [
{
"name": "book-0",
"delays": [
[
1.0
]
]
"name": "base"
},
{
"name": "book-1",
"delays": [
[
1.0
]
]
"name": "book-0"
},
{
"name": "book-2",
"delays": [
[
1.0
]
]
"name": "book-1"
},
{
"name": "book-3",
"delays": [
[
1.0
]
]
"name": "book-2"
},
{
"name": "book-4",
"delays": [
[
1.0
]
]
"name": "book-3"
},
{
"name": "book-5",
"delays": [
[
1.0
]
]
"name": "book-4"
},
{
"name": "book-5"
}
]
}

View File

@@ -1,5 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/commit/59fe5dd2841f47a8abce60eecb9fafad34282bd0",
"size": {
"x": 32,
"y": 32
@@ -7,425 +9,101 @@
"states": [
{
"name": "armchair_preview",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "bar_chair",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "bar_chair_over",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "bar_stool",
"delays": [
[
1
]
]
"name": "bar_stool"
},
{
"name": "bed",
"delays": [
[
1
]
]
"name": "bed"
},
{
"name": "chair",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "chair_armrest",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "chair_padding",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "chair_padding_over",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "chair_preview",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "comfychair_preview",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "officechair_dark",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "officechair_white",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "onestar_chair_grey",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"name": "psychbed"
},
{
"name": "onestar_chair_red",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
},
{
"name": "psychbed",
"delays": [
[
1
]
]
},
{
"name": "psychbed_padding",
"delays": [
[
1
]
]
"name": "psychbed_padding"
},
{
"name": "shuttle_chair",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "stool_base",
"delays": [
[
1
]
]
"name": "stool_base"
},
{
"name": "stool_padded_preview",
"delays": [
[
1
]
]
"name": "stool_padded_preview"
},
{
"name": "stool_padding",
"delays": [
[
1
]
]
"name": "stool_padding"
},
{
"name": "stool_preview",
"delays": [
[
1
]
]
"name": "stool_preview"
},
{
"name": "w_overlay",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "wheelchair",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "wheelchair_folded",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "wooden_chair",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "wooden_chair_wings",
"directions": 4,
"delays": [
[
1
],
[
1
],
[
1
],
[
1
]
]
"directions": 4
},
{
"name": "shelf",
"delays": [
[
1
]
]
"name": "shelf"
},
{
"name": "rack",
"delays": [
[
1
]
]
"name": "rack"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 591 B