add: funny keys that can lock doors (#113)
BIN
Resources/Audio/White/Object/Tools/Form/hit.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Form/pickup.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Form/press.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Key/drop.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Key/pickup.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Keyhole/lock.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Keyhole/locked.ogg
Normal file
BIN
Resources/Audio/White/Object/Tools/Keyhole/unlock.ogg
Normal file
5
Resources/Locale/ru-RU/White/object/tools/key.ftl
Normal file
@@ -0,0 +1,5 @@
|
||||
ent-KeyMetal = металлический ключ
|
||||
.desc = заостренный кусок металла
|
||||
|
||||
key-lock-message = {$name} проворачивает ключ в замке {$door} и закрывает {POSS-ADJ($door)}
|
||||
key-unlock-message = {$name} проворачивает ключ в замке {$door} и открывает {POSS-ADJ($door)}
|
||||
5
Resources/Locale/ru-RU/white/object/tools/keyform.ftl
Normal file
@@ -0,0 +1,5 @@
|
||||
ent-KeyForm = пластиковая форма
|
||||
.desc = мягкий кусок пластика
|
||||
|
||||
key-pressed-in-keyform-message-first = {$user} вдавливает {$key} в пластик, создавая в нем форму ключа
|
||||
key-pressed-in-keyform-message = {$user} вставляет {$key} в форму, заставляя его скопировать уникальный узор
|
||||
1
Resources/Locale/ru-RU/white/object/tools/keyhole.ftl
Normal file
@@ -0,0 +1 @@
|
||||
door-locked-via-key = {$door} закрыта
|
||||
@@ -57,6 +57,7 @@
|
||||
mode: NoSprite
|
||||
- type: Occluder
|
||||
- type: ReflectAspectMark
|
||||
- type: Keyhole
|
||||
|
||||
- type: entity
|
||||
parent: BaseMaterialDoor
|
||||
|
||||
54
Resources/Prototypes/White/Objects/Tools/crafts.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
- type: constructionGraph
|
||||
id: KeyFormGraph
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: KeyFormNode
|
||||
steps:
|
||||
- material: Plastic
|
||||
amount: 1
|
||||
doAfter: 2
|
||||
- node: KeyFormNode
|
||||
entity: KeyForm
|
||||
|
||||
- type: construction
|
||||
name: ent-KeyForm
|
||||
id: KeyForm
|
||||
graph: KeyFormGraph
|
||||
startNode: start
|
||||
targetNode: KeyFormNode
|
||||
category: construction-category-tools
|
||||
objectType: Item
|
||||
description: ent-KeyForm.desc
|
||||
icon:
|
||||
sprite: White/Objects/Tools/form.rsi
|
||||
state: empty
|
||||
|
||||
|
||||
- type: constructionGraph
|
||||
id: KeyGraph
|
||||
start: start
|
||||
graph:
|
||||
- node: start
|
||||
edges:
|
||||
- to: KeyNode
|
||||
steps:
|
||||
- material: Steel
|
||||
amount: 1
|
||||
doAfter: 2
|
||||
- node: KeyNode
|
||||
entity: KeyMetal
|
||||
|
||||
- type: construction
|
||||
name: ent-KeyMetal
|
||||
id: KeyMetal
|
||||
graph: KeyGraph
|
||||
startNode: start
|
||||
targetNode: KeyNode
|
||||
category: construction-category-tools
|
||||
objectType: Item
|
||||
description: ent-KeyMetal.desc
|
||||
icon:
|
||||
sprite: White/Objects/Tools/key.rsi
|
||||
state: icon
|
||||
34
Resources/Prototypes/White/Objects/Tools/form.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
- type: entity
|
||||
name: form
|
||||
parent: BaseItem
|
||||
id: KeyForm
|
||||
description: Makeshift piece of plastic
|
||||
components:
|
||||
- type: EmitSoundOnPickup
|
||||
sound:
|
||||
path: /Audio/White/Object/Tools/Form/pickup.ogg
|
||||
- type: EmitSoundOnLand
|
||||
sound:
|
||||
path: /Audio/White/Object/Tools/Form/hit.ogg
|
||||
- type: Sprite
|
||||
sprite: White/Objects/Tools/form.rsi
|
||||
state: empty
|
||||
- type: Item
|
||||
sprite: White/Objects/Tools/form.rsi
|
||||
storedRotation: -180
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
Steel: 100
|
||||
- type: StaticPrice
|
||||
price: 10
|
||||
- type: Keyform
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.KeyformVisuals.IsUsed:
|
||||
base:
|
||||
True: { state: withkey }
|
||||
False: { state: empty }
|
||||
- type: Appearance
|
||||
- type: Construction
|
||||
graph: KeyFormGraph
|
||||
node: KeyFormNode
|
||||
38
Resources/Prototypes/White/Objects/Tools/key.yml
Normal file
@@ -0,0 +1,38 @@
|
||||
- type: entity
|
||||
name: key
|
||||
parent: BaseItem
|
||||
id: KeyMetal
|
||||
description: Makeshift sharp piece of metal
|
||||
components:
|
||||
- type: EmitSoundOnPickup
|
||||
sound:
|
||||
path: /Audio/White/Object/Tools/Key/pickup.ogg
|
||||
- type: EmitSoundOnDrop
|
||||
sound:
|
||||
path: /Audio/White/Object/Tools/Key/drop.ogg
|
||||
- type: EmitSoundOnLand
|
||||
sound:
|
||||
path: /Audio/White/Object/Tools/Key/drop.ogg
|
||||
- type: Sprite
|
||||
sprite: White/Objects/Tools/key.rsi
|
||||
state: icon
|
||||
- type: Item
|
||||
sprite: White/Objects/Tools/key.rsi
|
||||
storedRotation: -180
|
||||
- type: MeleeWeapon
|
||||
wideAnimationRotation: -180
|
||||
attackRate: 1
|
||||
damage:
|
||||
types:
|
||||
Piercing: 1
|
||||
soundHit:
|
||||
path: "/Audio/Weapons/bladeslice.ogg"
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
Steel: 100
|
||||
- type: StaticPrice
|
||||
price: 10
|
||||
- type: Key
|
||||
- type: Construction
|
||||
graph: KeyGraph
|
||||
node: KeyNode
|
||||
BIN
Resources/Textures/White/Objects/Tools/form.rsi/empty.png
Normal file
|
After Width: | Height: | Size: 544 B |
BIN
Resources/Textures/White/Objects/Tools/form.rsi/inhand-left.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
Resources/Textures/White/Objects/Tools/form.rsi/inhand-right.png
Normal file
|
After Width: | Height: | Size: 302 B |
25
Resources/Textures/White/Objects/Tools/form.rsi/meta.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "https://github.com/frosty-dev/white",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "empty"
|
||||
},
|
||||
{
|
||||
"name": "withkey"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/White/Objects/Tools/form.rsi/withkey.png
Normal file
|
After Width: | Height: | Size: 541 B |
BIN
Resources/Textures/White/Objects/Tools/key.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 300 B |
BIN
Resources/Textures/White/Objects/Tools/key.rsi/inhand-left.png
Normal file
|
After Width: | Height: | Size: 204 B |
BIN
Resources/Textures/White/Objects/Tools/key.rsi/inhand-right.png
Normal file
|
After Width: | Height: | Size: 198 B |
22
Resources/Textures/White/Objects/Tools/key.rsi/meta.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "https://github.com/frosty-dev/white",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||