diff --git a/Resources/Locale/en-US/prototypes/catalog/cargo/cargo-service.ftl b/Resources/Locale/en-US/prototypes/catalog/cargo/cargo-service.ftl index 90730fee02..3657bb0a75 100644 --- a/Resources/Locale/en-US/prototypes/catalog/cargo/cargo-service.ftl +++ b/Resources/Locale/en-US/prototypes/catalog/cargo/cargo-service.ftl @@ -18,3 +18,6 @@ ent-ServiceBureaucracy = { ent-CrateServiceBureaucracy } ent-ServicePersonnel = { ent-CrateServicePersonnel } .desc = { ent-CrateServicePersonnel.desc } + +ent-ServiceBooks = { ent-CrateServiceBooks } + .desc = { ent-CrateServiceBooks.desc } diff --git a/Resources/Locale/en-US/prototypes/catalog/fills/crates/service-crates.ftl b/Resources/Locale/en-US/prototypes/catalog/fills/crates/service-crates.ftl index 247a3b9e2b..82c955a888 100644 --- a/Resources/Locale/en-US/prototypes/catalog/fills/crates/service-crates.ftl +++ b/Resources/Locale/en-US/prototypes/catalog/fills/crates/service-crates.ftl @@ -18,3 +18,6 @@ ent-CrateServiceBureaucracy = Bureaucracy crate ent-CrateServicePersonnel = Personnel crate .desc = Contains a box of blank ID cards and PDAs. + +ent-CrateServiceBooks = Books crate + .desc = Contains 10 empty books of random appearance diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml index e9c3d19681..c9329167f2 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_service.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_service.yml @@ -67,3 +67,13 @@ cost: 1000 category: Service group: market + +- type: cargoProduct + id: ServiceBooks + icon: + sprite: Objects/Misc/books.rsi + state: book0 + product: CrateServiceBooks + cost: 1000 + category: Service + group: market diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml index d13f55cab8..5be7adfaab 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml @@ -116,6 +116,16 @@ - id: AcousticGuitarInstrument - id: SaxophoneInstrument +- type: entity + noSpawn: true + parent: ClothingBackpack + id: ClothingBackpackLibrarianFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: BookRandom + - type: entity noSpawn: true parent: ClothingBackpack diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml index 5f72fce38a..a04b9fb846 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml @@ -115,6 +115,16 @@ - id: AcousticGuitarInstrument - id: SaxophoneInstrument +- type: entity + noSpawn: true + parent: ClothingBackpackDuffel + id: ClothingBackpackDuffelLibrarianFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: BookRandom + - type: entity noSpawn: true parent: ClothingBackpackDuffel diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml index 0296477938..8abb4cfa79 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml @@ -104,6 +104,16 @@ - id: AcousticGuitarInstrument - id: SaxophoneInstrument +- type: entity + noSpawn: true + parent: ClothingBackpackSatchel + id: ClothingBackpackSatchelLibrarianFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: BookRandom + - type: entity noSpawn: true parent: ClothingBackpackSatchel diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index e046d51a17..1f5982cfcc 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -102,3 +102,12 @@ amount: 1 - id: BoxID amount: 1 + +- type: entity + id: CrateServiceBooks + parent: CrateGenericSteel + components: + - type: StorageFill + contents: + - id: BookRandom + amount: 10 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml index e791b4d669..059ce5f9bb 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/games.yml @@ -8,3 +8,4 @@ BackgammonBoard: 1 ParchisBoard: 1 CheckerBoard: 1 + BooksBag: 3 diff --git a/Resources/Prototypes/Entities/Objects/Misc/books.yml b/Resources/Prototypes/Entities/Objects/Misc/books.yml index a69fd75a75..fce7cf0d47 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/books.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/books.yml @@ -18,6 +18,9 @@ interfaces: - key: enum.PaperUiKey.Key type: PaperBoundUserInterface + - type: Tag + tags: + - Book - type: entity parent: BookBase diff --git a/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml new file mode 100644 index 0000000000..787c9a39e6 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/Librarian/books_bag.yml @@ -0,0 +1,24 @@ +- type: entity + name: books bag + id: BooksBag + parent: BaseStorageItem + description: A refined bag to carry your own library + components: + - type: Sprite + netsync: false + sprite: Objects/Specific/Library/Equipment/books_bag.rsi + state: icon + - type: Clothing + sprite: Objects/Specific/Library/Equipment/books_bag.rsi + quickEquip: false + slots: + - belt + - type: Item + size: 151 + - type: Storage + capacity: 150 + quickInsert: true + areaInsert: true + whitelist: + tags: + - Book diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml index 810bbdfdf6..76592f8362 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml @@ -13,13 +13,15 @@ id: LibrarianGear equipment: jumpsuit: ClothingUniformJumpsuitLibrarian - back: ClothingBackpackFilled + back: ClothingBackpackLibrarianFilled shoes: ClothingShoesBootsLaceup id: LibrarianPDA ears: ClothingHeadsetService pocket1: d10Dice + belt: BooksBag + pocket2: HandLabeler # for making named bestsellers inhand: right hand: BriefcaseBrownFilled innerclothingskirt: ClothingUniformJumpskirtColorLightBrown - satchel: ClothingBackpackSatchelFilled - duffelbag: ClothingBackpackDuffelFilled + satchel: ClothingBackpackSatchelLibrarianFilled + duffelbag: ClothingBackpackDuffelLibrarianFilled diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 663f7855d9..51f3a9e571 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -24,6 +24,9 @@ - type: Tag id: BodyBag +- type: Tag + id: Book + - type: Tag id: BorgArm diff --git a/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/equipped-BELT.png b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/equipped-BELT.png new file mode 100644 index 0000000000..a0784e730e Binary files /dev/null and b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/equipped-BELT.png differ diff --git a/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/icon.png b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/icon.png new file mode 100644 index 0000000000..c53e0400c0 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/meta.json b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/meta.json new file mode 100644 index 0000000000..e880e01027 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Library/Equipment/books_bag.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Remade from plant bag by discord user \"Red Horse#9950\"", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] +}