Mannequin (#29004)
* Mannequin * rsi license fix * damage container fix * container fix hope this works * layers fix + appearance comp (mb it help?) * maybe fixed? * one day it will work... * can't even understand why test failing... (maybe fix?) * last try?
This commit is contained in:
@@ -308,7 +308,7 @@ public sealed class SuitSensorSystem : EntitySystem
|
||||
return null;
|
||||
|
||||
// check if sensor is enabled and worn by user
|
||||
if (sensor.Mode == SuitSensorMode.SensorOff || sensor.User == null || transform.GridUid == null)
|
||||
if (sensor.Mode == SuitSensorMode.SensorOff || sensor.User == null || !HasComp<MobStateComponent>(sensor.User) || transform.GridUid == null)
|
||||
return null;
|
||||
|
||||
// try to get mobs id from ID slot
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
- type: entity
|
||||
id: Mannequin
|
||||
parent: BaseStructureDynamic
|
||||
name: mannequin
|
||||
description: It can wear any clothing with style.
|
||||
components:
|
||||
- type: Appearance
|
||||
- type: Sprite
|
||||
sprite: Structures/Decoration/mannequin.rsi
|
||||
state: mannequin
|
||||
noRot: true
|
||||
layers:
|
||||
- map: [ "mannequin" ]
|
||||
sprite: Structures/Decoration/mannequin.rsi
|
||||
state: mannequin
|
||||
- map: [ "jumpsuit" ]
|
||||
- map: [ "outerClothing" ]
|
||||
- map: [ "eyes" ]
|
||||
- map: [ "neck" ]
|
||||
- map: [ "back" ]
|
||||
- map: [ "mask" ]
|
||||
- map: [ "head" ]
|
||||
- type: Rotatable
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.2
|
||||
density: 200
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MidImpassable
|
||||
- BulletImpassable
|
||||
- type: InteractionOutline
|
||||
- type: Construction
|
||||
graph: Mannequin
|
||||
node: mannequin
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 200
|
||||
behaviors:
|
||||
- !type:PlaySoundBehavior
|
||||
sound:
|
||||
collection: WoodDestroy
|
||||
- !type:EmptyAllContainersBehaviour
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
jumpsuit: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
outerClothing: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
neck: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
mask: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
eyes: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
head: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
suitstorage: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
back: !type:ContainerSlot
|
||||
showEnts: False
|
||||
occludes: False
|
||||
ent: null
|
||||
- type: Inventory
|
||||
templateId: mannequin
|
||||
- type: InventorySlots
|
||||
- type: Strippable
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
enum.StrippingUiKey.Key:
|
||||
type: StrippableBoundUserInterface
|
||||
@@ -0,0 +1,64 @@
|
||||
- type: inventoryTemplate
|
||||
id: mannequin
|
||||
slots:
|
||||
- name: jumpsuit
|
||||
slotTexture: uniform
|
||||
slotFlags: INNERCLOTHING
|
||||
stripTime: 3
|
||||
uiWindowPos: 0,1
|
||||
strippingWindowPos: 1,2
|
||||
displayName: Jumpsuit
|
||||
- name: outerClothing
|
||||
slotTexture: suit
|
||||
slotFlags: OUTERCLOTHING
|
||||
stripTime: 3
|
||||
uiWindowPos: 1,1
|
||||
strippingWindowPos: 2,2
|
||||
displayName: Suit
|
||||
- name: neck
|
||||
slotTexture: neck
|
||||
slotFlags: NECK
|
||||
stripTime: 3
|
||||
uiWindowPos: 0,2
|
||||
strippingWindowPos: 0,1
|
||||
displayName: Neck
|
||||
- name: mask
|
||||
stripTime: 3
|
||||
slotTexture: mask
|
||||
slotFlags: MASK
|
||||
uiWindowPos: 1,2
|
||||
strippingWindowPos: 1,1
|
||||
displayName: Mask
|
||||
- name: eyes
|
||||
slotTexture: glasses
|
||||
slotFlags: EYES
|
||||
stripTime: 3
|
||||
uiWindowPos: 0,3
|
||||
strippingWindowPos: 0,0
|
||||
displayName: Eyes
|
||||
- name: head
|
||||
slotTexture: head
|
||||
slotFlags: HEAD
|
||||
stripTime: 3
|
||||
uiWindowPos: 1,3
|
||||
strippingWindowPos: 1,0
|
||||
displayName: Head
|
||||
- name: suitstorage
|
||||
slotTexture: suit_storage
|
||||
slotFlags: SUITSTORAGE
|
||||
slotGroup: MainHotbar
|
||||
stripTime: 3
|
||||
uiWindowPos: 2,0
|
||||
strippingWindowPos: 1,3
|
||||
dependsOn: outerClothing
|
||||
dependsOnComponents:
|
||||
- type: AllowSuitStorage
|
||||
displayName: Suit Storage
|
||||
- name: back
|
||||
slotTexture: back
|
||||
fullTextureName: template_small
|
||||
slotFlags: BACK
|
||||
stripTime: 3
|
||||
uiWindowPos: 3,0
|
||||
strippingWindowPos: 0,2
|
||||
displayName: Back
|
||||
@@ -0,0 +1,31 @@
|
||||
- type: constructionGraph
|
||||
id: Mannequin
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
actions:
|
||||
- !type:DestroyEntity {}
|
||||
edges:
|
||||
- to: mannequin
|
||||
completed:
|
||||
- !type:SnapToGrid { }
|
||||
steps:
|
||||
- material: WoodPlank
|
||||
amount: 5
|
||||
- material: MetalRod
|
||||
amount: 2
|
||||
doAfter: 2
|
||||
- node: mannequin
|
||||
entity: Mannequin
|
||||
edges:
|
||||
- to: start
|
||||
completed:
|
||||
- !type:SpawnPrototype
|
||||
prototype: MaterialWoodPlank
|
||||
amount: 5
|
||||
- !type:SpawnPrototype
|
||||
prototype: PartRodMetal
|
||||
amount: 2
|
||||
steps:
|
||||
- tool: Screwing
|
||||
doAfter: 3
|
||||
@@ -902,3 +902,21 @@
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
|
||||
- type: construction
|
||||
id: Mannequin
|
||||
name: mannequin
|
||||
description: Wooden mannequin designed for clothing displaying
|
||||
graph: Mannequin
|
||||
startNode: start
|
||||
targetNode: mannequin
|
||||
category: construction-category-furniture
|
||||
icon:
|
||||
sprite: Structures/Decoration/mannequin.rsi
|
||||
state: mannequin
|
||||
objectType: Structure
|
||||
placementMode: SnapgridCenter
|
||||
canRotate: true
|
||||
canBuildInImpassable: false
|
||||
conditions:
|
||||
- !type:TileNotBlocked
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made By BombasterDS",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "mannequin",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user