From 96ccab0e16ccca4b8212a1708bfd8f6a5af3727b Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 25 May 2020 16:32:33 +0200 Subject: [PATCH] Move collision groups over to the new flags system. --- Content.Shared/Physics/CollisionGroup.cs | 2 +- .../Storage/StorageTanks/storage_tank.yml | 13 ++++++++++-- .../Entities/Buildings/Storage/closet.yml | 13 ++++++++++-- .../Entities/Buildings/Storage/crate_base.yml | 13 ++++++++++-- .../Entities/Buildings/airlock_base.yml | 10 +++++++-- .../Entities/Buildings/asteroid.yml | 2 +- .../Entities/Buildings/computers.yml | 10 ++++++--- .../Prototypes/Entities/Buildings/girder.yml | 2 +- .../Entities/Buildings/gravity_generator.yml | 6 +++++- .../Entities/Buildings/instruments.yml | 2 +- .../Prototypes/Entities/Buildings/lathe.yml | 12 +++++++++-- .../Entities/Buildings/low_wall.yml | 2 +- .../Entities/Buildings/medical_scanner.yml | 6 +++++- .../Prototypes/Entities/Buildings/mirror.yml | 2 +- .../Prototypes/Entities/Buildings/power.yml | 12 +++++------ .../Buildings/reagent_dispenser_base.yml | 6 +++++- .../Prototypes/Entities/Buildings/table.yml | 4 +++- .../Entities/Buildings/vending_machines.yml | 7 ++++++- .../Prototypes/Entities/Buildings/windows.yml | 6 +++++- .../Prototypes/Entities/Items/item_base.yml | 5 +++-- .../Prototypes/Entities/Items/powercells.yml | 16 +++++++------- .../Prototypes/Entities/Items/teleporters.yml | 2 +- Resources/Prototypes/Entities/Mobs/human.yml | 21 +++++++++++++------ .../Weapons/Projectiles/projectiles.yml | 8 +++++-- Resources/Prototypes/Entities/janitor.yml | 14 +++++++++---- Resources/Prototypes/Entities/kitchen.yml | 6 +++++- Resources/Prototypes/Entities/research.yml | 7 ++++++- 27 files changed, 153 insertions(+), 56 deletions(-) diff --git a/Content.Shared/Physics/CollisionGroup.cs b/Content.Shared/Physics/CollisionGroup.cs index 9c7b10f5c5..988f52517c 100644 --- a/Content.Shared/Physics/CollisionGroup.cs +++ b/Content.Shared/Physics/CollisionGroup.cs @@ -23,8 +23,8 @@ namespace Content.Shared.Physics MapGrid = MapGridHelpers.CollisionGroup, // Map grids, like shuttles. This is the actual grid itself, not the walls or other entities connected to the grid. - // 32 possible groups MobMask = Impassable | MobImpassable | VaultImpassable | SmallImpassable, + // 32 possible groups AllMask = -1, } } diff --git a/Resources/Prototypes/Entities/Buildings/Storage/StorageTanks/storage_tank.yml b/Resources/Prototypes/Entities/Buildings/Storage/StorageTanks/storage_tank.yml index f3fafa7d85..0ee9a7a0ec 100644 --- a/Resources/Prototypes/Entities/Buildings/Storage/StorageTanks/storage_tank.yml +++ b/Resources/Prototypes/Entities/Buildings/Storage/StorageTanks/storage_tank.yml @@ -10,8 +10,17 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5,-0.5,0.5,0.5" - mask: 30 - layer: 31 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable IsScrapingFloor: true - type: Physics mass: 15 diff --git a/Resources/Prototypes/Entities/Buildings/Storage/closet.yml b/Resources/Prototypes/Entities/Buildings/Storage/closet.yml index b802ea327f..52f4d0a703 100644 --- a/Resources/Prototypes/Entities/Buildings/Storage/closet.yml +++ b/Resources/Prototypes/Entities/Buildings/Storage/closet.yml @@ -22,8 +22,17 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5,-0.25,0.5,0.25" - mask: 30 - layer: 31 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable IsScrapingFloor: true - type: Physics mass: 25 diff --git a/Resources/Prototypes/Entities/Buildings/Storage/crate_base.yml b/Resources/Prototypes/Entities/Buildings/Storage/crate_base.yml index 3707dd2f69..900250027b 100644 --- a/Resources/Prototypes/Entities/Buildings/Storage/crate_base.yml +++ b/Resources/Prototypes/Entities/Buildings/Storage/crate_base.yml @@ -19,8 +19,17 @@ shapes: - !type:PhysShapeAabb bounds: "-0.4, -0.4, 0.4, 0.4" - layer: 31 - mask: 30 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable IsScrapingFloor: true - type: Physics mass: 25 diff --git a/Resources/Prototypes/Entities/Buildings/airlock_base.yml b/Resources/Prototypes/Entities/Buildings/airlock_base.yml index 52eaaa7565..1609b374ed 100644 --- a/Resources/Prototypes/Entities/Buildings/airlock_base.yml +++ b/Resources/Prototypes/Entities/Buildings/airlock_base.yml @@ -24,8 +24,14 @@ shapes: - !type:PhysShapeAabb bounds: "-0.49,-0.49,0.49,0.49" # don't want this colliding with walls or they won't close - mask: 4 - layer: 31 + mask: + - MobImpassable + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable - type: Airlock - type: Appearance visuals: diff --git a/Resources/Prototypes/Entities/Buildings/asteroid.yml b/Resources/Prototypes/Entities/Buildings/asteroid.yml index ed5d834d8a..4e44795dd3 100644 --- a/Resources/Prototypes/Entities/Buildings/asteroid.yml +++ b/Resources/Prototypes/Entities/Buildings/asteroid.yml @@ -14,7 +14,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 31 + layer: [MobMask] - type: Damageable - type: Destructible thresholdvalue: 100 diff --git a/Resources/Prototypes/Entities/Buildings/computers.yml b/Resources/Prototypes/Entities/Buildings/computers.yml index ae69da83b8..7542d1d0dd 100644 --- a/Resources/Prototypes/Entities/Buildings/computers.yml +++ b/Resources/Prototypes/Entities/Buildings/computers.yml @@ -13,7 +13,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5,-0.25,0.5,0.25" - layer: 15 + layer: + - Impassable + - MobImpassable + - VaultImpassable + - Opaque - type: Icon sprite: Buildings/computer.rsi state: computer @@ -165,7 +169,7 @@ - type: ComputerVisualizer2D key: id_key screen: id - + - type: entity id: computerBodyScanner parent: ComputerBase @@ -181,7 +185,7 @@ - type: ComputerVisualizer2D key: generic_key screen: generic - + - type: entity id: ComputerComms parent: ComputerBase diff --git a/Resources/Prototypes/Entities/Buildings/girder.yml b/Resources/Prototypes/Entities/Buildings/girder.yml index 4bbe7e2da9..cc0835dec6 100644 --- a/Resources/Prototypes/Entities/Buildings/girder.yml +++ b/Resources/Prototypes/Entities/Buildings/girder.yml @@ -12,7 +12,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 31 + layer: [MobMask, Opaque] - type: Damageable - type: Destructible thresholdvalue: 50 diff --git a/Resources/Prototypes/Entities/Buildings/gravity_generator.yml b/Resources/Prototypes/Entities/Buildings/gravity_generator.yml index 19fc4f3915..d168bfd61a 100644 --- a/Resources/Prototypes/Entities/Buildings/gravity_generator.yml +++ b/Resources/Prototypes/Entities/Buildings/gravity_generator.yml @@ -21,7 +21,11 @@ shapes: - !type:PhysShapeAabb bounds: "-1.5,-1.5,1.5,1.5" - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable - type: Clickable - type: InteractionOutline - type: Damageable diff --git a/Resources/Prototypes/Entities/Buildings/instruments.yml b/Resources/Prototypes/Entities/Buildings/instruments.yml index 671e6fc1df..9cff161db0 100644 --- a/Resources/Prototypes/Entities/Buildings/instruments.yml +++ b/Resources/Prototypes/Entities/Buildings/instruments.yml @@ -12,7 +12,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 31 + layer: [MobMask, Impassable] - type: SnapGrid offset: Center diff --git a/Resources/Prototypes/Entities/Buildings/lathe.yml b/Resources/Prototypes/Entities/Buildings/lathe.yml index e95f7e1ece..3b981380e8 100644 --- a/Resources/Prototypes/Entities/Buildings/lathe.yml +++ b/Resources/Prototypes/Entities/Buildings/lathe.yml @@ -35,7 +35,11 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable - type: SnapGrid offset: Center - type: Lathe @@ -80,7 +84,11 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable - type: SnapGrid offset: Center - type: ResearchClient diff --git a/Resources/Prototypes/Entities/Buildings/low_wall.yml b/Resources/Prototypes/Entities/Buildings/low_wall.yml index 570009dc01..92c96f5177 100644 --- a/Resources/Prototypes/Entities/Buildings/low_wall.yml +++ b/Resources/Prototypes/Entities/Buildings/low_wall.yml @@ -22,7 +22,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 20 + layer: [SmallImpassable, MobImpassable] - type: Damageable - type: Destructible thresholdvalue: 100 diff --git a/Resources/Prototypes/Entities/Buildings/medical_scanner.yml b/Resources/Prototypes/Entities/Buildings/medical_scanner.yml index 611fd803ed..5597407d29 100644 --- a/Resources/Prototypes/Entities/Buildings/medical_scanner.yml +++ b/Resources/Prototypes/Entities/Buildings/medical_scanner.yml @@ -22,7 +22,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5,0,0.5,1" - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable IsScrapingFloor: true - type: Physics mass: 25 diff --git a/Resources/Prototypes/Entities/Buildings/mirror.yml b/Resources/Prototypes/Entities/Buildings/mirror.yml index 893ef1d969..6747e0fc32 100644 --- a/Resources/Prototypes/Entities/Buildings/mirror.yml +++ b/Resources/Prototypes/Entities/Buildings/mirror.yml @@ -11,7 +11,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 32 + layer: [Clickable] - type: Clickable - type: InteractionOutline - type: Physics diff --git a/Resources/Prototypes/Entities/Buildings/power.yml b/Resources/Prototypes/Entities/Buildings/power.yml index a599ba1842..1945044048 100644 --- a/Resources/Prototypes/Entities/Buildings/power.yml +++ b/Resources/Prototypes/Entities/Buildings/power.yml @@ -53,7 +53,7 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5, -0.5, 0.3, 0.5" - layer: 31 + layer: [MobMask, Opaque] - type: Sprite texture: Objects/Power/generator.png - type: Icon @@ -74,7 +74,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 31 + layer: [MobMask, Opaque] - type: Sprite sprite: Buildings/solar_panel.rsi state: normal @@ -103,7 +103,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 32 + layer: Clickable - type: Sprite drawdepth: WallMountedItems texture: Objects/Power/provider.png @@ -165,7 +165,7 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5, -0.5, 0.5, 0.5" - layer: 31 + layer: [MobMask, Opaque] - type: Sprite netsync: false sprite: Buildings/smes.rsi @@ -209,7 +209,7 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5, -0.25, 0.5, 0.25" - layer: 31 + layer: [MobMask, Opaque] - type: Sprite texture: Objects/Power/wiredmachine.png - type: Icon @@ -234,7 +234,7 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5, -0.25, 0.5, 0.25" - layer: 31 + layer: [MobMask, Opaque] - type: Sprite texture: Objects/Furniture/wirelessmachine.png - type: Icon diff --git a/Resources/Prototypes/Entities/Buildings/reagent_dispenser_base.yml b/Resources/Prototypes/Entities/Buildings/reagent_dispenser_base.yml index 5cdf627462..b173e53d4c 100644 --- a/Resources/Prototypes/Entities/Buildings/reagent_dispenser_base.yml +++ b/Resources/Prototypes/Entities/Buildings/reagent_dispenser_base.yml @@ -8,7 +8,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.4,-0.25,0.4,0.25" - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable IsScrapingFloor: true - type: Physics mass: 25 diff --git a/Resources/Prototypes/Entities/Buildings/table.yml b/Resources/Prototypes/Entities/Buildings/table.yml index 51931cd5b9..d6a5eee98f 100644 --- a/Resources/Prototypes/Entities/Buildings/table.yml +++ b/Resources/Prototypes/Entities/Buildings/table.yml @@ -16,7 +16,9 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 20 + layer: + - SmallImpassable + - MobImpassable - type: SnapGrid offset: Center diff --git a/Resources/Prototypes/Entities/Buildings/vending_machines.yml b/Resources/Prototypes/Entities/Buildings/vending_machines.yml index c0a9c2af49..c32f92b4dd 100644 --- a/Resources/Prototypes/Entities/Buildings/vending_machines.yml +++ b/Resources/Prototypes/Entities/Buildings/vending_machines.yml @@ -21,7 +21,12 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5,-0.25,0.5,0.25" - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable - type: SnapGrid offset: Center - type: Damageable diff --git a/Resources/Prototypes/Entities/Buildings/windows.yml b/Resources/Prototypes/Entities/Buildings/windows.yml index 6958126308..7352c5ce97 100644 --- a/Resources/Prototypes/Entities/Buildings/windows.yml +++ b/Resources/Prototypes/Entities/Buildings/windows.yml @@ -21,7 +21,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.5, -0.5, 0.3, 0.5" - layer: 30 + layer: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable - type: Damageable - type: Destructible thresholdvalue: 100 diff --git a/Resources/Prototypes/Entities/Items/item_base.yml b/Resources/Prototypes/Entities/Items/item_base.yml index efc42621d6..6bed236950 100644 --- a/Resources/Prototypes/Entities/Items/item_base.yml +++ b/Resources/Prototypes/Entities/Items/item_base.yml @@ -11,8 +11,9 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 0 - layer: 32 + layer: + - Clickable + IsScrapingFloor: true - type: Physics mass: 5 diff --git a/Resources/Prototypes/Entities/Items/powercells.yml b/Resources/Prototypes/Entities/Items/powercells.yml index f6823d605b..20c0bf95fe 100644 --- a/Resources/Prototypes/Entities/Items/powercells.yml +++ b/Resources/Prototypes/Entities/Items/powercells.yml @@ -7,8 +7,8 @@ shapes: - !type:PhysShapeAabb bounds: "-0.15,-0.3,0.2,0.3" - mask: 0 - layer: 32 + layer: + - Clickable - type: PowerCell - type: Appearance - type: Sprite @@ -125,8 +125,8 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 2 - layer: 32 + mask: [Impassable] + layer: [Clickable] IsScrapingFloor: true - type: entity @@ -157,8 +157,8 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 2 - layer: 32 + mask: [Impassable] + layer: [Clickable] IsScrapingFloor: true - type: entity @@ -188,6 +188,6 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 2 - layer: 32 + mask: [Impassable] + layer: [Clickable] IsScrapingFloor: true diff --git a/Resources/Prototypes/Entities/Items/teleporters.yml b/Resources/Prototypes/Entities/Items/teleporters.yml index 54da0e9604..fe1feb1a91 100644 --- a/Resources/Prototypes/Entities/Items/teleporters.yml +++ b/Resources/Prototypes/Entities/Items/teleporters.yml @@ -53,7 +53,7 @@ - type: Collidable shapes: - !type:PhysShapeAabb - mask: 10 + mask: [Impassable, MobImpassable] - type: Portal - type: Sprite netsync: false diff --git a/Resources/Prototypes/Entities/Mobs/human.yml b/Resources/Prototypes/Entities/Mobs/human.yml index 45c3755f3e..46ec5304f9 100644 --- a/Resources/Prototypes/Entities/Mobs/human.yml +++ b/Resources/Prototypes/Entities/Mobs/human.yml @@ -103,8 +103,13 @@ shapes: - !type:PhysShapeAabb bounds: "-0.35,-0.35,0.35,0.35" - mask: 30 - layer: 4 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - MobImpassable - type: Input context: "human" - type: Species @@ -113,7 +118,7 @@ - type: BodyManager BaseTemplate: bodyTemplate.Humanoid BasePreset: bodyPreset.BasicHuman - + - type: StatusEffectsUI - type: OverlayEffectsUI - type: HeatResistance @@ -228,8 +233,13 @@ shapes: - !type:PhysShapeAabb bounds: "-0.35,-0.35,0.35,0.35" - mask: 30 - layer: 4 + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable + layer: + - MobImpassable - type: Species Template: Human @@ -241,4 +251,3 @@ - type: SpeciesVisualizer2D - type: HumanoidAppearance - \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Weapons/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Weapons/Projectiles/projectiles.yml index 04ef03b990..1b47bddb29 100644 --- a/Resources/Prototypes/Entities/Weapons/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Weapons/Projectiles/projectiles.yml @@ -17,8 +17,12 @@ shapes: - !type:PhysShapeAabb bounds: "-0.2,-0.2,0.2,0.2" - layer: 32 - mask: 30 + layer: [Clickable] + mask: + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable - type: Physics edgeslide: false - type: Projectile diff --git a/Resources/Prototypes/Entities/janitor.yml b/Resources/Prototypes/Entities/janitor.yml index a6e776a507..63af76b6e0 100644 --- a/Resources/Prototypes/Entities/janitor.yml +++ b/Resources/Prototypes/Entities/janitor.yml @@ -44,8 +44,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 3 - layer: 1 + mask: + - Impassable + - Opaque + layer: + - Opaque IsScrapingFloor: true - type: Physics mass: 5 @@ -72,8 +75,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.25,0.25,0.25" - mask: 3 - layer: 1 + mask: + - Impassable + - Opaque + layer: + - Opaque IsScrapingFloor: true - type: Physics mass: 5 diff --git a/Resources/Prototypes/Entities/kitchen.yml b/Resources/Prototypes/Entities/kitchen.yml index 27ba6c723d..e615972cde 100644 --- a/Resources/Prototypes/Entities/kitchen.yml +++ b/Resources/Prototypes/Entities/kitchen.yml @@ -25,7 +25,11 @@ shapes: - !type:PhysShapeAabb bounds: "-0.25,-0.4,0.25,0.4" - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable IsScrapingFloor: true - type: Sprite netsync: false diff --git a/Resources/Prototypes/Entities/research.yml b/Resources/Prototypes/Entities/research.yml index 31df64b4d8..8cbb1575a8 100644 --- a/Resources/Prototypes/Entities/research.yml +++ b/Resources/Prototypes/Entities/research.yml @@ -40,7 +40,12 @@ - type: Collidable shapes: - !type:PhysShapeAabb - layer: 15 + layer: + - Opaque + - Impassable + - MobImpassable + - VaultImpassable + - SmallImpassable - type: SnapGrid offset: Center - type: ResearchPointSource