Doors update (#455)

* sprites

* mirrored + windowed wooden doors

* cooking table sprite

* craftable doors
This commit is contained in:
Ed
2024-09-24 21:19:52 +03:00
committed by GitHub
parent 07637bd691
commit 75bc6d4eac
22 changed files with 463 additions and 171 deletions

View File

@@ -0,0 +1,53 @@
- type: entity
parent: BaseStructure
id: CP14BaseDoorFrame
abstract: true
components:
- type: InteractionOutline
- type: Physics
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.49,-0.49,0.49,0.49"
density: 100
mask:
- FullTileMask
layer:
- AirlockLayer
- type: entity
parent: CP14BaseDoorFrame
id: CP14WoodenDoorFrame
name: wooden door frame
description: An unfinished wooden door
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_frame.rsi
drawdepth: Mobs
state: closed
- type: Damageable
damageContainer: Inorganic
damageModifierSet: CP14WoodStructural
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoorFrame
- type: entity
parent: CP14WoodenDoorFrame
id: CP14WoodenDoorFrameMirrored
components:
- type: Sprite
state: closed_mirrored
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoorFrameMirrored

View File

@@ -1,11 +1,11 @@
- type: entity
id: CP14WoodenDoor
parent:
- CP14BaseDoor
- CP14BaseFlammableSpreading
id: CP14WoodenDoor
name: wooden door
description: Not the most solid construction, but it's better than nothing.
suffix: Without lock
suffix: Opened
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_door.rsi
@@ -30,35 +30,24 @@
acts: ["Destruction"]
- type: Lock
locked: false
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoor
- type: entity
id: CP14WoodenDoorMirrored
parent: CP14WoodenDoor
suffix: Opened, Mirrored
components:
- type: Door
openSpriteState: open_mirrored
closedSpriteState: closed_mirrored
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoorMirrored
# Tavern
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernHall
suffix: Tavern Hall
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernHall
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernHall
id: CP14WoodenDoorTavernHallLocked
suffix: Tavern Hall, Locked
components:
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernStaff
@@ -75,20 +64,21 @@
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernStaff
id: CP14WoodenDoorTavernStaffLocked
suffix: Tavern Staff, Locked
components:
- type: Lock
locked: true
- type: entity
parent:
- CP14WoodenDoorTavernStaff
- CP14WoodenDoorMirrored
id: CP14WoodenDoorTavernStaffMirrored
suffix: Tavern Staff, Mirrored
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernDorms1
suffix: Tavern Dorms 1
id: CP14WoodenDoorTavernDorms
suffix: Tavern Dorms
components:
- type: ItemSlots
slots:
@@ -101,118 +91,15 @@
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernDorms1
id: CP14WoodenDoorTavernDorms1Locked
suffix: Tavern Dorms 1, Locked
components:
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernDorms2
suffix: Tavern Dorms 2
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms2
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernDorms2
id: CP14WoodenDoorTavernDorms2Locked
suffix: Tavern Dorms 2, Locked
components:
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernDorms3
suffix: Tavern Dorms 3
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms3
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernDorms3
id: CP14WoodenDoorTavernDorms3Locked
suffix: Tavern Dorms 3, Locked
components:
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernDorms4
suffix: Tavern Dorms 4
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms4
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernDorms4
id: CP14WoodenDoorTavernDorms4Locked
suffix: Tavern Dorms 4, Locked
components:
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorTavernDorms5
suffix: Tavern Dorms 5
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernDorms5
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: entity
parent: CP14WoodenDoorTavernDorms5
id: CP14WoodenDoorTavernDorms5Locked
suffix: Tavern Dorms 5, Locked
components:
- type: Lock
locked: true
parent:
- CP14WoodenDoorTavernDorms
- CP14WoodenDoorMirrored
id: CP14WoodenDoorTavernDormsMirrored
suffix: Tavern Dorms, Mirrored
# Alchemy
@@ -232,11 +119,12 @@
whitelist:
components:
- CPLock
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoorTavernAlchemy
id: CP14WoodenDoorTavernAlchemyLocked
suffix: Alchemy, Locked
components:
- type: Lock
locked: true
parent:
- CP14WoodenDoorTavernAlchemy
- CP14WoodenDoorMirrored
id: CP14WoodenDoorTavernAlchemyMirrored
suffix: Alchemy, Mirrored

View File

@@ -0,0 +1,78 @@
- type: entity
id: CP14WoodenDoorWindowed
parent:
- CP14BaseDoor
- CP14BaseFlammableSpreading
name: wooden windowed door
description: Not the most solid construction, but it's better than nothing.
suffix: Opened
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Occluder
enabled: false
- type: Door
occludes: false
openSound:
path: /Audio/Effects/door_open.ogg
closeSound:
path: /Audio/Effects/door_close.ogg
- type: Damageable
damageContainer: Inorganic
damageModifierSet: CP14WoodStructural
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 250
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Lock
locked: false
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoorWindowed
- type: entity
id: CP14WoodenDoorWindowedMirrored
parent: CP14WoodenDoorWindowed
suffix: Opened, Mirrored
components:
- type: Door
openSpriteState: open_mirrored
closedSpriteState: closed_mirrored
- type: Construction
graph: CP14WoodenDoor
node: CP14WoodenDoorWindowedMirrored
# Tavern
- type: entity
parent: CP14WoodenDoorWindowed
id: CP14WoodenDoorWindowedTavernHall
suffix: Tavern Hall
components:
- type: ItemSlots
slots:
lock_slot:
name: cp-lock-slot-component-slot-name-default
startingItem: CP14LockTavernHall
disableEject: true
insertOnInteract: false
ejectOnBreak: true
whitelist:
components:
- CPLock
- type: Lock
locked: true
- type: entity
parent:
- CP14WoodenDoorWindowedTavernHall
- CP14WoodenDoorWindowedMirrored
id: CP14WoodenDoorTavernHallMirrored
suffix: Tavern Hall, Mirrored

View File

@@ -112,11 +112,16 @@
- CP14WorkbenchMeltingMolds
- CP14BaseFlammable
name: cooking table
description: Lets cook
description: A table to work with food. Time to cook!
components:
- type: Sprite
snapCardinals: true
state: cooking_table
- type: Icon
state: cooking_table
- type: CP14Workbench
craftSound:
collection: CP14Sawing
collection: CP14Sawing #TODO
recipes:
- CP14FoodDoughLarge
- CP14FoodDoughMediumFlat
@@ -132,11 +137,11 @@
- CP14WorkbenchMeltingMolds
- CP14BaseFlammable
name: sewing table
description: Lets cook
description: A table with embroidery tools to create different clothing and materials.
components:
- type: CP14Workbench
craftSound:
collection: CP14Sawing
collection: CP14Sawing #TODO
recipes:
- CP14ClothingShirtCottonBlue
- CP14ClothingShirtCottonBlack

View File

@@ -0,0 +1,121 @@
- type: constructionGraph
id: CP14WoodenDoor
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CP14WoodenDoorFrame
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenDoorFrame
entity: CP14WoodenDoorFrame
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Screwing #TODO - new tool
doAfter: 1
- to: CP14WoodenDoorFrameMirrored
steps:
- tool: CP14Hammering
doAfter: 1
- to: CP14WoodenDoor
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- to: CP14WoodenDoorWindowed
steps:
- material: CP14Nail
amount: 1
doAfter: 1
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenDoorFrameMirrored
entity: CP14WoodenDoorFrameMirrored
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Screwing #TODO - new tool
doAfter: 1
- to: CP14WoodenDoorFrame
steps:
- tool: CP14Hammering
doAfter: 1
- to: CP14WoodenDoorMirrored
steps:
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- to: CP14WoodenDoorWindowedMirrored
steps:
- material: CP14Nail
amount: 1
doAfter: 1
- material: CP14WoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenDoor
entity: CP14WoodenDoor
edges:
- to: CP14WoodenDoorFrame
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
steps:
- tool: Screwing #TODO - new tool
doAfter: 1
- node: CP14WoodenDoorMirrored
entity: CP14WoodenDoorMirrored
edges:
- to: CP14WoodenDoorFrameMirrored
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
steps:
- tool: Screwing #TODO - new tool
doAfter: 1
- node: CP14WoodenDoorWindowed
entity: CP14WoodenDoorWindowed
edges:
- to: CP14WoodenDoorFrame
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
steps:
- tool: Screwing #TODO - new tool
doAfter: 1
- node: CP14WoodenDoorWindowedMirrored
entity: CP14WoodenDoorWindowedMirrored
edges:
- to: CP14WoodenDoorFrameMirrored
completed:
- !type:SpawnPrototype
prototype: CP14WoodenPlanks1
amount: 2
steps:
- tool: Screwing #TODO - new tool
doAfter: 1

View File

@@ -126,3 +126,79 @@
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenDoor
name: wooden door
description: Not the most solid construction, but it's better than nothing.
graph: CP14WoodenDoor
startNode: start
targetNode: CP14WoodenDoor
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Doors/wooden_door.rsi
state: closed
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenDoorMirrored
name: wooden door (mirrored)
description: Not the most solid construction, but it's better than nothing.
graph: CP14WoodenDoor
startNode: start
targetNode: CP14WoodenDoorMirrored
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Doors/wooden_door.rsi
state: closed_mirrored
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenDoorWindowed
name: wooden windowed door
description: Not the most solid construction, but it's better than nothing.
graph: CP14WoodenDoor
startNode: start
targetNode: CP14WoodenDoorWindowed
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi
state: closed
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenDoorWindowedMirrored
name: wooden windowed door
description: Not the most solid construction, but it's better than nothing.
graph: CP14WoodenDoor
startNode: start
targetNode: CP14WoodenDoorWindowedMirrored
category: construction-category-furniture
icon:
sprite: _CP14/Structures/Doors/wooden_windowed_door.rsi
state: closed_mirrored
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CLA",
"copyright": "By jaraten(discord)",
"copyright": "By jaraten(discord), mirrored by TheShuEd",
"size": {
"x": 64,
"y": 96
@@ -14,6 +14,14 @@
{
"name": "open",
"directions": 4
},
{
"name": "open_mirrored",
"directions": 4
},
{
"name": "closed_mirrored",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,19 @@
{
"version": 1,
"license": "CLA",
"copyright": "By TheShuEd",
"size": {
"x": 64,
"y": 96
},
"states": [
{
"name": "closed",
"directions": 4
},
{
"name": "closed_mirrored",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,27 @@
{
"version": 1,
"license": "CLA",
"copyright": "By jaraten(discord), add windows and mirrored by TheShuEd",
"size": {
"x": 64,
"y": 96
},
"states": [
{
"name": "closed",
"directions": 4
},
{
"name": "open",
"directions": 4
},
{
"name": "open_mirrored",
"directions": 4
},
{
"name": "closed_mirrored",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CLA",
"copyright": "Created by jaraten(discord) for CrystallPunk14, modified by vladimir.s",
"copyright": "Created by jaraten(discord) for CrystallPunk14, modified by vladimir.s. Cooking table by Max Gab",
"size": {
"x": 48,
"y": 48
@@ -12,6 +12,9 @@
},
{
"name": "melting_crafter"
},
{
"name": "cooking_table"
}
]
}

View File

@@ -38,7 +38,7 @@ CP14Nail110: CP14Nail10
CP14AlchemyFurnaceDebug: CP14AlchemyFurnace
#2024-09-22
CP14WoodDoorTavern: CP14WoodenDoorTavernHallLocked
CP14WoodDoorTavern: CP14WoodenDoorWindowedTavernHall
CP14LockTavern: CP14LockTavernHall
CP14KeyTavern: CP14KeyTavernHall
@@ -48,25 +48,39 @@ CP14WallmountWeb: null
CP14WallmountWoodenBoards: null
CP14BaseWoodDoor: CP14WoodenDoor
CP14WoodDoorOpened: CP14WoodenDoor
CP14WoodDoorTavernHall: CP14WoodenDoorTavernHallLocked
CP14WoodDoorTavernHallOpened: CP14WoodenDoorTavernHall
CP14WoodDoorTavernStaff: CP14WoodenDoorTavernStaffLocked
CP14WoodDoorTavernHall: CP14WoodenDoorWindowedTavernHall
CP14WoodDoorTavernHallOpened: CP14WoodenDoorWindowedTavernHall
CP14WoodDoorTavernStaff: CP14WoodenDoorTavernStaff
CP14WoodDoorTavernStaffOpened: CP14WoodenDoorTavernStaff
CP14WoodDoorTavernDorms1: CP14WoodenDoorTavernDorms1Locked
CP14WoodDoorTavernDorms2: CP14WoodenDoorTavernDorms2Locked
CP14WoodDoorTavernDorms3: CP14WoodenDoorTavernDorms3Locked
CP14WoodDoorTavernDorms4: CP14WoodenDoorTavernDorms4Locked
CP14WoodDoorTavernDorms5: CP14WoodenDoorTavernDorms5Locked
CP14WoodDoorTavernDorms1Opened: CP14WoodenDoorTavernDorms1
CP14WoodDoorTavernDorms2Opened: CP14WoodenDoorTavernDorms2
CP14WoodDoorTavernDorms3Opened: CP14WoodenDoorTavernDorms3
CP14WoodDoorTavernDorms4Opened: CP14WoodenDoorTavernDorms4
CP14WoodDoorTavernDorms5Opened: CP14WoodenDoorTavernDorms5
CP14WoodDoorTavernAlchemy: CP14WoodenDoorTavernAlchemyLocked
CP14WoodDoorTavernDorms1: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms2: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms3: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms4: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms5: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms1Opened: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms2Opened: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms3Opened: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms4Opened: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernDorms5Opened: CP14WoodenDoorTavernDorms
CP14WoodDoorTavernAlchemy: CP14WoodenDoorTavernAlchemy
CP14WoodDoorTavernAlchemy5Opened: CP14WoodenDoorTavernAlchemy
CP14WoodenDoorOpened: CP14WoodenDoor
CP14CuttingBoard: null
CP14WoodenDoorTavernHallLocked: CP14WoodenDoorWindowedTavernHall
CP14WoodenDoorTavernStaffLocked: CP14WoodenDoorTavernStaff
CP14WoodenDoorTavernDorms1Locked: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms2Locked: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms3Locked: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms4Locked: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms5Locked: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms2: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms3: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms4: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernDorms5: CP14WoodenDoorTavernDorms
CP14WoodenDoorTavernAlchemyLocked: CP14WoodenDoorTavernAlchemy
# <---> CrystallPunk migration zone end