Books and bookshelf (#944)

* guidebooks

* guard spawns

* books restruct

* bookshelf

* Update crates.yml
This commit is contained in:
Ed
2025-02-26 14:38:22 +03:00
committed by GitHub
parent aed7e0994a
commit 1542459864
51 changed files with 580 additions and 124 deletions

View File

@@ -1,11 +1,11 @@
meta:
format: 7
category: Map
engineVersion: 247.0.0
engineVersion: 247.2.0
forkId: ""
forkVersion: ""
time: 02/22/2025 14:14:57
entityCount: 15064
time: 02/26/2025 10:59:13
entityCount: 15073
maps:
- 1
grids:
@@ -98,6 +98,7 @@ entities:
- type: Transform
parent: 1
- type: Roof
data: {}
- type: BecomesStation
id: Comoss
- type: MapGrid
@@ -42373,6 +42374,88 @@ entities:
parent: 1420
- type: Physics
canCollide: False
- proto: CP14BookshelfWoodenFilled
entities:
- uid: 475
components:
- type: Transform
pos: -21.5,24.5
parent: 2
- uid: 631
components:
- type: Transform
pos: -16.5,24.5
parent: 2
- uid: 1276
components:
- type: Transform
pos: -14.5,24.5
parent: 2
- uid: 1277
components:
- type: Transform
pos: -15.5,24.5
parent: 2
- uid: 1279
components:
- type: Transform
pos: -22.5,24.5
parent: 2
- uid: 1281
components:
- type: Transform
pos: -20.5,24.5
parent: 2
- uid: 1594
components:
- type: Transform
pos: -6.5,14.5
parent: 2
- uid: 9948
components:
- type: Transform
rot: 3.141592653589793 rad
pos: -14.5,-6.5
parent: 2
- uid: 12052
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: -15.5,2.5
parent: 2
- uid: 12645
components:
- type: Transform
pos: -15.5,-27.5
parent: 2
- uid: 12646
components:
- type: Transform
pos: -10.5,-33.5
parent: 2
- uid: 12647
components:
- type: Transform
pos: 4.5,-30.5
parent: 2
- uid: 12658
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: 25.5,-7.5
parent: 2
- uid: 12666
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: -13.5,14.5
parent: 2
- uid: 12667
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: -13.5,13.5
parent: 2
- proto: CP14BowCombat
entities:
- uid: 437
@@ -66423,42 +66506,12 @@ entities:
parent: 2
- proto: CP14Safe
entities:
- uid: 475
components:
- type: Transform
pos: -15.5,24.5
parent: 2
- uid: 480
components:
- type: Transform
rot: 3.141592653589793 rad
pos: -21.5,22.5
parent: 2
- uid: 631
components:
- type: Transform
pos: -20.5,24.5
parent: 2
- uid: 1276
components:
- type: Transform
pos: -22.5,24.5
parent: 2
- uid: 1277
components:
- type: Transform
pos: -21.5,24.5
parent: 2
- uid: 1279
components:
- type: Transform
pos: -16.5,24.5
parent: 2
- uid: 1281
components:
- type: Transform
pos: -14.5,24.5
parent: 2
- uid: 1284
components:
- type: Transform
@@ -70470,13 +70523,6 @@ entities:
parent: 2
- type: Fixtures
fixtures: {}
- uid: 1594
components:
- type: Transform
pos: -6.5,14.5
parent: 2
- type: Fixtures
fixtures: {}
- uid: 1833
components:
- type: Transform
@@ -70685,6 +70731,14 @@ entities:
parent: 2
- type: Fixtures
fixtures: {}
- uid: 12665
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: -7.5,15.5
parent: 2
- type: Fixtures
fixtures: {}
- uid: 13042
components:
- type: Transform

View File

@@ -42,9 +42,6 @@
- id: CP14Inkwell
amount: 1
prob: 0.2
- id: CP14BookImperialLawsHandBook
amount: 1
prob: 0.5
- type: entity
parent: CP14BrassChest

View File

@@ -145,7 +145,6 @@
amount: 5
- id: CP14EnergyCrystalSmall
- id: CP14CrystalLampBlueEmpty
- id: CP14BookImperialLawsHandBook
- type: entity
parent: CP14WoodenCloset
@@ -165,7 +164,6 @@
- id: CP14EnergyCrystalSmall
- id: CP14CrystalLampBlueEmpty
- id: CP14StampGuardCommander
- id: CP14BookImperialLawsHandBook
- type: entity
parent: CP14WoodenCloset

View File

@@ -5,6 +5,7 @@
components:
- type: StorageFill
contents:
- id: CP14GuidebookAlchemy
- id: CP14ClothingEyesAlchemyGlasses
prob: 0.5
- id: CP14ClothingEyesAlchemyMonocle
@@ -71,6 +72,7 @@
components:
- type: StorageFill
contents:
- id: CP14GuidebookImperialLaws
- id: CP14ClothingHeadGuardHelmet
prob: 0.7
- id: CP14ClothingPantsGuardsChainmailSkirt
@@ -87,6 +89,7 @@
components:
- type: StorageFill
contents:
- id: CP14GuidebookImperialLaws
- id: CP14ClothingHeadGuardHelmet
prob: 0.7
- id: CP14ClothingPantsGuardsChainmailSkirt
@@ -103,6 +106,7 @@
components:
- type: StorageFill
contents:
- id: CP14GuidebookDemiplanes
- id: CP14ClothingCloakGuildmasterCape
prob: 1
- id: CP14ClothingShirtCottonWhite

View File

@@ -0,0 +1,75 @@
- type: entity
id: CP14BookBase
name: book
description: A hardcover book.
abstract: true
categories: [ ForkFiltered ]
parent: BaseItem
components:
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- state: paper
- state: cover_base
color: "#332d27"
map: [ "cover" ]
- state: decor_wingette
color: "#453f3a"
map: [ "decor" ]
- state: icon_eye
map: [ "icon" ]
- state: overlay_null
map: [ "overlay" ]
- type: Tag
tags:
- Book
- type: MeleeWeapon
soundHit:
collection: Punch
damage:
types:
Blunt: 1
- type: DamageOtherOnHit
damage:
types:
Blunt: 1
- type: entity
id: CP14BookWriteableBase
abstract: true
parent: CP14BookBase
components:
- type: Paper
contentSize: 12000
- type: ActivatableUI
key: enum.PaperUiKey.Key
requiresComplex: false
- type: UserInterface
interfaces:
enum.PaperUiKey.Key:
type: PaperBoundUserInterface
- type: PaperVisuals
backgroundImagePath: "/Textures/Interface/Paper/paper_background_book.svg.96dpi.png"
backgroundPatchMargin: 23.0, 16.0, 14.0, 15.0
contentMargin: 20.0, 20.0, 20.0, 20.0
- type: entity
id: CP14GuidebookBase
abstract: true
suffix: Guidebook
parent: CP14BookBase
components:
- type: GuideHelp
openOnActivation: true
guides:
- SS14
- type: entity
parent: CP14BookBase
id: CP14BookKnowledgeBase
abstract: true
categories: [ ForkFiltered ]
name: knowledge book
description: This book holds valuable knowledge that you can learn... if you're ready for it.
components:
- type: CP14KnowledgePaperText

View File

@@ -0,0 +1,64 @@
- type: entity
id: CP14GuidebookImperialLaws
parent: CP14GuidebookBase
name: imperial laws
description: A book about Imperial Laws.
components:
- type: Sprite
layers:
- state: paper
- state: cover_strong
color: "#1f389c"
- state: decor_wingette
color: "#49a0f2"
- state: detail_rivets
color: "#734b3f"
- state: icon_law
color: "#f5ba56"
- type: GuideHelp
guides:
- CP14_RU_Imperial_Laws
- CP14_EN_Imperial_Laws
- type: entity
id: CP14GuidebookAlchemy
parent: CP14GuidebookBase
name: achimist's handbook
description: The mysteries of liquids and magic are hidden in this book.
components:
- type: Sprite
layers:
- state: paper
- state: cover_old
color: "#3b8065"
- state: decor_wingette_circle
color: "#4eabbf"
- state: icon_chemical
- type: GuideHelp
guides:
- CP14_RU_Alchemy
- CP14_EN_Alchemy
- type: entity
id: CP14GuidebookDemiplanes
parent: CP14GuidebookBase
name: demiplane research guide
description: "A 20-minute adventure: in and out."
components:
- type: Sprite
layers:
- state: paper
- state: cover_strong
color: "#5f1280"
- sprite: _CP14/Objects/Bureaucracy/books.rsi
state: icon_rift
shader: unshaded
- state: detail_rivets
color: "#734b3f"
- state: overlay_dirt
color: "#e149f2"
shader: unshaded
- type: GuideHelp
guides:
- CP14_RU_Demiplanes
- CP14_EN_Demiplanes

View File

@@ -1,15 +1,3 @@
- type: entity
parent: BookRandom
id: CP14BookKnowledgeBase
abstract: true
categories: [ ForkFiltered ]
name: knowledge book
description: This book holds valuable knowledge that you can learn... if you're ready for it.
components:
- type: CP14KnowledgePaperText
#TODO: Уникальный визуал каждой книжке
# T0
- type: entity

View File

@@ -0,0 +1,52 @@
- type: entity
id: CP14BookRandom
parent: CP14BookWriteableBase
suffix: Random visual
description: Each book is unique! What is hidden in this one?
components:
- type: RandomMetadata
nameSegments:
- BookHintAppearances
- BookTypes
- type: RandomSprite
available:
- cover:
cover_base: Sixteen
cover_old: Sixteen
cover_strong: Sixteen
decor:
decor_wingette: Sixteen
decor_wingette_circle: Sixteen
decor_bottom: Sixteen
decor_middle: Sixteen
decor_spine: Sixteen
decor_diagonal: Sixteen
decor_vertical_middle: Sixteen
icon_corner: Sixteen
icon_mount: ""
icon:
icon_glow: Sixteen
icon_magnifier: ""
icon_time: Sixteen
icon_eye: ""
icon_letter_N: ""
icon_letter_P: ""
icon_lightning: ""
icon_question: Sixteen
icon_scmmd: ""
icon_stars: Sixteen
icon_stars2: Sixteen
icon_temple: Sixteen
icon_tree: ""
icon_pentagramm: Sixteen
icon_fish: ""
icon_skull: ""
icon_text: ""
icon_text2: ""
icon_text3: ""
overlay:
overlay_blood: ""
overlay_dirt: Sixteen
detail_bookmark: Sixteen
detail_rivets: Sixteen
overlay_null: ""

View File

@@ -1,19 +0,0 @@
- type: entity
id: CP14BookImperialLawsHandBook
parent: BaseGuidebook
name: imperial laws
description: A book about Imperial Laws.
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- state: paper
- state: cover_base
color: "#871619"
- state: decor_wingette
color: "#a3181d"
- state: icon_law
- type: GuideHelp
guides:
- CP14_RU_Imperial_Laws
- CP14_EN_Imperial_Laws

View File

@@ -0,0 +1,119 @@
- type: entity
id: CP14BookshelfWooden
categories: [ ForkFiltered ]
parent:
- BaseStructureDynamic
- CP14BaseFlammable
name: wooden bookshelf
description: Mostly filled with books.
components:
- type: Sprite
drawdepth: Mobs
sprite: _CP14/Structures/Furniture/bookshelf.rsi
layers:
- state: base
- state: book-0
- map: ["enum.StorageFillLayers.Fill"]
- type: Storage
grid:
- 0,0,5,7
maxItemSize: Normal
whitelist:
tags:
- Document
- Folder
- Write
- Book
- type: ContainerContainer
containers:
storagebase: !type:Container
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: InteractionOutline
- type: Clickable
- type: Anchorable
- type: Rotatable
- type: Appearance
- type: StorageFillVisualizer
maxFillLevels: 28
fillBaseName: book
- type: Transform
anchored: true
- type: Physics
bodyType: Static
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.45,-0.05,0.45,0.45"
density: 75
mask:
- MachineMask
layer:
- MachineLayer
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 150
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: WoodDestroyHeavy
params:
volume: -6
- !type:SpawnEntitiesBehavior
spawn:
CP14WoodenPlanks1:
min: 2
max: 4
- type: entityTable
id: CP14BookshelfEntityTable
table: !type:AllSelector
children:
#Guidebooks
- !type:GroupSelector
children:
- id: CP14GuidebookImperialLaws
- id: CP14GuidebookAlchemy
- id: CP14GuidebookDemiplanes
#Empty random
- id: CP14BookRandom
amount: !type:RangeNumberSelector
range: 0, 15
#Random knowledge
- !type:GroupSelector
prob: 0.15
children:
- id: CP14BookKnowledgeWoodWork
- id: CP14BookKnowledgeMetallMelting
- id: CP14BookKnowledgeMetallForging
- id: CP14BookKnowledgeGlasswork
- id: CP14BookKnowledgeClothingSewing
- id: CP14BookKnowledgeWallpaperCraft
- id: CP14BookKnowledgeAdvancedClothingSewing
- type: entity
id: CP14BookshelfWoodenFilled
parent: CP14BookshelfWooden
suffix: Random filled
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:NestedSelector
tableId: CP14BookshelfEntityTable

View File

@@ -14,12 +14,6 @@
map: ["enum.StorageVisualLayers.Base"]
- state: base_door
map: ["enum.StorageVisualLayers.Door"]
- type: DamageOnHighSpeedImpact
damage:
types:
Blunt: 5
soundHit:
collection: MetalThud
- type: InteractionOutline
- type: Physics
bodyType: Static

View File

@@ -36,18 +36,4 @@
id: CP14_EN_Arcane
name: Alchemized solutions
text: "/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/Arcane.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Demiplanes
name: Demiplanes exploration
text: "/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Imperial_Laws
name: Imperial laws
text: "/ServerInfo/_CP14/Guidebook_EN/ImperialLaws.xml"
filterEnabled: True

View File

@@ -0,0 +1,13 @@
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Demiplanes
name: Demiplanes exploration
text: "/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_EN_Imperial_Laws
name: Imperial laws
text: "/ServerInfo/_CP14/Guidebook_EN/ImperialLaws.xml"
filterEnabled: True

View File

@@ -36,18 +36,4 @@
id: CP14_RU_Arcane
name: Алхимизированные решения
text: "/ServerInfo/_CP14/Guidebook_EN/AlchemyTabs/Arcane.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Demiplanes
name: Исследование демипланов
text: "/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Imperial_Laws
name: Имперские законы
text: "/ServerInfo/_CP14/Guidebook_RU/ImperialLaws.xml"
filterEnabled: True

View File

@@ -0,0 +1,13 @@
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Demiplanes
name: Исследование демипланов
text: "/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml"
filterEnabled: True
- type: guideEntry
crystallPunkAllowed: true
id: CP14_RU_Imperial_Laws
name: Имперские законы
text: "/ServerInfo/_CP14/Guidebook_RU/ImperialLaws.xml"
filterEnabled: True

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Created by TheShuEd (github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon_anvil"
},
{
"name": "icon_rift"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 986 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

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.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 506 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

View File

@@ -0,0 +1,127 @@
{
"version": 1,
"license": "All right reserved",
"copyright": "Created by TheShuEd",
"size": {
"x": 32,
"y": 96
},
"states": [
{
"name": "base",
"directions": 4
},
{
"name": "book-0",
"directions": 4
},
{
"name": "book-1",
"directions": 4
},
{
"name": "book-2",
"directions": 4
},
{
"name": "book-3",
"directions": 4
},
{
"name": "book-4",
"directions": 4
},
{
"name": "book-5",
"directions": 4
},
{
"name": "book-6",
"directions": 4
},
{
"name": "book-7",
"directions": 4
},
{
"name": "book-8",
"directions": 4
},
{
"name": "book-9",
"directions": 4
},
{
"name": "book-10",
"directions": 4
},
{
"name": "book-11",
"directions": 4
},
{
"name": "book-12",
"directions": 4
},
{
"name": "book-13",
"directions": 4
},
{
"name": "book-14",
"directions": 4
},
{
"name": "book-15",
"directions": 4
},
{
"name": "book-16",
"directions": 4
},
{
"name": "book-17",
"directions": 4
},
{
"name": "book-18",
"directions": 4
},
{
"name": "book-19",
"directions": 4
},
{
"name": "book-20",
"directions": 4
},
{
"name": "book-21",
"directions": 4
},
{
"name": "book-22",
"directions": 4
},
{
"name": "book-23",
"directions": 4
},
{
"name": "book-24",
"directions": 4
},
{
"name": "book-25",
"directions": 4
},
{
"name": "book-26",
"directions": 4
},
{
"name": "book-27",
"directions": 4
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

View File

@@ -1,14 +0,0 @@
{
"version": 1,
"license": "All right reserved",
"copyright": "By omsoyk",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "board"
}
]
}

View File

@@ -260,6 +260,8 @@ CP14ClothingBeltQuiverArrow: CP14ClothingBeltQuiverIronArrow
#2025-17-02
CP14Crossbolt: CP14CrossboltIron
#2025-26-02
CP14BookImperialLawsHandBook: CP14GuidebookImperialLaws
# <---> CrystallEdge migration zone end