Reprise of doors, vials, and labeler (#1495)

* birch door

* hand labeler

* vial

* fix door

* vials

* frame
This commit is contained in:
Nim
2025-07-04 17:35:59 +03:00
committed by GitHub
parent 50862d7045
commit cb01a6b66c
105 changed files with 761 additions and 22 deletions

View File

@@ -5,6 +5,7 @@
components:
- type: StorageFill
contents:
- id: CP14HandLabeler
- id: CP14Lighter
- id: CP14ManaOperationGlove
- id: CP14Syringe
@@ -24,6 +25,10 @@
amount: 1
- id: CP14VialSmall
amount: 3
- id: CP14VialSkullReinforced
prob: 0.3
- id: CP14VialSkull
prob: 0.5
- id: CP14PaperFolderBlue
- id: CP14PenFeather
amount: 1
@@ -43,7 +48,7 @@
components:
- type: StorageFill
contents:
- id: HandLabeler #TODO custom cp14 labeler
- id: CP14HandLabeler
- id: CP14StampDenied
- id: CP14StampApproved
- id: CP14ManaOperationGlove
@@ -73,7 +78,7 @@
components:
- type: StorageFill
contents:
- id: HandLabeler #TODO custom cp14 labeler
- id: CP14HandLabeler
- id: CP14WoodenPlanks20
- id: CP14CopperBar10
- id: CP14CopperBar10
@@ -131,7 +136,7 @@
- type: StorageFill
contents:
- id: CP14StampGuildmaster
- id: HandLabeler #TODO custom cp14 labeler
- id: CP14HandLabeler
- id: CP14StampDenied
- id: CP14StampApproved
- id: CP14PaperFolderBlue

View File

@@ -317,3 +317,128 @@
CP14Glass: 40
CP14Copper: 10
- type: entity
id: CP14VialStar
parent: CP14BaseVialFragile
name: star vial
description: A fragile glass vial in the shape of a star, an unusual but symbolic shape.
components:
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/vial_star.rsi
layers:
- state: vial
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: label
visible: false
map: ["enum.PaperLabelVisuals.Layer"]
- type: Item
size: Tiny
sprite: _CP14/Objects/Specific/Alchemy/vial_star.rsi
- type: SolutionContainerManager
solutions:
vial:
maxVol: 15
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
- type: PhysicalComposition
materialComposition:
CP14Glass: 20
- type: entity
id: CP14VialStarReinforced
parent: CP14BaseVial
name: reinforced star vial
description: A reinforced glass star-shaped vial to hold a small amount of liquid.
components:
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/vial_star.rsi
layers:
- state: reinforcement_back
- state: vial
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: reinforcement
- state: label
visible: false
map: ["enum.PaperLabelVisuals.Layer"]
- type: Item
size: Tiny
sprite: _CP14/Objects/Specific/Alchemy/vial_star.rsi
- type: SolutionContainerManager
solutions:
vial:
maxVol: 15
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
- type: PhysicalComposition
materialComposition:
CP14Glass: 20
CP14Copper: 10
- type: entity
id: CP14VialSkull
parent: CP14BaseVialFragile
name: skull vial
description: A fragile skull-shaped vial in which to conveniently store poisonous liquids.
components:
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
layers:
- state: vial
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: label
visible: false
map: ["enum.PaperLabelVisuals.Layer"]
- type: Item
size: Tiny
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
- type: SolutionContainerManager
solutions:
vial:
maxVol: 20
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
- type: PhysicalComposition
materialComposition:
CP14Glass: 25
- type: entity
id: CP14VialSkullReinforced
parent: CP14BaseVial
name: reinforced skull vial
description: A skull-shaped reinforced glass vial to hold a small amount of liquid, now the poison is sure not to accidentally spill onto your skin.
components:
- type: Sprite
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
layers:
- state: reinforcement_back
- state: vial
- state: liq-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: reinforcement
- state: label
visible: false
map: ["enum.PaperLabelVisuals.Layer"]
- type: Item
size: Tiny
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
- type: SolutionContainerManager
solutions:
vial:
maxVol: 20
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: liq-
- type: PhysicalComposition
materialComposition:
CP14Glass: 25
CP14Copper: 10

View File

@@ -0,0 +1,28 @@
- type: entity
parent: BaseItem
id: CP14HandLabeler
name: hand labeler
description: A hand labeler, used to label items and objects.
categories: [ ForkFiltered ]
components:
- type: Sprite
sprite: _CP14/Objects/Tools/hand_labeler.rsi
state: hand_labeler
- type: Item
sprite: _CP14/Objects/Tools/hand_labeler.rsi
storedRotation: -90
- type: UseDelay
delay: 2.0
- type: ActivatableUI
key: enum.HandLabelerUiKey.Key
inHandsOnly: true
- type: UserInterface
interfaces:
enum.HandLabelerUiKey.Key:
type: HandLabelerBoundUserInterface
- type: HandLabeler
whitelist:
components:
- Item
tags:
- Structure

View File

@@ -58,6 +58,46 @@
graph: CP14WoodenDoor
node: CP14WoodenDoorFrameMirrored
- type: entity
parent: CP14BaseDoorFrame
id: CP14WoodenBirchDoorFrame
name: wooden birch door frame
description: An unfinished wooden birch door.
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_birch_frame.rsi
drawdepth: Mobs
state: closed
- type: Damageable
damageContainer: Inorganic
damageModifierSet: CP14WoodStructural
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
CP14BirchWoodenPlanks1:
min: 1
max: 2
- !type:DoActsBehavior
acts: ["Destruction"]
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoorFrame
- type: entity
parent: CP14WoodenBirchDoorFrame
id: CP14WoodenBirchDoorFrameMirrored
components:
- type: Sprite
state: closed_mirrored
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoorFrameMirrored
- type: entity
parent: CP14BaseDoorFrame
id: CP14IronDoorFrame

View File

@@ -0,0 +1,53 @@
- type: entity
id: CP14WoodenBirchDoor
parent:
- CP14BaseDoor
- CP14BaseFlammableSpreading
name: wooden birch door
description: Not the most solid construction, but it's better than nothing.
suffix: Opened
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_birch_door.rsi
layers:
- state: closed
map: ["enum.DoorVisualLayers.Base"]
- type: Door
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: 75
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
CP14BirchWoodenPlanks1:
min: 1
max: 2
- !type:ChangeConstructionNodeBehavior
node: CP14WoodenBirchDoorFrame
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoor
- type: entity
id: CP14WoodenBirchDoorMirrored
parent: CP14WoodenBirchDoor
suffix: Opened, Mirrored
components:
- type: Door
openSpriteState: open_mirrored
closedSpriteState: closed_mirrored
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoorMirrored

View File

@@ -0,0 +1,55 @@
- type: entity
id: CP14WoodenBirchDoorWindowed
parent:
- CP14BaseDoor
- CP14BaseFlammableSpreading
name: wooden birch windowed door
description: Not the most solid construction, but it's better than nothing.
suffix: Opened
components:
- type: Sprite
sprite: _CP14/Structures/Doors/wooden_birch_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: 75
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:SpawnEntitiesBehavior
spawn:
CP14BirchWoodenPlanks1:
min: 1
max: 2
- !type:ChangeConstructionNodeBehavior
node: CP14WoodenDoorFrame
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoorWindowed
- type: entity
id: CP14WoodenBirchDoorWindowedMirrored
parent: CP14WoodenBirchDoorWindowed
suffix: Opened, Mirrored
components:
- type: Door
openSpriteState: open_mirrored
closedSpriteState: closed_mirrored
- type: Construction
graph: CP14WoodenBirchDoor
node: CP14WoodenBirchDoorWindowedMirrored

View File

@@ -0,0 +1,127 @@
- type: constructionGraph
id: CP14WoodenBirchDoor
start: start
graph:
- node: start
actions:
- !type:DestroyEntity {}
edges:
- to: CP14WoodenBirchDoorFrame
steps:
- material: CP14BirchWoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenBirchDoorFrame
entity: CP14WoodenBirchDoorFrame
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Prying
doAfter: 4
- to: CP14WoodenBirchDoorFrameMirrored
steps:
- tool: CP14Hammering
doAfter: 1
- to: CP14WoodenBirchDoor
steps:
- material: CP14BirchWoodenPlanks
amount: 2
doAfter: 2
- to: CP14WoodenBirchDoorWindowed
steps:
- material: CP14BirchWoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenBirchDoorFrameMirrored
entity: CP14WoodenBirchDoorFrameMirrored
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
- !type:DeleteEntity {}
steps:
- tool: Prying
doAfter: 4
- to: CP14WoodenBirchDoorFrame
steps:
- tool: CP14Hammering
doAfter: 1
- to: CP14WoodenBirchDoorMirrored
steps:
- material: CP14BirchWoodenPlanks
amount: 2
doAfter: 2
- to: CP14WoodenBirchDoorWindowedMirrored
steps:
- material: CP14BirchWoodenPlanks
amount: 2
doAfter: 2
- node: CP14WoodenBirchDoor
entity: CP14WoodenBirchDoor
edges:
- to: CP14WoodenBirchDoorFrame
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
conditions:
- !type:Locked
locked: false
steps:
- tool: Prying
doAfter: 4
- node: CP14WoodenBirchDoorMirrored
entity: CP14WoodenBirchDoorMirrored
edges:
- to: CP14WoodenBirchDoorFrameMirrored
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
conditions:
- !type:Locked
locked: false
steps:
- tool: Prying
doAfter: 4
- node: CP14WoodenBirchDoorWindowed
entity: CP14WoodenBirchDoorWindowed
edges:
- to: CP14WoodenBirchDoorFrame
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
conditions:
- !type:Locked
locked: false
steps:
- tool: Prying
doAfter: 4
- node: CP14WoodenBirchDoorWindowedMirrored
entity: CP14WoodenBirchDoorWindowedMirrored
edges:
- to: CP14WoodenBirchDoorFrameMirrored
completed:
- !type:SpawnPrototype
prototype: CP14BirchWoodenPlanks1
amount: 2
conditions:
- !type:Locked
locked: false
steps:
- tool: Prying
doAfter: 4

View File

@@ -54,6 +54,62 @@
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenBirchDoor
graph: CP14WoodenBirchDoor
startNode: start
targetNode: CP14WoodenBirchDoor
category: construction-category-structures
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenBirchDoorMirrored
graph: CP14WoodenBirchDoor
startNode: start
targetNode: CP14WoodenBirchDoorMirrored
category: construction-category-structures
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenBirchDoorWindowed
graph: CP14WoodenBirchDoor
startNode: start
targetNode: CP14WoodenBirchDoorWindowed
category: construction-category-structures
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14WoodenBirchDoorWindowedMirrored
graph: CP14WoodenBirchDoor
startNode: start
targetNode: CP14WoodenBirchDoorWindowedMirrored
category: construction-category-structures
objectType: Structure
placementMode: SnapgridCenter
canRotate: true
canBuildInImpassable: false
conditions:
- !type:TileNotBlocked
- type: construction
crystallPunkAllowed: true
id: CP14IronDoor

View File

@@ -26,6 +26,29 @@
count: 1
result: CP14BucketLucens
- type: CP14Recipe
id: CP14HandLabeler
tag: CP14RecipeWorkbench
category: Tools
craftTime: 3
requirements:
- !type:StackGroupResource
group: WoodenPlanks
count: 2
- !type:ProtoIdResource
protoId: CP14CrayonWhite
count: 1
- !type:ProtoIdResource
protoId: CP14CrayonBlack
count: 1
- !type:ProtoIdResource
protoId: CP14String
count: 1
- !type:ProtoIdResource
protoId: CP14PenFeather
count: 1
result: CP14HandLabeler
- type: CP14Recipe
id: CP14WoodenBeerMug
tag: CP14RecipeWorkbench

View File

@@ -163,6 +163,35 @@
count: 4
result: CP14VialMediumReinforced
- type: CP14Recipe
id: CP14VialStar
tag: CP14RecipeMeltingFurnace
craftTime: 3
requirements:
- !type:SkillRequired
skills:
- GlassMelting
- !type:StackResource
stack: CP14GlassSheet
count: 2
result: CP14VialStar
- type: CP14Recipe
id: CP14VialStarReinforced
tag: CP14RecipeMeltingFurnace
craftTime: 3
requirements:
- !type:SkillRequired
skills:
- GlassMelting
- !type:StackResource
stack: CP14CopperBar
count: 1
- !type:StackResource
stack: CP14GlassSheet
count: 2
result: CP14VialStarReinforced
- type: CP14Recipe
id: CP14BaseAlchemyBomb
tag: CP14RecipeMeltingFurnace

View File

@@ -255,4 +255,28 @@
sprite: _CP14/Objects/Specific/Alchemy/vial_small.rsi
state: vial
service: !type:CP14BuyItemsService
product: CP14VialSmallRainbow
product: CP14VialSmallRainbow
- type: cp14TradingPosition
id: CP14VialSkull
reputationLevel: 3
priceMarkup: 2
faction: BradPotions
uiPosition: 2
icon:
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
state: vial
service: !type:CP14BuyItemsService
product: CP14VialSkull
- type: cp14TradingPosition
id: CP14VialSkullReinforced
reputationLevel: 3
priceMarkup: 3
faction: BradPotions
uiPosition: 3
icon:
sprite: _CP14/Objects/Specific/Alchemy/vial_skull.rsi
state: vial
service: !type:CP14BuyItemsService
product: CP14VialSkullReinforced