Allows objects to be pulled round corners (#7541)

* allow corner pulling for BaseStructureDynamic's children

* corner pulling pass over all Pullable component prototypes
This commit is contained in:
Profane McBane
2022-04-14 03:28:32 +01:00
committed by GitHub
parent 2a128ca006
commit 061bd8bb21
32 changed files with 90 additions and 9 deletions

View File

@@ -20,6 +20,8 @@
mass: 150 mass: 150
layer: layer:
- SmallImpassable - SmallImpassable
mask:
- VaultImpassable
- type: Nuke - type: Nuke
# ~50 tile radius in open space # ~50 tile radius in open space
# close to defaulkt max cap. # close to defaulkt max cap.
@@ -65,6 +67,8 @@
mass: 150 mass: 150
layer: layer:
- SmallImpassable - SmallImpassable
mask:
- VaultImpassable
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
tank: tank:

View File

@@ -51,6 +51,9 @@
- Wringer - Wringer
- type: Physics - type: Physics
bodyType: Dynamic bodyType: Dynamic
fixedRotation: false
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -27,6 +27,9 @@
- type: MovedByPressure - type: MovedByPressure
- type: Physics - type: Physics
bodyType: Dynamic bodyType: Dynamic
fixedRotation: false
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -11,6 +11,8 @@
state: ano01 state: ano01
- type: Physics - type: Physics
bodyType: Dynamic bodyType: Dynamic
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -9,6 +9,8 @@
sprite: Structures/Decoration/banner.rsi sprite: Structures/Decoration/banner.rsi
state: banner state: banner
netsync: false netsync: false
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -6,10 +6,12 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Clickable - type: Clickable
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -10,11 +10,12 @@
sprite: Structures/Doors/Airlocks/Standard/basic.rsi sprite: Structures/Doors/Airlocks/Standard/basic.rsi
state: "assembly" state: "assembly"
- type: Physics - type: Physics
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" bounds: "-0.45,-0.45,0.45,0.45"
mass: 100 mass: 100
mask: mask:
- MobMask - MobMask
@@ -26,6 +27,7 @@
- type: Pullable - type: Pullable
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
damageModifierSet: Metallic damageModifierSet: Metallic

View File

@@ -28,9 +28,11 @@
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" bounds: "-0.45,-0.45,0.45,0.45"
mass: 50 mass: 50
layer: layer:
- SmallImpassable - SmallImpassable
mask: mask:
- VaultImpassable - VaultImpassable
- type: Transform
noRot: true

View File

@@ -177,7 +177,11 @@
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" bounds: "-0.45,-0.45,0.45,0.45"
mass: 50 mass: 50
layer: layer:
- Opaque - Opaque
mask:
- VaultImpassable
- type: Transform
noRot: true

View File

@@ -47,6 +47,7 @@
max: 2 max: 2
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Anchorable - type: Anchorable
- type: Pullable - type: Pullable

View File

@@ -42,6 +42,7 @@
- Wooden - Wooden
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
- type: Anchorable - type: Anchorable

View File

@@ -29,6 +29,16 @@
interfaces: interfaces:
- key: enum.InstrumentUiKey.Key - key: enum.InstrumentUiKey.Key
type: InstrumentBoundUserInterface type: InstrumentBoundUserInterface
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeCircle
radius: 0.45
mass: 50
layer:
- SmallImpassable
mask:
- VaultImpassable
- type: entity - type: entity
parent: BasePlaceableInstrument parent: BasePlaceableInstrument

View File

@@ -6,6 +6,7 @@
components: components:
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -8,6 +8,8 @@
delay: 2 delay: 2
- type: Physics - type: Physics
bodyType: Static bodyType: Static
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -8,8 +8,10 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -59,8 +61,10 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -116,9 +120,12 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Construction - type: Construction
graph: Machine graph: Machine
node: destroyedMachineFrame node: destroyedMachineFrame
- type: Physics
fixedRotation: false
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
damageModifierSet: Metallic damageModifierSet: Metallic

View File

@@ -16,11 +16,13 @@
netsync: false netsync: false
- type: Physics - type: Physics
bodyType: Static bodyType: Static
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.25,-0.5,0.25,0.5" bounds: "-0.25,-0.45,0.25,0.45"
mask: mask:
- Impassable - Impassable
- VaultImpassable - VaultImpassable

View File

@@ -7,8 +7,10 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -9,11 +9,12 @@
- type: Rotatable - type: Rotatable
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49" bounds: "-0.45,-0.45,0.45,0.45"
mass: 25 mass: 25
mask: mask:
- Opaque - Opaque

View File

@@ -9,11 +9,12 @@
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.5" bounds: "-0.45,-0.45,0.45,0.45"
mass: 25 mass: 25
layer: layer:
- Impassable - Impassable
@@ -26,6 +27,7 @@
- VaultImpassable - VaultImpassable
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Sprite - type: Sprite
sprite: Structures/Power/Generation/Singularity/collector.rsi sprite: Structures/Power/Generation/Singularity/collector.rsi
netsync: false netsync: false

View File

@@ -9,6 +9,7 @@
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -14,6 +14,7 @@
- type: Clickable - type: Clickable
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -28,5 +29,6 @@
- MobMask - MobMask
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Anchorable - type: Anchorable
- type: Pullable - type: Pullable

View File

@@ -11,6 +11,7 @@
sprite: Structures/Power/Generation/ame.rsi sprite: Structures/Power/Generation/ame.rsi
state: control state: control
- type: Physics - type: Physics
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -43,6 +44,7 @@
acts: ["Destruction"] acts: ["Destruction"]
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Anchorable - type: Anchorable
- type: Pullable - type: Pullable
- type: AMEController - type: AMEController

View File

@@ -16,6 +16,7 @@
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -34,6 +35,7 @@
- SmallImpassable - SmallImpassable
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Sprite - type: Sprite
sprite: Structures/Power/power.rsi sprite: Structures/Power/power.rsi
state: generator state: generator

View File

@@ -11,6 +11,7 @@
anchored: true anchored: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -111,6 +112,7 @@
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -126,6 +128,7 @@
state: solar_assembly state: solar_assembly
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
damageModifierSet: Metallic damageModifierSet: Metallic
@@ -153,6 +156,7 @@
- type: InteractionOutline - type: InteractionOutline
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -174,6 +178,7 @@
netsync: false netsync: false
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
damageModifierSet: Metallic damageModifierSet: Metallic

View File

@@ -6,6 +6,8 @@
description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench. description: A canister that can contain any type of gas. It can be attached to connector ports using a wrench.
components: components:
- type: InteractionOutline - type: InteractionOutline
- type: Transform
noRot: true
- type: Sprite - type: Sprite
netsync: false netsync: false
sprite: Structures/Storage/canister.rsi sprite: Structures/Storage/canister.rsi

View File

@@ -54,3 +54,5 @@
- type: DrainableSolution - type: DrainableSolution
solution: tank solution: tank
- type: ReagentTank - type: ReagentTank
- type: Transform
noRot: true

View File

@@ -6,12 +6,14 @@
components: components:
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Physics - type: Physics
bodyType: Static bodyType: Static
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb {} !type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.45"
mass: 50 mass: 50
layer: layer:
- Impassable - Impassable

View File

@@ -9,6 +9,7 @@
- type: Clickable - type: Clickable
- type: Physics - type: Physics
bodyType: Static bodyType: Static
fixedRotation: false
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:

View File

@@ -9,6 +9,7 @@
bodyType: Static bodyType: Static
- type: Transform - type: Transform
anchored: true anchored: true
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
@@ -17,6 +18,8 @@
mass: 25 mass: 25
layer: layer:
- Passable - Passable
mask:
- VaultImpassable
- type: Sprite - type: Sprite
netsync: false netsync: false
sprite: Structures/cargo_telepad.rsi sprite: Structures/cargo_telepad.rsi

View File

@@ -5,10 +5,14 @@
description: An interstellar-grade space farmplot allowing for rapid growth and selective breeding of crops. Just... keep in mind the space weeds. description: An interstellar-grade space farmplot allowing for rapid growth and selective breeding of crops. Just... keep in mind the space weeds.
components: components:
- type: Physics - type: Physics
fixedRotation: false
- type: Transform
noRot: true
- type: Fixtures - type: Fixtures
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb {} !type:PhysShapeAabb
bounds: "-0.45,-0.45,0.45,0.1"
mass: 25 mass: 25
hard: true hard: true
mask: mask:

View File

@@ -29,6 +29,8 @@
SheetSteel1: SheetSteel1:
min: 1 min: 1
max: 1 max: 1
- type: Transform
noRot: true
- type: KitchenSpike - type: KitchenSpike
- type: Anchorable - type: Anchorable
- type: Pullable - type: Pullable

View File

@@ -12,7 +12,7 @@
fixtures: fixtures:
- shape: - shape:
!type:PhysShapeAabb !type:PhysShapeAabb
bounds: "-0.5,-0.5,0.5,0.1" bounds: "-0.45,-0.45,0.45,0.1"
mass: 25 mass: 25
hard: false hard: false
mask: mask: