diff --git a/Resources/Locale/en-US/_DV/job/archivist.ftl b/Resources/Locale/en-US/_DV/job/archivist.ftl
new file mode 100644
index 00000000000..ddfa5b90d9e
--- /dev/null
+++ b/Resources/Locale/en-US/_DV/job/archivist.ftl
@@ -0,0 +1,2 @@
+ent-LibrarianPDA = archivist PDA
+ent-LibrarianIDCard = archivist ID card
diff --git a/Resources/Locale/en-US/_DV/job/job-names.ftl b/Resources/Locale/en-US/_DV/job/job-names.ftl
index c8fa13d0d55..6a95081250d 100644
--- a/Resources/Locale/en-US/_DV/job/job-names.ftl
+++ b/Resources/Locale/en-US/_DV/job/job-names.ftl
@@ -7,6 +7,7 @@ job-name-lawyer = Attorney
job-name-courier = Courier
job-name-cargo-assistant = Cargo Assistant
job-name-security-borg = Security Cyborg
+job-name-librarian = Archivist
# Used by the Agent ID
job-name-senior-physician = Physician Mentor
job-name-senior-researcher = Research Mentor
diff --git a/Resources/Locale/en-US/_DV/paper/book-salvage.ftl b/Resources/Locale/en-US/_DV/paper/book-salvage.ftl
index 9736f6ccdaf..f4221cf3bd1 100644
--- a/Resources/Locale/en-US/_DV/paper/book-salvage.ftl
+++ b/Resources/Locale/en-US/_DV/paper/book-salvage.ftl
@@ -56,3 +56,5 @@ book-text-gorlexgirlfriend = It's the 197th version of the infamous Gorlex Girlf
Most of the magazine is either Syndicate propaganda or advertisements for Syndicate-branded items like soda or merch from the show. At least there are some coupons on the back for them.
On the last page is an ad for the Gorlex Girlfriends dating app... and the Gorlex Girlfriends Hotline.
+
+book-text-ancientbookcommon-1 = the text seems to shift and move, rendering it completely unreadable... but you feel as though these stories will become legible in time, and feel determined to keep uncovering the past.
diff --git a/Resources/Locale/en-US/_DV/recipes/tags.ftl b/Resources/Locale/en-US/_DV/recipes/tags.ftl
index 835d8d68952..17067a539bf 100644
--- a/Resources/Locale/en-US/_DV/recipes/tags.ftl
+++ b/Resources/Locale/en-US/_DV/recipes/tags.ftl
@@ -37,3 +37,6 @@ construction-graph-tag-mothroach-hide = mothroach hide
# Hoodies
construction-graph-tag-hoodie = hoodie
+
+# Ancient books
+construction-graph-tag-ancientbook = Damaged Ancient Book
diff --git a/Resources/Locale/en-US/_DV/research/technologies.ftl b/Resources/Locale/en-US/_DV/research/technologies.ftl
index d915fcf1697..fdf78f1cbcc 100644
--- a/Resources/Locale/en-US/_DV/research/technologies.ftl
+++ b/Resources/Locale/en-US/_DV/research/technologies.ftl
@@ -8,6 +8,7 @@ research-technology-engineering-eva = EVA PPE Suits
# Experimental
research-technology-cloning = Cloning
+research-technology-artifact-display = Artifact Display Technology
# Civilian
research-technology-civilian-mechs = Civilian Mechs
diff --git a/Resources/Locale/en-US/_DV/tools/tool-qualities.ftl b/Resources/Locale/en-US/_DV/tools/tool-qualities.ftl
index 68a5d34d31a..fce1eb5141f 100644
--- a/Resources/Locale/en-US/_DV/tools/tool-qualities.ftl
+++ b/Resources/Locale/en-US/_DV/tools/tool-qualities.ftl
@@ -6,3 +6,6 @@ tool-quality-fine-screwing-tool-name = Thin-Tipped Screwdriver
tool-quality-censer-name = Censer
tool-quality-censer-tool-name = Censer
+
+tool-quality-restoration-name = Restoring
+tool-quality-restoration-tool-name = Restoration Kit
diff --git a/Resources/Locale/en-US/job/job-names.ftl b/Resources/Locale/en-US/job/job-names.ftl
index 60f49324c56..37b473cd90f 100644
--- a/Resources/Locale/en-US/job/job-names.ftl
+++ b/Resources/Locale/en-US/job/job-names.ftl
@@ -25,7 +25,8 @@ job-name-cburn = Centcomm Quarantine Officer
job-name-deathsquad = Centcomm Agent
job-name-reporter = Reporter
job-name-musician = Musician
-job-name-librarian = Librarian
+# DeltaV - Changed Librarian to Archivist
+# job-name-librarian = Librarian
# DeltaV - Changed Lawyer to Attorney
# job-name-lawyer = Lawyer
job-name-mime = Mime
diff --git a/Resources/Prototypes/Access/service.yml b/Resources/Prototypes/Access/service.yml
index 39394d7f41f..bf00fc72896 100644
--- a/Resources/Prototypes/Access/service.yml
+++ b/Resources/Prototypes/Access/service.yml
@@ -44,7 +44,6 @@
- Lawyer
- Boxer # DeltaV - Add Boxer access
- Clown # DeltaV - Add Clown access
- - Library # DeltaV - Add Library access
- Mime # DeltaV - Add Mime access
- Musician # DeltaV - Add Musician access
- Reporter # DeltaV - Add Reporter access
diff --git a/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml b/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml
index a0b6b57ec17..ab4752ee7e6 100644
--- a/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml
+++ b/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml
@@ -127,3 +127,14 @@
- id: BookInspiration
prob: 0.1
orGroup: BookAuthor
+ # Begin DeltaV Additions
+ - id: AncientBookDamagedCommon
+ prob: 0.07
+ orGroup: BookPool
+ - id: AncientBookDamagedUncommon
+ prob: 0.05
+ orGroup: BookPool
+ - id: AncientBookDamagedRare
+ prob: 0.03
+ orGroup: BookPool
+ # End DeltaV Additions
diff --git a/Resources/Prototypes/Datasets/ion_storm.yml b/Resources/Prototypes/Datasets/ion_storm.yml
index 35f67cef64f..bfa9e0409ea 100644
--- a/Resources/Prototypes/Datasets/ion_storm.yml
+++ b/Resources/Prototypes/Datasets/ion_storm.yml
@@ -342,7 +342,7 @@
- HEADS OF STAFF
- JANITORS
- LAWYERS
- - LIBRARIANS
+ - ARCHIVISTS # DeltaV - Replace librarians with Curators
- MEDICAL DOCTORS
- MIMES
- MUSICIANS
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml
index 65f8f66106c..7b9b1692d19 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml
@@ -105,6 +105,7 @@
range: 1, 2
- !type:NestedSelector
tableId: RandomInstrumentTable
+ - id: AncientBookDamagedCommon # DeltaV
- type: entityTable
id: SalvageTreasureUncommon
@@ -130,6 +131,7 @@
- id: WristwatchGold
- !type:NestedSelector
tableId: RingTableCommon
+ - id: AncientBookDamagedUncommon # DeltaV
- type: entityTable
id: SalvageTreasureRare
@@ -163,6 +165,7 @@
weight: 1
- !type:NestedSelector
tableId: RingTableRare
+ - id: AncientBookDamagedRare # DeltaV
- type: entityTable
id: SalvageTreasureLegendary
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_xenoartifacts.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_xenoartifacts.yml
index 83a04a809b3..4f3b387ae4e 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_xenoartifacts.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_xenoartifacts.yml
@@ -44,6 +44,9 @@
available:
- enum.ArtifactsVisualLayers.UnlockingEffect:
ano01_on: Rainbow
+ - type: Tag # DeltaV - allows for artifacts to be used in the crafting system
+ tags:
+ - Artifact
# gameplay interactions
- type: Item
size: Normal
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/structure_xenoartifacts.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/structure_xenoartifacts.yml
index 8edbbd71f4a..6f53905a69d 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/structure_xenoartifacts.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/structure_xenoartifacts.yml
@@ -25,6 +25,17 @@
available:
- enum.ArtifactsVisualLayers.UnlockingEffect:
ano01_on: Rainbow
+ # Begin DeltaV Additions
+ - type: Item
+ size: Ginormous
+ - type: MultiHandedItem
+ - type: ClothingSpeedModifier
+ walkModifier: 0.5
+ sprintModifier: 0.5
+ - type: Tag # DeltaV - allows for artifacts to be used in the crafting system
+ tags:
+ - Artifact
+ # End DeltaV Additions
- type: Transform
noRot: true
- type: Fixtures
diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/books.yml b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/books.yml
index 6db6cfae00e..c2a8075542d 100644
--- a/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/books.yml
+++ b/Resources/Prototypes/Nyanotrasen/Entities/Markers/Spawners/Random/books.yml
@@ -77,4 +77,7 @@
- BookFishops # DeltaV - fishops book
# - BookDetective
# - BookSalvageEpistemics1 # Nyanotrasen - Epistemic Lore Book
+ - AncientBookDamagedCommon # DeltaV
+ - AncientBookDamagedUncommon # DeltaV
+ - AncientBookDamagedRare # DeltaV
rareChance: 0.25
diff --git a/Resources/Prototypes/Procedural/salvage_loot.yml b/Resources/Prototypes/Procedural/salvage_loot.yml
index b70f2a5c8f4..e0e320a0f10 100644
--- a/Resources/Prototypes/Procedural/salvage_loot.yml
+++ b/Resources/Prototypes/Procedural/salvage_loot.yml
@@ -105,6 +105,15 @@
- proto: WeaponTeslaGun
prob: 0.1
cost: 2
+ # Begin DeltaV Additions
+ - proto: AncientBookDamagedCommon
+ - proto: AncientBookDamagedUncommon
+ prob: 0.7
+ cost: 2
+ - proto: AncientBookDamagedRare
+ prob: 0.3
+ cost: 4
+ # End DeltaV Additions
# Mob loot table
diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml
index 9c648c002a7..cfbde734348 100644
--- a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml
+++ b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml
@@ -5,11 +5,12 @@
playTimeTracker: JobLibrarian
startingGear: LibrarianGear
icon: "JobIconLibrarian"
- supervisors: job-supervisors-hop
+ supervisors: job-supervisors-rd # DeltaV - Moved to epistemics department
access:
- Service
- Maintenance
- Library # DeltaV - Add Library access
+ - Research # DeltaV - Moved to epistemics department
- type: startingGear
id: LibrarianGear
@@ -22,6 +23,7 @@
storage:
back:
- BookRandom
+ - BookRestorationKit # DeltaV - new tool important for their job
- type: chameleonOutfit
id: LibrarianChameleonOutfit
diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
index 2a625143b04..338ea63863a 100644
--- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
+++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
@@ -58,7 +58,6 @@
# Begin DeltaV Additions - fine-grained service accesses
- Boxer
- Clown
- - Library
- Mime
- Musician
- Reporter
diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
index 996f5e4da31..94cf204958a 100644
--- a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
+++ b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
@@ -29,6 +29,7 @@
- Chapel # Chaplain is in Epistemics
- Robotics
- External # Needed to access the AI satellite
+ - Library # moved librarian to epistemics
# end DeltaV Additions
special:
- !type:AddImplantSpecial
diff --git a/Resources/Prototypes/Roles/Jobs/departments.yml b/Resources/Prototypes/Roles/Jobs/departments.yml
index dbb0d95feb7..fbc33bbfc5c 100644
--- a/Resources/Prototypes/Roles/Jobs/departments.yml
+++ b/Resources/Prototypes/Roles/Jobs/departments.yml
@@ -26,7 +26,7 @@
- HeadOfPersonnel
- Janitor
# - Lawyer # DeltaV - Move Lawyer into Justice
- - Librarian
+ # - Librarian # DeltaV - Move Librarian into Epistemics
- Mime
- Musician
- Passenger
@@ -137,6 +137,7 @@
- Chaplain # DeltaV - Move Chaplain into Epistemics
- ForensicMantis # Nyanotrasen - ForensicMantis, see Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml
- Roboticist # DeltaV: Roboticist job
+ - Librarian # DeltaV - Move Librarian into epistemics as curator
- type: department
id: Silicon
diff --git a/Resources/Prototypes/_DV/Access/epistemics.yml b/Resources/Prototypes/_DV/Access/epistemics.yml
index ed62a9b3d78..bb116374f39 100644
--- a/Resources/Prototypes/_DV/Access/epistemics.yml
+++ b/Resources/Prototypes/_DV/Access/epistemics.yml
@@ -12,3 +12,4 @@
- Robotics
- Mantis
- Chapel
+ - Library # DeltaV - Add Library access
diff --git a/Resources/Prototypes/_DV/Catalog/Cargo/cargo_science.yml b/Resources/Prototypes/_DV/Catalog/Cargo/cargo_science.yml
new file mode 100644
index 00000000000..37b567cb807
--- /dev/null
+++ b/Resources/Prototypes/_DV/Catalog/Cargo/cargo_science.yml
@@ -0,0 +1,9 @@
+- type: cargoProduct
+ id: DisplayCase
+ icon:
+ sprite: _DV/Structures/Storage/display_cases.rsi
+ state: display_case_icon
+ product: DisplayCase
+ cost: 500
+ category: Science
+ group: market
diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/displaycase.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/displaycase.yml
new file mode 100644
index 00000000000..78aa5d13d4f
--- /dev/null
+++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/CircuitBoards/Machine/displaycase.yml
@@ -0,0 +1,18 @@
+- type: entity
+ parent: BaseMachineCircuitboard
+ id: ArtifactDisplayCaseMachineCircuitBoard
+ name: artifact display case machine board
+ components:
+ - type: Sprite
+ state: science
+ - type: MachineBoard
+ prototype: DisplayCaseArtifact
+ stackRequirements:
+ Manipulator: 2
+ Glass: 5
+ Steel: 5
+ Cable: 5
+ tagRequirements:
+ Artifact:
+ amount: 1
+ defaultPrototype: SimpleXenoArtifactItem
diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/ancient_books.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/ancient_books.yml
new file mode 100644
index 00000000000..e00a90c1309
--- /dev/null
+++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/ancient_books.yml
@@ -0,0 +1,140 @@
+- type: entity
+ parent: BaseItem
+ abstract: true
+ id: AncientBookBase
+ name: Ancient Book
+ components:
+ - type: StaticPrice
+ price: 10
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookDamagedCommon
+ name: damaged ancient book
+ description: An ancient book that has seen better times. The cover and words are illegible, but surely someone could restore it.
+ components:
+ - type: Sprite
+ layers:
+ - sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookdamaged2
+ - type: Construction
+ graph: AncientBookCommonRestored
+ node: start
+ - type: Tag
+ tags:
+ - AncientBookDamagedCommon
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookDamagedUncommon
+ name: damaged ancient book
+ description: An ancient book that has seen better times. The cover and words are illegible, but surely someone could restore it.
+ components:
+ - type: Sprite
+ layers:
+ - sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookdamaged3
+ - type: Construction
+ graph: AncientBookUncommonRestored
+ node: start
+ - type: Tag
+ tags:
+ - AncientBookDamagedUncommon
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookDamagedRare
+ name: damaged ancient book
+ description: An ancient book that has seen better times. The cover and words are illegible, but surely someone could restore it.
+ components:
+ - type: Sprite
+ layers:
+ - sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookdamaged1
+ - type: Construction
+ graph: AncientBookRareRestored
+ node: start
+ - type: Tag
+ tags:
+ - AncientBookDamagedRare
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookCommon
+ name: common ancient book
+ description: A very old book commonly found in archives. Read it to discover what it is.
+ components:
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_strong
+ color: "#0f204f"
+ - state: decor_wingette_circle
+ color: "#a6adb8"
+ - type: Construction
+ graph: AncientBookCommonRestored
+ node: bookrestored
+ - type: SpawnItemsOnUse
+ items:
+ - id: ResearchDisk
+ - id: AncientBookCommon1
+ orGroup: AncientBookCommonPool
+ - id: AncientBookCommon2
+ orGroup: AncientBookCommonPool
+ - id: AncientBookCommon3
+ orGroup: AncientBookCommonPool
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookUncommon
+ name: uncommon ancient book
+ description: A very old book generally only found in private collections. Read it to discover what it is.
+ components:
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_strong
+ color: "#771c1c"
+ - state: decor_wingette_circle
+ color: "#a6adb8"
+ - type: Construction
+ graph: AncientBookUncommonRestored
+ node: bookrestored
+ - type: SpawnItemsOnUse
+ items:
+ - id: ResearchDisk5000
+ - id: AncientBookUncommon1
+ orGroup: AncientBookUncommonPool
+ - id: AncientBookUncommon2
+ orGroup: AncientBookUncommonPool
+ - id: AncientBookUncommon3
+ orGroup: AncientBookUncommonPool
+
+- type: entity
+ parent: AncientBookBase
+ id: AncientBookRare
+ name: rare ancient book
+ description: A very old book sought after for it's rarity and value. Read it to discover what it is.
+ components:
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_strong
+ color: "#61104f"
+ - state: decor_wingette_circle
+ color: "#a6adb8"
+ - type: Construction
+ graph: AncientBookRareRestored
+ node: bookrestored
+ - type: SpawnItemsOnUse
+ items:
+ - id: ResearchDisk10000
+ - id: AncientBookRare1
+ orGroup: AncientBookRarePool
+ - id: AncientBookRare2
+ orGroup: AncientBookRarePool
+ - id: AncientBookRare3
+ orGroup: AncientBookRarePool
diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/books.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/books.yml
index a3c2c922d35..6f80619cc71 100644
--- a/Resources/Prototypes/_DV/Entities/Objects/Misc/books.yml
+++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/books.yml
@@ -108,3 +108,127 @@
guides:
- Cargo
- Salvage
+
+- type: entity
+ parent: BaseItem # inherits from baseitem instead of BookBase because sprites break using BookBase
+ id: BaseAncientBookReadable
+ name: Base Ancient Book
+ abstract: true
+ components:
+ - type: ActivatableUI
+ key: enum.PaperUiKey.Key
+ requiresComplex: false
+ - type: UserInterface
+ interfaces:
+ enum.PaperUiKey.Key:
+ type: PaperBoundUserInterface
+ - type: Tag
+ tags:
+ - Book
+ - 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: Paper
+ content: book-text-ancientbookcommon-1
+ contentSize: 12000
+ - type: MeleeWeapon
+ soundHit:
+ collection: Punch
+ damage:
+ types:
+ Blunt: 1
+ - type: DamageOtherOnHit
+ damage:
+ types:
+ Blunt: 1
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookCommon1
+ name: ancient worn book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookcommon1
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookCommon2
+ name: ancient tattered book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookcommon2
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookCommon3
+ name: ancient fractured book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookcommon3
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookUncommon1
+ name: ancient heavy book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookuncommon1
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookUncommon2
+ name: Ancient Dusty Book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookuncommon2
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookUncommon3
+ name: ancient wellworn book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookuncommon3
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookRare1
+ name: ancient mysterious book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookrare1
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookRare2
+ name: ancient ominous book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookrare2
+
+- type: entity
+ parent: BaseAncientBookReadable
+ id: AncientBookRare3
+ name: ancient shining book
+ description: An ancient book lost to time. One can only wonder what can be learned from these...
+ components:
+ - type: Sprite
+ sprite: _DV/Objects/Misc/books.rsi
+ state: ancientbookrare3
diff --git a/Resources/Prototypes/_DV/Entities/Objects/Tools/book_restoration_kit.yml b/Resources/Prototypes/_DV/Entities/Objects/Tools/book_restoration_kit.yml
new file mode 100644
index 00000000000..183150e6e53
--- /dev/null
+++ b/Resources/Prototypes/_DV/Entities/Objects/Tools/book_restoration_kit.yml
@@ -0,0 +1,48 @@
+- type: tool
+ id: Restoring
+ name: tool-quality-restoration-name
+ toolName: tool-quality-restoration-tool-name
+ spawn: BookRestorationKit
+ icon: { sprite: _DV/Objects/Tools/book_restoration.rsi, state: icon }
+
+
+- type: entity
+ name: book restoration kit
+ parent: BaseItem
+ id: BookRestorationKit
+ description: A kit filled with various tools necessary for restoring old and damaged books. This one smells a bit like vanilla.
+ components:
+ - type: EmitSoundOnLand
+ sound:
+ path: /Audio/Items/wrench_drop.ogg
+ - type: Sprite
+ sprite: _DV/Objects/Tools/book_restoration.rsi
+ state: icon
+ - type: Item
+ sprite: _DV/Objects/Tools/book_restoration.rsi
+ storedSprite:
+ sprite: _DV/Objects/Tools/book_restoration.rsi
+ state: storage
+ inhandVisuals:
+ left:
+ - state: inhand-left
+ right:
+ - state: inhand-right
+ - type: MeleeWeapon
+ wideAnimationRotation: 135
+ attackRate: 1.5
+ damage:
+ types:
+ Blunt: 1.5
+ soundHit:
+ collection: MetalThud
+ - type: Tool
+ qualities:
+ - Restoring
+ useSound:
+ path: /Audio/Effects/plant_rustle.ogg
+ - type: StaticPrice
+ price: 22
+ - type: GuideHelp
+ guides:
+ - Construction
diff --git a/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml
index a0710afd085..204add2b957 100644
--- a/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml
+++ b/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml
@@ -244,7 +244,7 @@
board: [ DoorElectronicsReporter ]
- type: entity
- parent: AirlockServiceLocked
+ parent: AirlockScienceLocked
id: AirlockLibraryLocked
suffix: Library, Locked
components:
diff --git a/Resources/Prototypes/_DV/Entities/Structures/Storage/DisplayCases/display_cases.yml b/Resources/Prototypes/_DV/Entities/Structures/Storage/DisplayCases/display_cases.yml
new file mode 100644
index 00000000000..5994181a38f
--- /dev/null
+++ b/Resources/Prototypes/_DV/Entities/Structures/Storage/DisplayCases/display_cases.yml
@@ -0,0 +1,83 @@
+- type: entity
+ id: DisplayCaseArtifact
+ parent: [ DisplayCase, BaseMachinePowered ]
+ name: artifact display case
+ description: A sturdy display case for showing off interesting artifacts.
+ components:
+ - type: ContainerContainer
+ containers:
+ entity_storage: !type:Container
+ paper_label: !type:ContainerSlot
+ machine_board: !type:Container
+ machine_parts: !type:Container
+ - type: ResearchPointSource
+ pointspersecond: 5
+ active: true
+ - type: Machine
+ board: ArtifactDisplayCaseMachineCircuitBoard
+ - type: PowerSwitch
+ - type: ResearchClient
+ - type: ActivatableUI
+ key: enum.ResearchClientUiKey.Key
+ - type: ActivatableUIRequiresPower
+ - type: PointLight
+ radius: 0.8
+ energy: 0.5
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.2,-0.2,0.2,0.29"
+ density: 50
+ mask:
+ - CrateMask #this is so they can go under plastic flaps
+ layer:
+ - MachineLayer
+ - type: UserInterface
+ interfaces:
+ enum.ResearchClientUiKey.Key:
+ type: ResearchClientBoundUserInterface
+
+- type: entity
+ id: DisplayCase
+ parent: CrateBaseSecure
+ name: display case
+ description: A sturdy display case. This one doesn't give any research points, but you can put whatever you want in it.
+ components:
+ - type: AccessReader
+ access: [["Research"]]
+ - type: Sprite
+ drawdepth: Objects
+ sprite: _DV/Structures/Storage/display_cases.rsi
+ layers:
+ - state: display_case
+ map: ["enum.StorageVisualLayers.Base"]
+ - state: display_case_glass
+ map: ["enum.StorageVisualLayers.Door"]
+ - state: welded
+ visible: false
+ map: ["enum.WeldableLayers.BaseWelded"]
+ - state: locked
+ map: ["enum.LockVisualLayers.Lock"]
+ shader: unshaded
+ - state: paper
+ map: ["enum.PaperLabelVisuals.Layer"]
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.2,-0.2,0.2,0.29"
+ density: 50
+ mask:
+ - CrateMask #this is so they can go under plastic flaps
+ layer:
+ - MachineLayer
+ - type: Icon
+ sprite: _DV/Structures/Storage/display_cases.rsi
+ state: display_case_icon
+ - type: EntityStorageVisuals
+ sprite: _DV/Structures/Storage/display_cases.rsi
+ stateDoorOpen: display_case_open
+ stateDoorClosed: display_case_glass
diff --git a/Resources/Prototypes/_DV/Recipes/Crafting/Graphs/ancientbooks.yml b/Resources/Prototypes/_DV/Recipes/Crafting/Graphs/ancientbooks.yml
new file mode 100644
index 00000000000..c4560cd7c88
--- /dev/null
+++ b/Resources/Prototypes/_DV/Recipes/Crafting/Graphs/ancientbooks.yml
@@ -0,0 +1,38 @@
+- type: constructionGraph
+ id: AncientBookCommonRestored
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: bookrestored
+ steps:
+ - tool: Restoring
+ doAfter: 20
+ - node: bookrestored
+ entity: AncientBookCommon
+
+- type: constructionGraph
+ id: AncientBookUncommonRestored
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: bookrestored
+ steps:
+ - tool: Restoring
+ doAfter: 20
+ - node: bookrestored
+ entity: AncientBookUncommon
+
+- type: constructionGraph
+ id: AncientBookRareRestored
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: bookrestored
+ steps:
+ - tool: Restoring
+ doAfter: 20
+ - node: bookrestored
+ entity: AncientBookRare
diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/epistemics.yml b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/epistemics.yml
index 3928c21bdaf..68597bea9af 100644
--- a/Resources/Prototypes/_DV/Recipes/Lathes/Packs/epistemics.yml
+++ b/Resources/Prototypes/_DV/Recipes/Lathes/Packs/epistemics.yml
@@ -9,3 +9,4 @@
id: EpistemicsBoards
recipes:
- ReverseEngineeringMachineCircuitboard
+ - ArtifactDisplayCaseMachineCircuitBoard
diff --git a/Resources/Prototypes/_DV/Recipes/Lathes/electronics.yml b/Resources/Prototypes/_DV/Recipes/Lathes/electronics.yml
index 7022448e076..5c6f21e3df6 100644
--- a/Resources/Prototypes/_DV/Recipes/Lathes/electronics.yml
+++ b/Resources/Prototypes/_DV/Recipes/Lathes/electronics.yml
@@ -42,3 +42,8 @@
parent: BaseCircuitboardRecipe
id: DeepFryerMachineCircuitboard
result: DeepFryerMachineCircuitboard
+
+- type: latheRecipe
+ parent: BaseGoldCircuitboardRecipe
+ id: ArtifactDisplayCaseMachineCircuitBoard
+ result: ArtifactDisplayCaseMachineCircuitBoard
diff --git a/Resources/Prototypes/_DV/Research/experimental.yml b/Resources/Prototypes/_DV/Research/experimental.yml
new file mode 100644
index 00000000000..3d2e8aa7a5a
--- /dev/null
+++ b/Resources/Prototypes/_DV/Research/experimental.yml
@@ -0,0 +1,11 @@
+- type: technology
+ id: ArtifactDisplayCases
+ name: research-technology-artifact-display
+ icon:
+ sprite: _DV/Structures/Storage/display_cases.rsi
+ state: display_case_icon
+ discipline: Experimental
+ tier: 2
+ cost: 5000
+ recipeUnlocks:
+ - ArtifactDisplayCaseMachineCircuitBoard
diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml
index 82560e73d36..bb9ed446350 100644
--- a/Resources/Prototypes/_DV/tags.yml
+++ b/Resources/Prototypes/_DV/tags.yml
@@ -1,5 +1,8 @@
## This is for Nyano and Delta V tags
+- type: Tag
+ id: Artifact
+
- type: Tag
id: AugmentAPCBoard
@@ -176,3 +179,12 @@
- type: Tag
id: Hoodie
+
+- type: Tag
+ id: AncientBookDamagedCommon
+
+- type: Tag
+ id: AncientBookDamagedUncommon
+
+- type: Tag
+ id: AncientBookDamagedRare
diff --git a/Resources/ServerInfo/Guidebook/Science/Science.xml b/Resources/ServerInfo/Guidebook/Science/Science.xml
index 288debbde72..4ea1bec6fa1 100644
--- a/Resources/ServerInfo/Guidebook/Science/Science.xml
+++ b/Resources/ServerInfo/Guidebook/Science/Science.xml
@@ -4,13 +4,14 @@
[color=#c96dbf]Epistemics[/color], often called Research and Development, is a job made up of both generating research points to unlock new technologies as well as using said technologies to produce new items at lathes to help out the station.
## Personnel
-[color=#c96dbf]Epistemics[/color]' staff is made up of Research Assistants, Scientists and the Psionic Mantis. [color=#c96dbf]Epistemics[/color] is run by the Mystagogue.
+[color=#c96dbf]Epistemics[/color]' staff is made up of Research Assistants, Scientists, the chaplain, the archivist, and the Psionic Mantis. [color=#c96dbf]Epistemics[/color] is run by the Mystagogue.
+
+
-
## Technologies
diff --git a/Resources/ServerInfo/Guidebook/Service/Service.xml b/Resources/ServerInfo/Guidebook/Service/Service.xml
index 7fe9b55a77d..40affec4b29 100644
--- a/Resources/ServerInfo/Guidebook/Service/Service.xml
+++ b/Resources/ServerInfo/Guidebook/Service/Service.xml
@@ -12,14 +12,12 @@
-
-
diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/Librarian.png b/Resources/Textures/Interface/Misc/job_icons.rsi/Librarian.png
index 005d97a3f98..deb6b136dc5 100644
Binary files a/Resources/Textures/Interface/Misc/job_icons.rsi/Librarian.png and b/Resources/Textures/Interface/Misc/job_icons.rsi/Librarian.png differ
diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
index 8dd3bacec6c..6be47457a8e 100644
--- a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
+++ b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets | Service Worker resprite by anno_midi (Discord) and spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github) | paradoxClone taken from tg station at commit https://github.com/tgstation/tgstation/commit/d0db1ff267557017ae7bde68e6490e70cbb6e42f and modifed by slarticodefast (Github) | Boxer, Chaplain, Janitor, Lawyer, Librarian recoloured by K-Dynamic (github) | Cluwne icon by Professor Renderer (Discord)",
+ "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets | Service Worker resprite by anno_midi (Discord) and spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github) | paradoxClone taken from tg station at commit https://github.com/tgstation/tgstation/commit/d0db1ff267557017ae7bde68e6490e70cbb6e42f and modifed by slarticodefast (Github) | Boxer, Chaplain, Janitor, Lawyer, Librarian recoloured by K-Dynamic (github)| Cluwne icon by Professor Renderer (Discord)| Librarian re-recoloured by AeraAulin (github)",
"size": {
"x": 8,
"y": 8
diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/idcurator.png b/Resources/Textures/Objects/Misc/id_cards.rsi/idcurator.png
index 3e638f8bab0..d73dfea4606 100644
Binary files a/Resources/Textures/Objects/Misc/id_cards.rsi/idcurator.png and b/Resources/Textures/Objects/Misc/id_cards.rsi/idcurator.png differ
diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
index 0a5a37d8025..26825483ee4 100644
--- a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
+++ b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github), idintern-service by spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github), wizard and idwizard by ScarKy0 | idboxer and idlawyer recoloured by K-Dynamic (github).",
+ "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github), idintern-service by spanky-spanky (Github) | service icons darkened by frobnic8 (Discord and Github), wizard and idwizard by ScarKy0 | idboxer and idlawyer recoloured by K-Dynamic (github). | idcurator recoloured by AeraAulin (github).",
"size": {
"x": 32,
"y": 32
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon1.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon1.png
new file mode 100644
index 00000000000..553143754db
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon1.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon2.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon2.png
new file mode 100644
index 00000000000..ce3a4fae089
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon2.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon3.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon3.png
new file mode 100644
index 00000000000..fbaea3e6f67
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookcommon3.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged1.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged1.png
new file mode 100644
index 00000000000..4ab1c176100
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged1.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged2.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged2.png
new file mode 100644
index 00000000000..0c3d02ea429
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged2.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged3.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged3.png
new file mode 100644
index 00000000000..ae6329eb2c9
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookdamaged3.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare1.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare1.png
new file mode 100644
index 00000000000..adcc051ed50
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare1.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare2.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare2.png
new file mode 100644
index 00000000000..f694ec57b0c
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare2.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare3.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare3.png
new file mode 100644
index 00000000000..947b87102c2
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookrare3.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon1.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon1.png
new file mode 100644
index 00000000000..de990443cf8
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon1.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon2.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon2.png
new file mode 100644
index 00000000000..6b432b25265
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon2.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon3.png b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon3.png
new file mode 100644
index 00000000000..422806a4b93
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Misc/books.rsi/ancientbookuncommon3.png differ
diff --git a/Resources/Textures/_DV/Objects/Misc/books.rsi/meta.json b/Resources/Textures/_DV/Objects/Misc/books.rsi/meta.json
index cdc6c23e03c..b8df8f66dde 100644
--- a/Resources/Textures/_DV/Objects/Misc/books.rsi/meta.json
+++ b/Resources/Textures/_DV/Objects/Misc/books.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "icon_kiss by Kr8",
+ "copyright": "icon_kiss by Kr8 | ancientbookdamaged1-3 and ancientbooks Base sprite taken at: https://github.com/tgstation/tgstation/blob/39ed5e01bcffa0c2271348e21a1b757a2e5040b9/icons/obj/service/library.dmi, modified by AeraAulin (github)",
"size": {
"x": 32,
"y": 32
@@ -9,6 +9,42 @@
"states": [
{
"name": "icon_kiss"
+ },
+ {
+ "name": "ancientbookdamaged1"
+ },
+ {
+ "name": "ancientbookdamaged2"
+ },
+ {
+ "name": "ancientbookdamaged3"
+ },
+ {
+ "name": "ancientbookcommon1"
+ },
+ {
+ "name": "ancientbookcommon2"
+ },
+ {
+ "name": "ancientbookcommon3"
+ },
+ {
+ "name": "ancientbookuncommon1"
+ },
+ {
+ "name": "ancientbookuncommon2"
+ },
+ {
+ "name": "ancientbookuncommon3"
+ },
+ {
+ "name": "ancientbookrare1"
+ },
+ {
+ "name": "ancientbookrare2"
+ },
+ {
+ "name": "ancientbookrare3"
}
]
}
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/equipped-BELT.png b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..0a90c1c9e00
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/icon.png b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/icon.png
new file mode 100644
index 00000000000..3f7ed3c975b
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/icon.png differ
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-left.png b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-left.png
new file mode 100644
index 00000000000..a7dd4b8878c
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-left.png differ
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-right.png b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-right.png
new file mode 100644
index 00000000000..fd56d631f0d
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/inhand-right.png differ
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/meta.json b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/meta.json
new file mode 100644
index 00000000000..312825683d0
--- /dev/null
+++ b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/meta.json
@@ -0,0 +1,29 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Sprites by AeraAulin (github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ },
+ {
+ "name": "storage"
+ }
+ ]
+}
diff --git a/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/storage.png b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/storage.png
new file mode 100644
index 00000000000..3f7ed3c975b
Binary files /dev/null and b/Resources/Textures/_DV/Objects/Tools/book_restoration.rsi/storage.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/bounty.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/bounty.png
new file mode 100644
index 00000000000..d72d30b9537
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/bounty.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/captains_paper.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/captains_paper.png
new file mode 100644
index 00000000000..9c767a263f1
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/captains_paper.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case.png
new file mode 100644
index 00000000000..7ee9bed1a62
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_glass.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_glass.png
new file mode 100644
index 00000000000..9a975e8eec1
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_glass.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_icon.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_icon.png
new file mode 100644
index 00000000000..5b83c8b0eb5
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_icon.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_open.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_open.png
new file mode 100644
index 00000000000..4fe5b46898a
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/display_case_open.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/invoice.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/invoice.png
new file mode 100644
index 00000000000..944c2326d67
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/invoice.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/locked.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/locked.png
new file mode 100644
index 00000000000..d7d051708a7
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/locked.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/meta.json b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/meta.json
new file mode 100644
index 00000000000..3175a53d2bc
--- /dev/null
+++ b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/meta.json
@@ -0,0 +1,44 @@
+{
+ "version": 1,
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "license": "CC-BY-SA-3.0",
+ "copyright": "Taken from mojave sun mirror of tgstation https://github.com/Mojave-Sun/mojave-sun-13/blob/d97a2e2dd99a727f33924682e25927c0ea2e9b09/icons/obj/stationobjs.dmi Sprite modified by AeraAulin (Github),",
+ "states": [
+ {
+ "name": "display_case"
+ },
+ {
+ "name": "display_case_glass"
+ },
+ {
+ "name": "display_case_open"
+ },
+ {
+ "name": "display_case_icon"
+ },
+ {
+ "name": "locked"
+ },
+ {
+ "name": "unlocked"
+ },
+ {
+ "name": "welded"
+ },
+ {
+ "name": "paper"
+ },
+ {
+ "name": "bounty"
+ },
+ {
+ "name": "captains_paper"
+ },
+ {
+ "name": "invoice"
+ }
+ ]
+}
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/paper.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/paper.png
new file mode 100644
index 00000000000..9d2da8bf6d9
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/paper.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/unlocked.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/unlocked.png
new file mode 100644
index 00000000000..d3d98670348
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/unlocked.png differ
diff --git a/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/welded.png b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/welded.png
new file mode 100644
index 00000000000..b7a617ce6de
Binary files /dev/null and b/Resources/Textures/_DV/Structures/Storage/display_cases.rsi/welded.png differ