Keys & Locks crafting (#1207)

* keeye

* random locks for demiplanes

* blank keys, material keys

* craft blank keys

* key file

* fix skill tree UIScaling

* fix audio and sounds and prediction

* delete crowbar, merge its into pickaxe

* QoL key shaping

* lock introdusing

* QoL progress lockpicking

* examinable lock

* lock insert

* mithril lockkpick

* Update wall_dirt.yml
This commit is contained in:
Ed
2025-04-24 17:10:52 +03:00
committed by GitHub
parent a2ed3154bb
commit 4bb614981f
78 changed files with 949 additions and 358 deletions

View File

@@ -44,7 +44,7 @@
children:
- !type:GroupSelector
children:
- id: CP14BaseCrowbar
- id: CP14Screwdriver
weight: 2
- id: CP14BaseWrench
weight: 2

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyTavernAlchemistAbstract
suffix: Abstract Alchemist
components:
@@ -7,7 +7,7 @@
group: Alchemist
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyAlchemy1
suffix: Alchemy 1
components:
@@ -15,7 +15,7 @@
autoGenerateShape: Alchemy1
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyAlchemy2
suffix: Alchemy 2
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyTavernBlacksmithAbstract
suffix: Abstract Blacksmith
components:
@@ -7,7 +7,7 @@
group: Blacksmith
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyBlacksmith
suffix: Blacksmith 1
components:
@@ -15,7 +15,7 @@
autoGenerateShape: Blacksmith1
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyBlacksmith2
suffix: Blacksmith 2
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyGuardEntrance
suffix: Guard Entrance
components:
@@ -7,7 +7,7 @@
autoGenerateShape: GuardEntrance
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyGuard
suffix: Guard
components:
@@ -15,7 +15,7 @@
autoGenerateShape: Guard
- type: entity
parent: CP14BaseKey
parent: CP14KeyMithrilBlank
id: CP14KeyGuardCommander
suffix: Guard Commander
components:
@@ -23,7 +23,7 @@
autoGenerateShape: GuardCommander
- type: entity
parent: CP14BaseKey
parent: CP14KeyMithrilBlank
id: CP14KeyGuardWeaponStorage
suffix: Guard Weapon Storage
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyGoldBlank
id: CP14KeyGuildmaster
suffix: Guildmaster
components:
@@ -7,7 +7,7 @@
autoGenerateShape: Guildmaster
- type: entity
parent: CP14BaseKey
parent: CP14KeyGoldBlank
id: CP14KeyDemiplaneCrystal
suffix: Demiplane Crystal
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyTavernMerchantShopAbstract
suffix: Abstract Merchant shop
components:
@@ -7,7 +7,7 @@
group: Merchant
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyMercantShop1
suffix: Merchant shop 1
components:
@@ -15,7 +15,7 @@
autoGenerateShape: Shop1
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyMercantShop2
suffix: Merchant shop 2
components:
@@ -23,7 +23,7 @@
autoGenerateShape: Shop2
- type: entity
parent: CP14BaseKey
parent: CP14KeyIronBlank
id: CP14KeyMercantShop3
suffix: Merchant shop 3
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouseAbstract
suffix: Abstract Personal house
components:
@@ -7,12 +7,12 @@
group: PersonalHouse
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouseAbstractLoadoutDummy
name: a key to a random personal home (limited per map)
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse1
suffix: PersonalHouse1
components:
@@ -20,7 +20,7 @@
autoGenerateShape: PersonalHouse1
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse2
suffix: PersonalHouse2
components:
@@ -28,7 +28,7 @@
autoGenerateShape: PersonalHouse2
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse3
suffix: PersonalHouse3
components:
@@ -36,7 +36,7 @@
autoGenerateShape: PersonalHouse3
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse4
suffix: PersonalHouse4
components:
@@ -44,7 +44,7 @@
autoGenerateShape: PersonalHouse4
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse5
suffix: PersonalHouse5
components:
@@ -52,7 +52,7 @@
autoGenerateShape: PersonalHouse5
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse6
suffix: PersonalHouse6
components:
@@ -60,7 +60,7 @@
autoGenerateShape: PersonalHouse6
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse7
suffix: PersonalHouse7
components:
@@ -68,7 +68,7 @@
autoGenerateShape: PersonalHouse7
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse8
suffix: PersonalHouse8
components:
@@ -76,7 +76,7 @@
autoGenerateShape: PersonalHouse8
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse9
suffix: PersonalHouse9
components:
@@ -84,7 +84,7 @@
autoGenerateShape: PersonalHouse9
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse10
suffix: PersonalHouse10
components:
@@ -92,7 +92,7 @@
autoGenerateShape: PersonalHouse10
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse11
suffix: PersonalHouse11
components:
@@ -100,7 +100,7 @@
autoGenerateShape: PersonalHouse11
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse12
suffix: PersonalHouse12
components:
@@ -108,7 +108,7 @@
autoGenerateShape: PersonalHouse12
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse13
suffix: PersonalHouse13
components:
@@ -116,7 +116,7 @@
autoGenerateShape: PersonalHouse13
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse14
suffix: PersonalHouse14
components:
@@ -124,7 +124,7 @@
autoGenerateShape: PersonalHouse14
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse15
suffix: PersonalHouse15
components:
@@ -132,7 +132,7 @@
autoGenerateShape: PersonalHouse15
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyPersonalHouse16
suffix: PersonalHouse16
components:

View File

@@ -1,5 +1,5 @@
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernHall
suffix: Tavern Hall
components:
@@ -7,7 +7,7 @@
autoGenerateShape: TavernHall
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernStaff
suffix: Tavern Staff
components:
@@ -15,7 +15,7 @@
autoGenerateShape: TavernStaff
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDormsAbstract
suffix: Abstract Tavern Dorms
components:
@@ -23,7 +23,7 @@
group: TavernDorms
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDorms1
suffix: Tavern Dorms 1
components:
@@ -31,7 +31,7 @@
autoGenerateShape: TavernDorms1
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDorms2
suffix: Tavern Dorms 2
components:
@@ -39,7 +39,7 @@
autoGenerateShape: TavernDorms2
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDorms3
suffix: Tavern Dorms 3
components:
@@ -47,7 +47,7 @@
autoGenerateShape: TavernDorms3
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDorms4
suffix: Tavern Dorms 4
components:
@@ -55,7 +55,7 @@
autoGenerateShape: TavernDorms4
- type: entity
parent: CP14BaseKey
parent: CP14KeyCopperBlank
id: CP14KeyTavernDorms5
suffix: Tavern Dorms 5
components:

View File

@@ -1,62 +0,0 @@
- type: entity
parent: BaseItem
id: CP14BaseKey
abstract: true
categories: [ ForkFiltered ]
name: key
description: A small, intricate piece of metal that opens some locks. Don't give it to anyone!
components:
- type: Tag
tags:
- CP14Key
- type: Item
size: Tiny
- type: Sprite
sprite: _CP14/Objects/keys.rsi
layers:
- state: key1
map: [ "random" ]
- type: RandomSprite
available:
- random:
key1: ""
key2: ""
key3: ""
key4: ""
key5: ""
key6: ""
key7: ""
key8: ""
key9: ""
key10: ""
key11: ""
key12: ""
key13: ""
key14: ""
key15: ""
key16: ""
key17: ""
key18: ""
- type: CP14Key
- type: EmitSoundOnLand
sound:
path: /Audio/_CP14/Items/key_drop.ogg
params:
variation: 0.05
- type: entity
parent: BaseItem
id: CP14BaseLockpick
name: lockpick
description: A thief's tool that, with proper skill and skill, allows you to pick any lock.
categories: [ ForkFiltered ]
components:
- type: Item
storedRotation: -90
- type: Sprite
sprite: _CP14/Objects/keys.rsi
state: lockpick
- type: CP14Lockpick
- type: Tag
tags:
- CP14Lockpick

View File

@@ -0,0 +1,78 @@
- type: entity
parent: BaseItem
id: CP14BaseKey
abstract: true
categories: [ ForkFiltered ]
name: key
description: A small, intricate piece of metal that opens some locks. Don't give it to anyone!
components:
- type: Tag
tags:
- CP14Key
- type: Item
size: Tiny
- type: Sprite
sprite: _CP14/Objects/keys.rsi
- type: CP14Key
- type: EmitSoundOnLand
sound:
path: /Audio/_CP14/Items/key_drop.ogg
params:
variation: 0.05
- type: entity
parent: CP14BaseKey
id: CP14KeyCopperBlank
components:
- type: Sprite
state: key_copper
- type: CP14Key
lockShape:
- 2
- 2
- 2
- type: entity
parent: CP14BaseKey
id: CP14KeyIronBlank
components:
- type: Sprite
state: key_iron
- type: CP14Key
lockShape:
- 2
- 2
- 2
- 2
- 2
- type: entity
parent: CP14BaseKey
id: CP14KeyGoldBlank
components:
- type: Sprite
state: key_gold
- type: CP14Key
lockShape:
- 2
- 2
- 2
- 2
- 2
- 2
- type: entity
parent: CP14BaseKey
id: CP14KeyMithrilBlank
components:
- type: Sprite
state: key_mithril
- type: CP14Key
lockShape:
- 2
- 2
- 2
- 2
- 2
- 2
- 2

View File

@@ -0,0 +1,76 @@
- type: entity
parent: BaseItem
id: CP14BaseLock
abstract: true
categories: [ ForkFiltered ]
name: lock
description: A small device customized only for a specific key shape. Attach it to doors or chests that have no lock and feel the spirit of security.
components:
- type: Item
size: Tiny
- type: Sprite
sprite: _CP14/Objects/keys.rsi
- type: EmitSoundOnLand
sound:
path: /Audio/Items/welder_drop.ogg
params:
variation: 0.05
- type: CP14Lock
canEmbedded: true
- type: entity
parent: CP14BaseLock
id: CP14LockCopper
components:
- type: Sprite
state: lock_copper
- type: CP14Lock
lockShape:
- 2
- 2
- 2
- type: entity
parent: CP14BaseLock
id: CP14LockIron
components:
- type: Sprite
state: lock_iron
- type: CP14Lock
lockShape:
- 2
- 2
- 2
- 2
- 2
- type: entity
parent: CP14BaseLock
id: CP14LockGold
components:
- type: Sprite
state: lock_gold
- type: CP14Lock
lockShape:
- 2
- 2
- 2
- 2
- 2
- 2
- type: entity
parent: CP14BaseLock
id: CP14LockMithril
components:
- type: Sprite
state: lock_mithril
- type: CP14Lock
lockShape:
- 2
- 2
- 2
- 2
- 2
- 2
- 2

View File

@@ -0,0 +1,43 @@
- type: entity
parent: BaseItem
id: CP14BaseLockpick
name: iron lockpick
description: A thief's tool that, with proper skill and skill, allows you to pick any lock.
categories: [ ForkFiltered ]
components:
- type: Item
storedRotation: -90
- type: Sprite
sprite: _CP14/Objects/keys.rsi
state: lockpick_iron
- type: CP14Lockpick
health: 10
- type: Tag
tags:
- CP14Lockpick
- type: entity
parent: CP14BaseLockpick
id: CP14LockpickMithril
name: mithril lockpick
components:
- type: CP14Lockpick
health: 50
- type: Sprite
state: lockpick_mithril
- type: entity
parent: BaseItem
id: CP14KeyFile
name: key file
description: A file, ideal for sharpening keys, and reshaping them.
categories: [ ForkFiltered ]
components:
- type: Item
storedRotation: -45
- type: Sprite
sprite: _CP14/Objects/keys.rsi
state: file
- type: CP14KeyFile
- type: UseDelay
delay: 1.0

View File

@@ -0,0 +1,13 @@
- type: entity
parent: Screwdriver
id: CP14Screwdriver
categories: [ ForkFiltered ]
components:
- type: CP14LockEditer
- type: UseDelay
delay: 1.0
- type: MeleeWeapon
attackRate: 1
damage:
types:
Piercing: 4

View File

@@ -1,38 +0,0 @@
- type: entity
id: CP14BaseCrowbar
parent:
- BaseItem
- CP14BaseWeaponDestructible
- CP14BaseWeaponChemical
name: crowbar
description: A versatile and useful iron, for taking apart floors or other objects.
components:
- type: EmitSoundOnLand
sound:
path: /Audio/Items/crowbar_drop.ogg
- type: Tag
tags:
- Crowbar
- type: MeleeWeapon
wideAnimationRotation: -135
damage:
types:
Blunt: 7
soundHit:
collection: MetalThud
- type: Tool
qualities:
- Prying
useSound:
path: /Audio/Items/crowbar.ogg
- type: ToolTileCompatible
- type: Prying
- type: Sprite
sprite: _CP14/Objects/Tools/crowbar.rsi
layers:
- state: icon
- type: Item
sprite: _CP14/Objects/Tools/crowbar.rsi
size: Normal
shape:
- 0,0,0,1

View File

@@ -0,0 +1,50 @@
- type: entity
parent: CP14WoodenDoor
id: CP14WoodenDoorRandomLocked
suffix: Random Locked (Complex 3)
components:
- type: CP14Lock
autoGenerateRandomShape: 3
- type: Lock
locked: true
- type: entity
parent: CP14WoodenDoorWindowed
id: CP14WoodenDoorWindowedRandomLocked
suffix: Random Locked (Complex 3)
components:
- type: CP14Lock
autoGenerateRandomShape: 3
- type: Lock
locked: true
- type: entity
parent: CP14IronDoor
id: CP14IronDoorRandomLocked
suffix: Random Locked (Complex 5)
components:
- type: CP14Lock
autoGenerateRandomShape: 5
- type: Lock
locked: true
- type: entity
parent: CP14IronDoorWindowed
id: CP14IronDoorWindowedRandomLocked
suffix: Random Locked (Complex 5)
components:
- type: CP14Lock
autoGenerateRandomShape: 5
- type: Lock
locked: true
- type: entity
parent: CP14FenceGateBigIron
id: CP14FenceGateBigIronRandomLocked
suffix: Random Locked (Complex 5)
components:
- type: CP14Lock
autoGenerateRandomShape: 5
- type: Lock
locked: true

View File

@@ -17,6 +17,7 @@
openDrawDepth: Mobs
- type: Lock
locked: false
- type: CP14Lock #Empty, for installing new locks
- type: PlacementReplacement
key: walls
- type: CP14DoorInteractionPopup

View File

@@ -99,6 +99,7 @@
sprite: _CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi
normalState: burning
- type: Climbable
- type: Anchorable
- type: Fixtures
fixtures:
fix1:

View File

@@ -67,4 +67,6 @@
- type: ItemSlots
- type: StaticPrice
price: 50
- type: CP14Lock #Empty, for installing new locks
- type: Lock
locked: false

View File

@@ -45,67 +45,67 @@
- type: CP14LockType
id: Alchemy1
group: Alchemist
complexity: 4
complexity: 5
name: cp14-lock-shape-alchemist1
- type: CP14LockType
id: Alchemy2
group: Alchemist
complexity: 4
complexity: 5
name: cp14-lock-shape-alchemist2
- type: CP14LockType
id: Alchemy3
group: Alchemist
complexity: 4
complexity: 5
name: cp14-lock-shape-alchemist3
- type: CP14LockType
id: Blacksmith1
group: Blacksmith
complexity: 4
complexity: 5
name: cp14-lock-shape-blacksmith1
- type: CP14LockType
id: Blacksmith2
group: Blacksmith
complexity: 4
complexity: 5
name: cp14-lock-shape-blacksmith2
- type: CP14LockType
id: Blacksmith3
group: Blacksmith
complexity: 4
complexity: 5
name: cp14-lock-shape-blacksmith3
- type: CP14LockType
id: Shop1
group: Merchant
complexity: 6
complexity: 5
name: cp14-lock-shape-merchant1
- type: CP14LockType
id: Shop2
group: Merchant
complexity: 6
complexity: 5
name: cp14-lock-shape-merchant2
- type: CP14LockType
id: Shop3
group: Merchant
complexity: 6
complexity: 5
name: cp14-lock-shape-merchant3
# Mercenary
- type: CP14LockType
id: Guildmaster
complexity: 5
complexity: 6
name: cp14-lock-shape-guildmaster
- type: CP14LockType
id: DemiplaneCrystal
complexity: 5
complexity: 6
name: cp14-lock-shape-demiplane-crystal
# Personal house
@@ -210,20 +210,20 @@
- type: CP14LockType
id: GuardEntrance
complexity: 3
complexity: 5
name: cp14-lock-shaper-guard-entrance
- type: CP14LockType
id: Guard
complexity: 4
complexity: 5
name: cp14-lock-shaper-guard-staff
- type: CP14LockType
id: GuardCommander
complexity: 5
complexity: 7
name: cp14-lock-shaper-guard-commander
- type: CP14LockType
id: GuardWeaponStorage
complexity: 5
complexity: 7
name: cp14-lock-shaper-guard-weapon-storage

View File

@@ -1,17 +1,30 @@
- type: modularPart
id: BaseBladePickaxe
modifiers:
- !type:AddComponents
override: true
components:
- type: Tool
qualities:
- Prying
useSound:
path: /Audio/Items/crowbar.ogg
- type: ToolTileCompatible
- type: Prying
- type: EmitSoundOnLand
sound:
path: /Audio/Items/crowbar_drop.ogg #Add to all modular weapons?
- !type:EditMeleeWeapon
attackRateMultiplier: 0.55
angleMultiplier: 1.2
bonusDamage:
types:
Piercing: 10
Structural: 6
Structural: 4
- !type:EditIncreaseDamageOnWield
bonusDamage:
types:
Piercing: 8
Piercing: 6
Structural: 17
- !type:EditItem
newSize: Normal

View File

@@ -10,7 +10,7 @@
southRotation: true
steps:
- material: CP14Dirt
amount: 3
amount: 5
doAfter: 2
- node: WallDirt
entity: CP14WallDirt

View File

@@ -11,16 +11,6 @@
count: 2
result: CP14BaseShield
- type: CP14Recipe
id: CP14BaseCrowbar
tag: CP14RecipeAnvil
craftTime: 4
requirements:
- !type:StackResource
stack: CP14IronBar
count: 2
result: CP14BaseCrowbar
- type: CP14Recipe
id: CP14BaseWrench
tag: CP14RecipeAnvil
@@ -31,6 +21,16 @@
count: 2
result: CP14BaseWrench
- type: CP14Recipe
id: CP14Screwdriver
tag: CP14RecipeAnvil
craftTime: 4
requirements:
- !type:StackResource
stack: CP14IronBar
count: 1
result: CP14Screwdriver
- type: CP14Recipe
id: CP14PlatePie
tag: CP14RecipeAnvil
@@ -148,6 +148,16 @@
count: 1
result: CP14BaseLockpick
- type: CP14Recipe
id: CP14LockpickMithril
tag: CP14RecipeAnvil
craftTime: 4
requirements:
- !type:StackResource
stack: CP14MithrilBar
count: 1
result: CP14LockpickMithril
- type: CP14Recipe
id: CP14BaseLightCrossbow
tag: CP14RecipeAnvil
@@ -173,3 +183,94 @@
stack: CP14IronBar
count: 2
result: CP14ClothingMaskSteelMask
- type: CP14Recipe
id: CP14KeyCopperBlank
tag: CP14RecipeAnvil
craftTime: 3
requirements:
- !type:StackResource
stack: CP14CopperBar
count: 1
result: CP14KeyCopperBlank
- type: CP14Recipe
id: CP14KeyIronBlank
tag: CP14RecipeAnvil
craftTime: 3
requirements:
- !type:StackResource
stack: CP14IronBar
count: 1
result: CP14KeyIronBlank
- type: CP14Recipe
id: CP14KeyGoldBlank
tag: CP14RecipeAnvil
craftTime: 3
requirements:
- !type:StackResource
stack: CP14GoldBar
count: 1
result: CP14KeyGoldBlank
- type: CP14Recipe
id: CP14KeyMithrilBlank
tag: CP14RecipeAnvil
craftTime: 3
requirements:
- !type:StackResource
stack: CP14MithrilBar
count: 1
result: CP14KeyMithrilBlank
- type: CP14Recipe
id: CP14KeyFile
tag: CP14RecipeAnvil
craftTime: 2
requirements:
- !type:StackResource
stack: CP14IronBar
count: 1
result: CP14KeyFile
- type: CP14Recipe
id: CP14LockCopper
tag: CP14RecipeAnvil
craftTime: 2
requirements:
- !type:StackResource
stack: CP14CopperBar
count: 1
result: CP14LockCopper
- type: CP14Recipe
id: CP14LockIron
tag: CP14RecipeAnvil
craftTime: 2
requirements:
- !type:StackResource
stack: CP14IronBar
count: 1
result: CP14LockIron
- type: CP14Recipe
id: CP14LockGold
tag: CP14RecipeAnvil
craftTime: 2
requirements:
- !type:StackResource
stack: CP14GoldBar
count: 1
result: CP14LockGold
- type: CP14Recipe
id: CP14LockMithril
tag: CP14RecipeAnvil
craftTime: 2
requirements:
- !type:StackResource
stack: CP14MithrilBar
count: 1
result: CP14LockMithril