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;
|
return null;
|
||||||
|
|
||||||
// check if sensor is enabled and worn by user
|
// 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;
|
return null;
|
||||||
|
|
||||||
// try to get mobs id from ID slot
|
// 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
|
canBuildInImpassable: false
|
||||||
conditions:
|
conditions:
|
||||||
- !type:TileNotBlocked
|
- !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