--- /dev/null
+namespace Content.Server.Paper;
+
+/// <summary>
+/// Adds randomly generated stories to Paper component
+/// </summary>
+[RegisterComponent, Access(typeof(PaperRandomStorySystem))]
+public sealed partial class PaperRandomStoryComponent : Component
+{
+ [DataField]
+ public List<string>? StorySegments;
+
+ [DataField]
+ public string StorySeparator = " ";
+}
--- /dev/null
+using Content.Server.RandomMetadata;
+
+namespace Content.Server.Paper;
+
+public sealed class PaperRandomStorySystem : EntitySystem
+{
+
+ [Dependency] private readonly RandomMetadataSystem _randomMeta = default!;
+
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ SubscribeLocalEvent<PaperRandomStoryComponent, MapInitEvent>(OnMapinit);
+ }
+
+ private void OnMapinit(Entity<PaperRandomStoryComponent> paperStory, ref MapInitEvent ev)
+ {
+ if (!TryComp<PaperComponent>(paperStory, out var paper))
+ return;
+
+ if (paperStory.Comp.StorySegments == null)
+ return;
+
+ var story = _randomMeta.GetRandomFromSegments(paperStory.Comp.StorySegments, paperStory.Comp.StorySeparator);
+
+ paper.Content += $"\n{story}";
+ }
+}
-using Content.Shared.Dataset;
+using Content.Shared.Dataset;
using JetBrains.Annotations;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
foreach (var segment in segments)
{
outputSegments.Add(_prototype.TryIndex<DatasetPrototype>(segment, out var proto)
- ? _random.Pick(proto.Values)
- : segment);
+ ? Loc.GetString(_random.Pick(proto.Values))
+ : Loc.GetString(segment));
}
return string.Join(separator, outputSegments);
}
-using Content.Shared.Construction.Conditions;
+using Content.Shared.Construction.Conditions;
using Content.Shared.Whitelist;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
--- /dev/null
+story-gen-book-type1 = book
+story-gen-book-type2 = folio
+story-gen-book-type3 = collection
+story-gen-book-type4 = notes
+story-gen-book-type5 = manuscript
+story-gen-book-type6 = records
+story-gen-book-type7 = tome
+story-gen-book-type8 = journal
+story-gen-book-type9 = archives
+story-gen-book-type10= codex
+story-gen-book-type11= memories
+story-gen-book-type12= compendium
+
+story-gen-book-genre1 = work of crime fiction
+story-gen-book-genre2 = comedy
+story-gen-book-genre3 = horror story
+story-gen-book-genre4 = poem
+story-gen-book-genre5 = novella
+story-gen-book-genre6 = chronicle
+story-gen-book-genre7 = work of science-fiction
+story-gen-book-genre8 = fantasy story
+story-gen-book-genre9 = romance
+story-gen-book-genre10= thriller
+story-gen-book-genre11= work of historical fiction
+story-gen-book-genre12= biography
+story-gen-book-genre13= adventure story
+story-gen-book-genre14= drama
+
+story-gen-book-appearance1 = ancient
+story-gen-book-appearance2 = shabby
+story-gen-book-appearance3 = dirty
+story-gen-book-appearance4 = unusual
+story-gen-book-appearance5 = faded
+story-gen-book-appearance6 = nasty
+story-gen-book-appearance7 = dusty
+story-gen-book-appearance8 = scary
+story-gen-book-appearance9 = bloody
+story-gen-book-appearance10= bright
+story-gen-book-appearance11= dubious
+story-gen-book-appearance12= intriguing
+story-gen-book-appearance13= ugly
+story-gen-book-appearance14= crooked
+story-gen-book-appearance15= crumpled
+story-gen-book-appearance16= dirty
+story-gen-book-appearance17= elegant
+story-gen-book-appearance18= ornate
+story-gen-book-appearance19= weathered
+story-gen-book-appearance20= chrisp
+story-gen-book-appearance21= lavish
+story-gen-book-appearance22= tattered
+story-gen-book-appearance23= polished
+story-gen-book-appearance24= embossed
+story-gen-book-appearance25= mismatched
+story-gen-book-appearance26= gilded
+story-gen-book-appearance27= strange
+
+story-gen-book-character1 = clown
+story-gen-book-character2 = mime
+story-gen-book-character3 = reporter
+story-gen-book-character4 = butcher
+story-gen-book-character5 = bartender
+story-gen-book-character6 = janitor
+story-gen-book-character7 = engineer
+story-gen-book-character8 = scientist
+story-gen-book-character9 = guard
+story-gen-book-character10 = doctor
+story-gen-book-character11 = chemist
+story-gen-book-character12 = prisoner
+story-gen-book-character13 = researcher
+story-gen-book-character14 = trader
+story-gen-book-character15 = captain
+story-gen-book-character16 = lizard
+story-gen-book-character17 = moth
+story-gen-book-character18 = diona
+story-gen-book-character19 = cat-girl
+story-gen-book-character20 = cat
+story-gen-book-character21 = corgi
+story-gen-book-character22 = dog
+story-gen-book-character23 = opossum
+story-gen-book-character24 = sloth
+story-gen-book-character25 = syndicate agent
+story-gen-book-character26 = revenant
+story-gen-book-character27 = rat king
+story-gen-book-character28 = ninja
+story-gen-book-character29 = space dragon
+story-gen-book-character30 = revolutionary
+story-gen-book-character31 = nuclear operative
+story-gen-book-character32 = narsie cultist
+story-gen-book-character33 = ratwar cultist
+story-gen-book-character34 = greytider
+story-gen-book-character35 = arachnid
+story-gen-book-character36 = vox
+story-gen-book-character37 = dwarf
+story-gen-book-character38 = thief
+story-gen-book-character39 = wizard
+story-gen-book-character40 = slime
+
+story-gen-book-character-trait1 = stupid
+story-gen-book-character-trait2 = smart
+story-gen-book-character-trait3 = funny
+story-gen-book-character-trait4 = attractive
+story-gen-book-character-trait5 = charming
+story-gen-book-character-trait6 = nasty
+story-gen-book-character-trait7 = dying
+story-gen-book-character-trait8 = old
+story-gen-book-character-trait9 = young
+story-gen-book-character-trait10 = rich
+story-gen-book-character-trait11 = poor
+story-gen-book-character-trait12 = popular
+story-gen-book-character-trait13 = absent-minded
+story-gen-book-character-trait14 = stern
+story-gen-book-character-trait15 = сharismatic
+story-gen-book-character-trait16 = stoic
+story-gen-book-character-trait17 = cute
+story-gen-book-character-trait18 = dwarven
+story-gen-book-character-trait19 = beer-smelling
+story-gen-book-character-trait20 = joyful
+story-gen-book-character-trait21 = painfully beautiful
+story-gen-book-character-trait22 = robotic
+story-gen-book-character-trait23 = holographic
+story-gen-book-character-trait24 = hysterically laughing
+
+story-gen-book-event1 = a zombie outbreak
+story-gen-book-event2 = a nuclear explosion
+story-gen-book-event3 = a mass murder
+story-gen-book-event4 = a sudden depressurization
+story-gen-book-event5 = a blackout
+story-gen-book-event6 = the starvation of the protagonists
+story-gen-book-event7 = a wasting illness
+story-gen-book-event8 = love at first sight
+story-gen-book-event9 = a rush of inspiration
+story-gen-book-event10 = the occurrence of some mystical phenomena
+story-gen-book-event11 = divine intervention
+story-gen-book-event12 = the characters' own selfish motives
+story-gen-book-event13 = an unforeseen deception
+story-gen-book-event14 = the resurrection of one of these characters from the dead
+story-gen-book-event15 = the terrible torture of the protagonist
+story-gen-book-event16 = the inadvertent loosing of a gravitational singularity
+story-gen-book-event17 = a psychic prediction of future events
+story-gen-book-event18 = an antimatter explosion
+story-gen-book-event19 = a chance meeting with a cat-girl
+story-gen-book-event20 = drinking far too much alcohol
+story-gen-book-event21 = eating way too much pizza
+story-gen-book-event22 = having a quarrel with a close friend
+story-gen-book-event23 = the sudden loss of their home in a fiery blaze
+story-gen-book-event24 = the loss of a PDA
+
+story-gen-book-action1 = share in a kiss with a
+story-gen-book-action2 = strangle to death a
+story-gen-book-action3 = manage to blow apart a
+story-gen-book-action4 = manage to win a game of chess against a
+story-gen-book-action5 = narrowly lose a game of chess against a
+story-gen-book-action6 = reveal the hidden secrets of a
+story-gen-book-action7 = manipulate a
+story-gen-book-action8 = sacrifice upon an altar a
+story-gen-book-action9 = attend the wedding of a
+story-gen-book-action10 = join forces to defeat their common enemy, a
+story-gen-book-action11 = are forced to work together to escape a
+story-gen-book-action12 = give a valuable gift to
+
+story-gen-book-action-trait1 = terribly
+story-gen-book-action-trait2 = disgustingly
+story-gen-book-action-trait3 = marvelously
+story-gen-book-action-trait4 = nicely
+story-gen-book-action-trait5 = weirdly
+story-gen-book-action-trait6 = amusingly
+story-gen-book-action-trait7 = fancifully
+story-gen-book-action-trait8 = impressively
+story-gen-book-action-trait9 = irresponsibly
+story-gen-book-action-trait10 = severely
+story-gen-book-action-trait11 = ruthlessly
+story-gen-book-action-trait12 = playfully
+story-gen-book-action-trait13 = thoughtfully
+
+story-gen-book-location1 = in an underground complex
+story-gen-book-location2 = while on an expedition
+story-gen-book-location3 = while trapped in outer space
+story-gen-book-location4 = while in a news office
+story-gen-book-location5 = in a hidden garden
+story-gen-book-location6 = in the kitchen of a local restaurant
+story-gen-book-location7 = under the counter of the local sports bar
+story-gen-book-location8 = in an ancient library
+story-gen-book-location9 = while deep in bowels of the space station's maintenance corridors
+story-gen-book-location10 = on the bridge of a starship
+story-gen-book-location11 = while in a grungy public bathroom
+story-gen-book-location12 = while trapped inside a crate
+story-gen-book-location13 = while stuck inside a locker
+story-gen-book-location14 = while stationed on Barratry
+story-gen-book-location15 = while in the hall of rustic church
+story-gen-book-location16 = while in a crematorium
+story-gen-book-location17 = standing too close to an anomaly
+story-gen-book-location18 = while huddling on the evacuation shuttle
+story-gen-book-location19 = standing in freshly fallen snow
+story-gen-book-location20 = lost in the woods
+story-gen-book-location21 = iin the harsh desert
+story-gen-book-location22 = worrying about their social media networks
+story-gen-book-location23 = atop of a mountain
+story-gen-book-location24 = while driving a car
+story-gen-book-location25 = in an escape pod
+story-gen-book-location26 = while abroad in a fictional country
+story-gen-book-location27 = clinging to the wing of an inflight airplane
+story-gen-book-location28 = inside a pocket dimension
+story-gen-book-location29 = onboard a Wizard Federation shuttle
+story-gen-book-location30 = standing atop of a mountain of corpses
+story-gen-book-location31 = while psychically projected into their subconscious
+story-gen-book-location32 = while trapped in a shadow dimension
+story-gen-book-location33 = while trying to escape a destroyed space station
+story-gen-book-location34 = while sandwiched between a Tesla ball and a gravitational singularity
+
+story-gen-book-element1 = The plot
+story-gen-book-element2 = The twist
+story-gen-book-element3 = The climax
+story-gen-book-element4 = The final act
+story-gen-book-element5 = The ending
+story-gen-book-element6 = The moral of the story
+story-gen-book-element7 = The theme of this work
+story-gen-book-element8 = The literary style
+story-gen-book-element9 = The illustrations
+
+story-gen-book-element-trait1 = terrifying
+story-gen-book-element-trait2 = disgusting
+story-gen-book-element-trait3 = wonderful
+story-gen-book-element-trait4 = cute
+story-gen-book-element-trait5 = boring
+story-gen-book-element-trait6 = strange
+story-gen-book-element-trait7 = amusing
+story-gen-book-element-trait8 = whimsical
+story-gen-book-element-trait9 = impressive
+story-gen-book-element-trait10 = interesting
+story-gen-book-element-trait11 = inadequate
+story-gen-book-element-trait12 = sad
+story-gen-book-element-trait13 = rather depressing
+
+
+
+
+
+
+
+
+
+
+
+
id: ServiceBooks
icon:
sprite: Objects/Misc/books.rsi
- state: book0
+ state: book_icon
product: CrateServiceBooks
cost: 1000
category: cargoproduct-category-name-service
id: ServiceGuidebooks
icon:
sprite: Objects/Misc/books.rsi
- state: book_engineering2
+ state: book_icon
product: CrateServiceGuidebooks
cost: 1300
category: cargoproduct-category-name-service
components:
- type: StorageFill
contents:
- - id: BookRandom
- prob: 0.4
- amount: 1
- maxAmount: 4
+ - id: BookRandomStory
+ prob: 0.6
+ amount: 2
+ maxAmount: 6
+ - id: BookSpaceEncyclopedia
+ orGroup: BookPool
+ - id: BookTheBookOfControl
+ orGroup: BookPool
+ - id: BookBartendersManual
+ orGroup: BookPool
+ - id: BookChefGaming
+ orGroup: BookPool
+ - id: BookLeafLoversSecret
+ orGroup: BookPool
+ - id: BookEngineersHandbook
+ orGroup: BookPool
+ - id: BookScientistsGuidebook
+ orGroup: BookPool
+ - id: BookSecurity
+ orGroup: BookPool
+ - id: BookHowToKeepStationClean
+ orGroup: BookPool
+ - id: BookHowToRockAndStone
+ orGroup: BookPool
+ - id: BookMedicalReferenceBook
+ orGroup: BookPool
+ - id: BookHowToSurvive
+ orGroup: BookPool
+ - id: BookChemicalCompendium
+ orGroup: BookPool
- id: BookNarsieLegend
prob: 0.1
+ orGroup: BookAuthor
- id: BookTruth
prob: 0.1
+ orGroup: BookAuthor
- id: BookWorld
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanAntarctica
prob: 0.1
+ orGroup: BookAuthor
- id: BookSlothClownSSS
prob: 0.1
+ orGroup: BookAuthor
- id: BookSlothClownPranks
prob: 0.1
+ orGroup: BookAuthor
- id: BookSlothClownMMD
prob: 0.1
+ orGroup: BookAuthor
- id: BookStruck
prob: 0.1
+ orGroup: BookAuthor
- id: BookSun
prob: 0.1
+ orGroup: BookAuthor
- id: BookPossum
prob: 0.1
+ orGroup: BookAuthor
- id: BookCafe
prob: 0.1
+ orGroup: BookAuthor
- id: BookFeather
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanLostWolfPup
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanRanch
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanOcean
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanMountain
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanCity
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanArctic
prob: 0.1
+ orGroup: BookAuthor
- id: BookIanDesert
prob: 0.1
+ orGroup: BookAuthor
- id: BookNames
prob: 0.1
+ orGroup: BookAuthor
- id: BookEarth
prob: 0.1
+ orGroup: BookAuthor
- id: BookAurora
prob: 0.1
+ orGroup: BookAuthor
- id: BookTemple
prob: 0.1
+ orGroup: BookAuthor
- id: BookWatched
prob: 0.1
+ orGroup: BookAuthor
- id: BookMedicalOfficer
prob: 0.1
+ orGroup: BookAuthor
- id: BookMorgue
prob: 0.1
+ orGroup: BookAuthor
- id: BookRufus
prob: 0.1
+ orGroup: BookAuthor
- id: BookMap
prob: 0.1
+ orGroup: BookAuthor
- id: BookJourney
prob: 0.1
+ orGroup: BookAuthor
- id: BookInspiration
prob: 0.1
- - id: BookSpaceEncyclopedia
- orGroup: BookPool
- - id: BookTheBookOfControl
- orGroup: BookPool
- - id: BookBartendersManual
- orGroup: BookPool
- - id: BookChefGaming
- orGroup: BookPool
- - id: BookLeafLoversSecret
- orGroup: BookPool
- - id: BookEngineersHandbook
- orGroup: BookPool
- - id: BookScientistsGuidebook
- orGroup: BookPool
- - id: BookSecurity
- orGroup: BookPool
- - id: BookHowToKeepStationClean
- orGroup: BookPool
- - id: BookHowToRockAndStone
- orGroup: BookPool
- - id: BookMedicalReferenceBook
- orGroup: BookPool
- - id: BookHowToSurvive
- orGroup: BookPool
- - id: BookChemicalCompendium
- orGroup: BookPool
+ orGroup: BookAuthor
+++ /dev/null
-# ---- Library Salvage Fills ----
-
-- type: entity
- name: demonomicon
- parent: BookBase
- id: BookDemonomicon
- noSpawn: true
- description: 'Who knows what dark spells may be contained in these horrid pages?'
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book_demonomicon
-
-- type: entity
- name: demonomicon
- parent: BookDemonomicon
- id: BookDemonomiconRandom
- suffix: random
- components:
- - type: RandomSpawner
- prototypes:
- - BookDemonomicon1
- - BookDemonomicon2
- - BookDemonomicon3
- offset: 0.1
-
-- type: entity
- parent: BookDemonomicon
- id: BookDemonomicon1
- suffix: 1
- components:
- - type: Paper
- content: book-text-demonomicon1
-
-- type: entity
- parent: BookDemonomicon
- id: BookDemonomicon2
- suffix: 2
- components:
- - type: Paper
- content: book-text-demonomicon2
-
-- type: entity
- parent: BookDemonomicon
- id: BookDemonomicon3
- suffix: 3
- components:
- - type: Paper
- content: book-text-demonomicon3
-
-- type: entity
- name: pharmaceutical manuscript
- parent: BookBase
- id: BookChemistryInsane
- suffix: library salvage
- description: 'You can tell whoever wrote this was off the desoxy HARD.'
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book_chemistry
- - type: Paper
- content: book-text-chemistry-insane
-
-- type: entity
- name: botanical textbook
- parent: BookBase
- id: BookBotanicalTextbook
- suffix: library salvage
- description: 'Only a couple pages are left.'
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book_hydroponics_pod_people
- - type: Paper
- content: book-text-botanics
-
-- type: entity
- parent: BookBase
- id: BookGnominomicon
- name: gnominomicon
- suffix: library salvage
- description: You don't like the look of this. Looks
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book5
- - type: Paper
- content: book-text-gnome
-
-- type: entity
- parent: BookBase
- id: BookFishing
- name: Tales from the Fishbowl
- suffix: library salvage
- description: This book sucks.
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book_fish
- - type: Paper
- content: book-text-fishing
-
-- type: entity
- parent: BookBase
- id: BookDetective
- name: Strokgraeth Holmes, Dwarf Detective
- suffix: library salvage
- description: Exciting! Invigorating! This author died after his book career failed.
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book_detective
- - type: Paper
- content: book-text-detective
-
-# ---- End Library Salvage Fills ----
prob: 0.20
- id: BarberScissors
prob: 0.05
+ - id: BookRandomStory
+ prob: 0.1
# Syndicate loot
- id: null
prob: 0.95
--- /dev/null
+- type: dataset
+ id: book_type
+ values:
+ - story-gen-book-type1
+ - story-gen-book-type2
+ - story-gen-book-type3
+ - story-gen-book-type4
+ - story-gen-book-type5
+ - story-gen-book-type6
+ - story-gen-book-type7
+ - story-gen-book-type8
+ - story-gen-book-type9
+ - story-gen-book-type10
+ - story-gen-book-type11
+ - story-gen-book-type12
+
+- type: dataset
+ id: book_genre
+ values:
+ - story-gen-book-genre1
+ - story-gen-book-genre2
+ - story-gen-book-genre3
+ - story-gen-book-genre4
+ - story-gen-book-genre5
+ - story-gen-book-genre6
+ - story-gen-book-genre7
+ - story-gen-book-genre8
+ - story-gen-book-genre9
+ - story-gen-book-genre10
+ - story-gen-book-genre11
+ - story-gen-book-genre12
+ - story-gen-book-genre13
+ - story-gen-book-genre14
+
+- type: dataset
+ id: book_hint_appearance
+ values:
+ - story-gen-book-appearance1
+ - story-gen-book-appearance2
+ - story-gen-book-appearance3
+ - story-gen-book-appearance4
+ - story-gen-book-appearance5
+ - story-gen-book-appearance6
+ - story-gen-book-appearance7
+ - story-gen-book-appearance8
+ - story-gen-book-appearance9
+ - story-gen-book-appearance10
+ - story-gen-book-appearance11
+ - story-gen-book-appearance12
+ - story-gen-book-appearance13
+ - story-gen-book-appearance14
+ - story-gen-book-appearance15
+ - story-gen-book-appearance16
+ - story-gen-book-appearance17
+ - story-gen-book-appearance18
+ - story-gen-book-appearance19
+ - story-gen-book-appearance20
+ - story-gen-book-appearance21
+ - story-gen-book-appearance22
+ - story-gen-book-appearance23
+ - story-gen-book-appearance24
+ - story-gen-book-appearance25
+ - story-gen-book-appearance26
+ - story-gen-book-appearance27
+
+- type: dataset
+ id: book_character
+ values:
+ - story-gen-book-character1
+ - story-gen-book-character2
+ - story-gen-book-character3
+ - story-gen-book-character4
+ - story-gen-book-character5
+ - story-gen-book-character6
+ - story-gen-book-character7
+ - story-gen-book-character8
+ - story-gen-book-character9
+ - story-gen-book-character10
+ - story-gen-book-character11
+ - story-gen-book-character12
+ - story-gen-book-character13
+ - story-gen-book-character14
+ - story-gen-book-character15
+ - story-gen-book-character16
+ - story-gen-book-character17
+ - story-gen-book-character18
+ - story-gen-book-character19
+ - story-gen-book-character20
+ - story-gen-book-character21
+ - story-gen-book-character22
+ - story-gen-book-character23
+ - story-gen-book-character24
+ - story-gen-book-character25
+ - story-gen-book-character26
+ - story-gen-book-character27
+ - story-gen-book-character28
+ - story-gen-book-character29
+ - story-gen-book-character30
+ - story-gen-book-character31
+ - story-gen-book-character32
+ - story-gen-book-character33
+ - story-gen-book-character34
+ - story-gen-book-character35
+ - story-gen-book-character36
+ - story-gen-book-character37
+ - story-gen-book-character38
+ - story-gen-book-character39
+ - story-gen-book-character40
+
+- type: dataset
+ id: book_character_trait
+ values:
+ - story-gen-book-character-trait1
+ - story-gen-book-character-trait2
+ - story-gen-book-character-trait3
+ - story-gen-book-character-trait4
+ - story-gen-book-character-trait5
+ - story-gen-book-character-trait6
+ - story-gen-book-character-trait7
+ - story-gen-book-character-trait8
+ - story-gen-book-character-trait9
+ - story-gen-book-character-trait10
+ - story-gen-book-character-trait11
+ - story-gen-book-character-trait12
+ - story-gen-book-character-trait13
+ - story-gen-book-character-trait14
+ - story-gen-book-character-trait15
+ - story-gen-book-character-trait16
+ - story-gen-book-character-trait17
+ - story-gen-book-character-trait18
+ - story-gen-book-character-trait19
+ - story-gen-book-character-trait20
+ - story-gen-book-character-trait21
+ - story-gen-book-character-trait22
+ - story-gen-book-character-trait23
+ - story-gen-book-character-trait24
+
+
+- type: dataset
+ id: book_event
+ values:
+ - story-gen-book-event1
+ - story-gen-book-event2
+ - story-gen-book-event3
+ - story-gen-book-event4
+ - story-gen-book-event5
+ - story-gen-book-event6
+ - story-gen-book-event7
+ - story-gen-book-event8
+ - story-gen-book-event9
+ - story-gen-book-event10
+ - story-gen-book-event11
+ - story-gen-book-event12
+ - story-gen-book-event13
+ - story-gen-book-event14
+ - story-gen-book-event15
+ - story-gen-book-event16
+ - story-gen-book-event17
+ - story-gen-book-event18
+ - story-gen-book-event19
+ - story-gen-book-event20
+ - story-gen-book-event21
+ - story-gen-book-event22
+ - story-gen-book-event23
+ - story-gen-book-event24
+
+- type: dataset
+ id: book_action
+ values:
+ - story-gen-book-action1
+ - story-gen-book-action2
+ - story-gen-book-action3
+ - story-gen-book-action4
+ - story-gen-book-action5
+ - story-gen-book-action6
+ - story-gen-book-action7
+ - story-gen-book-action8
+ - story-gen-book-action9
+ - story-gen-book-action10
+ - story-gen-book-action11
+ - story-gen-book-action12
+
+- type: dataset
+ id: book_action_trait
+ values:
+ - story-gen-book-action-trait1
+ - story-gen-book-action-trait2
+ - story-gen-book-action-trait3
+ - story-gen-book-action-trait4
+ - story-gen-book-action-trait5
+ - story-gen-book-action-trait6
+ - story-gen-book-action-trait7
+ - story-gen-book-action-trait8
+ - story-gen-book-action-trait9
+ - story-gen-book-action-trait10
+ - story-gen-book-action-trait11
+ - story-gen-book-action-trait12
+ - story-gen-book-action-trait13
+
+- type: dataset
+ id: book_location
+ values:
+ - story-gen-book-location1
+ - story-gen-book-location2
+ - story-gen-book-location3
+ - story-gen-book-location4
+ - story-gen-book-location5
+ - story-gen-book-location6
+ - story-gen-book-location7
+ - story-gen-book-location8
+ - story-gen-book-location9
+ - story-gen-book-location10
+ - story-gen-book-location11
+ - story-gen-book-location12
+ - story-gen-book-location13
+ - story-gen-book-location14
+ - story-gen-book-location15
+ - story-gen-book-location16
+ - story-gen-book-location17
+ - story-gen-book-location18
+ - story-gen-book-location19
+ - story-gen-book-location20
+ - story-gen-book-location21
+ - story-gen-book-location22
+ - story-gen-book-location23
+ - story-gen-book-location24
+ - story-gen-book-location25
+ - story-gen-book-location26
+ - story-gen-book-location27
+ - story-gen-book-location28
+ - story-gen-book-location29
+ - story-gen-book-location30
+ - story-gen-book-location31
+ - story-gen-book-location32
+ - story-gen-book-location33
+ - story-gen-book-location34
+
+- type: dataset
+ id: book_story_element
+ values:
+ - story-gen-book-element1
+ - story-gen-book-element2
+ - story-gen-book-element3
+ - story-gen-book-element4
+ - story-gen-book-element5
+ - story-gen-book-element6
+ - story-gen-book-element7
+ - story-gen-book-element8
+ - story-gen-book-element9
+
+- type: dataset
+ id: book_story_element_trait
+ values:
+ - story-gen-book-element-trait1
+ - story-gen-book-element-trait2
+ - story-gen-book-element-trait3
+ - story-gen-book-element-trait4
+ - story-gen-book-element-trait5
+ - story-gen-book-element-trait6
+ - story-gen-book-element-trait7
+ - story-gen-book-element-trait8
+ - story-gen-book-element-trait9
+ - story-gen-book-element-trait10
+ - story-gen-book-element-trait11
+ - story-gen-book-element-trait12
+ - story-gen-book-element-trait13
\ No newline at end of file
programName: notekeeper-program-name
icon:
sprite: Objects/Misc/books.rsi
- state: book6
+ state: book_icon
- type: NotekeeperCartridge
- type: entity
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_demonomicon
+ - state: paper_blood
+ - state: cover_strong
+ color: "#645a5a"
+ - state: decor_wingette_flat
+ color: "#4d0303"
+ - state: icon_pentagramm
+ color: "#f7e19f"
- type: Spellbook
- type: Tag
tags:
parent: BaseSpellbook
components:
- type: Sprite
- sprite: Objects/Magic/spellbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: bookforcewall
+ - state: paper
+ - state: cover_strong
+ color: "#366ed6"
+ - state: decor_vertical_middle
+ color: "#95ffff"
+ - state: decor_wingette_circle
+ color: "#95ffff"
+ - state: icon_magic_forcewall
+ shader: unshaded
+ - state: detail_rivets
+ color: gold
- type: Spellbook
spells:
ActionForceWall: -1
parent: BaseSpellbook
components:
- type: Sprite
- sprite: Objects/Magic/spellbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: spellbook
+ - state: paper
+ - state: cover_old
+ color: "#657e9c"
+ - state: icon_text3
+ - state: decor_wingette_circle
+ color: gold
+ - state: icon_magic
+ - state: detail_rivets
+ color: gold
- type: Spellbook
spells:
ActionBlink: -1
name: smite spellbook
parent: BaseSpellbook
components:
- - type: Sprite
- sprite: Objects/Magic/spellbooks.rsi
- layers:
- - state: spellbook
- - type: Spellbook
- spells:
- ActionSmite: -1
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_old
+ color: "#c42b40"
+ - state: decor_wingette_circle
+ color: gold
+ - state: icon_magic
+ - state: detail_rivets
+ color: gold
+ - state: detail_bookmark
+ color: red
+ - state: overlay_blood
+ - type: Spellbook
+ spells:
+ ActionSmite: -1
- type: entity
id: KnockSpellbook
parent: BaseSpellbook
components:
- type: Sprite
- sprite: Objects/Magic/spellbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: bookknock
+ - state: paper
+ - state: cover_strong
+ color: "#117045"
+ - state: decor_wingette_circle
+ color: gold
+ - state: icon_magic_knock
+ - state: detail_rivets
+ color: gold
+ - state: detail_bookmark
+ color: "#98c495"
- type: Spellbook
spells:
ActionKnock: -1
name: fireball spellbook
parent: BaseSpellbook
components:
- - type: Sprite
- sprite: Objects/Magic/spellbooks.rsi
- layers:
- - state: bookfireball
- - type: Spellbook
- spells:
- ActionFireball: -1
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_old
+ color: "#ba5a14"
+ - state: decor_wingette_circle
+ color: gold
+ - state: detail_rivets
+ color: gold
+ - state: detail_bookmark
+ color: "#e89b3c"
+ - state: overlay_blood
+ - state: icon_magic_fireball
+ shader: unshaded
+ - type: Spellbook
+ spells:
+ ActionFireball: -1
- type: entity
id: ScrollRunes
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book0
- map: [ "enum.DamageStateVisualLayers.Base" ]
+ - state: paper
+ - state: cover_base
+ color: "#332d27"
+ map: [ "cover" ]
+ - state: decor_wingette
+ color: "#453f3a"
+ map: [ "decor" ]
+ - state: icon_text
+ map: [ "icon" ]
+ - state: overlay_null
+ map: [ "overlay" ]
- type: Paper
contentSize: 12000
- type: ActivatableUI
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book0 # placeholder(?). if only we have a better sprite that fits this.
+ - state: paper
+ - state: cover_base
+ color: "#0a2a6b"
+ - state: decor_wingette
+ color: "#082561"
+ - state: icon_text
+ color: gold
+ - state: icon_planet
+ color: "#42b6f5"
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book7
+ - state: paper
+ - state: cover_base
+ color: black
+ - state: decor_wingette
+ color: "#bbbbbb"
+ - state: icon_glow
+ color: red
+ - state: icon_corner
+ color: red
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_bar
+ - state: paper
+ - state: cover_base
+ color: "#004848"
+ - state: decor_wingette
+ color: "#006666"
+ - state: icon_bar
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_cooking
+ - state: paper
+ - state: cover_base
+ color: "#e22541"
+ - state: decor_wingette
+ - state: icon_apple
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_hydroponics_pod_people
+ - state: paper
+ - state: cover_base
+ color: "#0e5a24"
+ - state: decor_wingette
+ color: "#2fa151"
+ - state: icon_cabbage
+ - state: icon_corner
+ color: gold
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_engineering
+ - state: paper
+ - state: cover_base
+ color: "#6c4718"
+ - state: decor_wingette
+ color: "#b5913c"
+ - state: icon_wrench
+ - state: icon_corner
+ color: gold
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_science
+ - state: paper
+ - state: cover_base
+ color: "#542485"
+ - state: decor_wingette_circle
+ color: "#be69f0"
+ - state: icon_dna
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_security
+ - state: paper
+ - state: cover_base
+ color: "#ab1515"
+ - state: decor_wingette
+ color: "#e05334"
+ - state: icon_stunbaton
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book0 # no janitorial book sprite so this is a placeholder
+ - state: paper
+ - state: cover_base
+ color: "#550c82"
+ - state: decor_wingette
+ - state: icon_bucket
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book0 # no salvage book sprite so this is a placeholder
+ - state: paper
+ - state: cover_base
+ color: "#52320b"
+ - state: decor_wingette
+ color: "#e69a3e"
+ - state: icon_glow
+ - state: icon_diamond
+ - state: icon_text
+ color: "#fcdf74"
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_medical
+ - state: paper
+ - state: cover_base
+ color: "#cccccc"
+ - state: decor_wingette
+ color: "#f7f7f7"
+ - state: icon_medical
+ color: "#58abcc"
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_engineering
+ - state: paper
+ - state: cover_old
+ color: "#6c4718"
+ - state: decor_wingette
+ color: "#b5913c"
+ - state: icon_glow
+ color: red
+ - state: icon_wrench
+ - state: overlay_blood
- type: Tag
tags:
- Book
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book_chemistry
+ - state: paper
+ - state: cover_base
+ color: "#2a7b74"
+ - state: decor_wingette
+ color: "#2a7b74"
+ - state: icon_chemical
- type: Tag
tags:
- Book
- type: entity
parent: BookBase
id: BookRandom
- suffix: random
+ suffix: random visual
+ description: Each book is unique! What is hidden in this one?
components:
+ - type: RandomMetadata
+ nameSegments:
+ - book_hint_appearance
+ - book_type
- type: RandomSprite
available:
- - enum.DamageStateVisualLayers.Base:
- book0: ""
- book1: ""
- book2: ""
- book3: ""
- book4: ""
- book5: ""
- book6: ""
- book7: ""
- book8: ""
+ - 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_biohazard: Sixteen
+ icon_borg: ""
+ icon_banana: ""
+ icon_glow: Sixteen
+ icon_hacking: ""
+ icon_law: Sixteen
+ icon_magnifier: ""
+ icon_nuclear: ""
+ icon_time: Sixteen
+ icon_aurora: Sixteen
+ icon_briefcase: ""
+ icon_eye: ""
+ icon_letter_N: ""
+ icon_letter_P: ""
+ icon_lightning: ""
+ icon_planet: ""
+ icon_possum: ""
+ icon_question: Sixteen
+ icon_scmmd: ""
+ icon_stars: Sixteen
+ icon_stars2: Sixteen
+ icon_temple: Sixteen
+ icon_tree: ""
+ icon_pentagramm: Sixteen
+ icon_fish: ""
+ icon_origami: ""
+ icon_skull: ""
+ icon_text: ""
+ icon_text2: ""
+ icon_text3: ""
+ overlay:
+ overlay_blood: ""
+ overlay_dirt: Sixteen
+ detail_bookmark: Sixteen
+ detail_rivets: Sixteen
+ overlay_null: ""
- type: entity
- parent: BookBase
- id: BookEscalation
- name: Robert's Rules of Escalation
- description: The book is stained with blood. It seems to have been used more as a weapon than reading material.
- components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book2
- - type: MeleeWeapon
- wideAnimationRotation: 180
- damage:
- types:
- Blunt: 6
- - type: Paper
- content: book-text-escalation
-
-- type: entity
- parent: BookBase
- id: BookEscalationSecurity
- name: "Robert's Rules of Escalation: Security Edition"
- description: The book is stained with blood. It seems to have been used more as a weapon than reading material.
+ parent: BookRandom
+ id: BookRandomStory
+ suffix: random visual, random story
components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book2
- - type: MeleeWeapon
- wideAnimationRotation: 180
- damage:
- types:
- Blunt: 6
- - type: Paper
- content: book-text-escalation-security
-
+ - type: PaperRandomStory
+ storySegments:
+ - "This is a "
+ - book_genre
+ - " about a "
+ - book_character_trait
+ - " "
+ - book_character
+ - " and "
+ - book_character_trait
+ - " "
+ - book_character
+ - ". Due to "
+ - book_event
+ - ", they "
+ - book_action_trait
+ - " "
+ - book_action
+ - " "
+ - book_character
+ - " "
+ - book_location
+ - ". \n\n"
+ - book_story_element
+ - " is "
+ - book_story_element_trait
+ - "."
+ storySeparator: ""
+
- type: entity
parent: BookBase
id: BookAtmosDistro
name: "Newton's Guide to Atmos: The Distro"
description: There are endless illegible notes scribbled in the margins. Most of the text is covered in handwritten question marks.
components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book5
- - type: Paper
- content: book-text-atmos-distro
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_base
+ color: "#366ed6"
+ - state: decor_wingette
+ color: "#2739b0"
+ - state: icon_atmos
+ - state: icon_corner
+ color: gold
+ - type: Paper
+ content: book-text-atmos-distro
- type: entity
parent: BookBase
name: "Newton's Guide to Atmos: Waste"
description: There are endless illegible notes scribbled in the margins. Most of the text is covered in handwritten question marks.
components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book5
- - type: Paper
- content: book-text-atmos-waste
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_base
+ color: "#db233f"
+ - state: decor_wingette
+ color: "#ab0730"
+ - state: icon_atmos
+ - state: icon_corner
+ color: gold
+ - type: Paper
+ content: book-text-atmos-waste
- type: entity
parent: BookBase
name: "Newton's Guide to Atmos: Air Alarms"
description: There are endless illegible notes scribbled in the margins. Most of the text is covered in handwritten question marks.
components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book5
- - type: Paper
- content: book-text-atmos-alarms
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_base
+ color: "#bfb328"
+ - state: decor_wingette
+ color: "#9c7c14"
+ - state: icon_atmos
+ - state: icon_corner
+ color: gold
+ - type: Paper
+ content: book-text-atmos-alarms
- type: entity
parent: BookBase
name: "Newton's Guide to Atmos: Vents and More"
description: There are endless illegible notes scribbled in the margins. Most of the text is covered in handwritten question marks.
components:
- - type: Sprite
- sprite: Objects/Misc/books.rsi
- layers:
- - state: book5
- - type: Paper
- content: book-text-atmos-vents
+ - type: Sprite
+ sprite: Objects/Misc/books.rsi
+ layers:
+ - state: paper
+ - state: cover_base
+ color: "#3ec78e"
+ - state: decor_wingette
+ color: "#28a15a"
+ - state: icon_atmos
+ - state: icon_corner
+ color: gold
+ - type: Paper
+ content: book-text-atmos-vents
\ No newline at end of file
description: The book is an old, leather-bound tome with intricate engravings on the cover. The pages are yellowed and fragile with age, with the ink of the text faded in some places. It appears to have been well-read and well-loved, with dog-eared pages and marginalia scrawled in the margins. Despite its aged appearance, the book still exudes a sense of mystical power and wonder, hinting at the secrets and knowledge contained within its pages.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_narsie_legend
+ - state: paper
+ - state: cover_old
+ color: "#a6161d"
+ - state: decor_bottom
+ color: "#6e1022"
+ - state: decor_wingette
+ color: "#4a101b"
+ - state: icon_pentagramm
+ color: "#911129"
+ - state: detail_bookmark
+ color: red
- type: Paper
content: book-text-narsielegend
description: A book exploring the different philosophical perspectives on truth and lying has a worn cover, with creases and marks indicating frequent use and thoughtful contemplation. The spine shows signs of wear from being pulled off the shelf again and again. The pages themselves are filled with underlines, notes in the margins, and highlighted passages as readers grapple with the nuances and complexities of the topic.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_truth
+ - state: paper
+ - state: cover_strong
+ color: "#c9752a"
+ - state: decor_diagonal
+ color: "#cf792d"
+ - state: decor_wingette_circle
+ color: gold
+ - state: icon_question
+ - state: detail_bookmark
+ color: "#cf792d"
- type: Paper
content: book-text-truth
description: The book is a well-preserved hardcover with a simple, elegant design on the cover, depicting the image of a world in motion. The pages are crisp and clean, with no signs of wear or tear, suggesting that it has been well-cared for and valued by its previous owner. The text is printed in a clear, legible font, and the chapters are organized in a logical and easy-to-follow manner, making it accessible to readers of all levels of expertise.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_world
+ - state: paper
+ - state: cover_base
+ color: "#215e9e"
+ - state: icon_planet
+ - state: icon_text
+ - state: detail_bookmark
+ color: "#2dab24"
- type: Paper
content: book-text-world
description: The book is a small paperback in good condition, with an illustration of Ian the corgi and the colony of penguins on the cover. The title, "Ian and Robert's Antarctic Adventure", is written in bold white letters against a blue background. The back cover features a brief summary of the story, highlighting the themes of humility, resilience, and the beauty of nature.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_antarctica
+ - state: paper
+ - state: cover_base
+ color: "#5779c9"
+ - state: icon_stars2
+ - state: decor_bottom
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-antarctica
description: The book looks new, with a glossy cover featuring Chuckles the clown and Snuggles the sloth floating in space with a backdrop of stars and planets. Chuckles is dressed in his banana costume and Snuggles is sleeping on a hammock made of space ropes. The title "The Sloth and the Clown - Space Station Shenanigans" is written in bold and colorful letters.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_scsss
+ - state: paper
+ - state: cover_base
+ color: "#e838b9"
+ - state: decor_wingette
+ color: "#ab22ba"
+ - state: decor_spine
+ color: "#f7cc2f"
+ - state: icon_banana
+ - state: detail_bookmark
+ color: "#f7cc2f"
- type: Paper
content: book-text-sloth-clown-sss
description: The book is in excellent condition, with crisp pages and a bright cover. The cover of the book features Chuckles and Snuggles, surrounded by the different species they encountered during their adventures in space. In the background, the Zorgs can be seen peeking out from behind a spaceship.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_scpz
+ - state: paper
+ - state: cover_base
+ color: "#f7cc2f"
+ - state: decor_wingette
+ color: "#ab22ba"
+ - state: decor_spine
+ color: "#e838b9"
+ - state: icon_banana
+ - state: detail_bookmark
+ color: "#ab22ba"
- type: Paper
content: book-text-sloth-clown-pz
description: The book looks new and vibrant, with an image of Chuckles and Snuggles standing in front of the changing maze on the cover. The title "The Sloth and the Clown - Maze Maze Danger" is written in bold, colorful letters that pop against a background of space and stars.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_scmmd
+ - state: paper
+ - state: cover_base
+ color: "#e838b9"
+ - state: decor_wingette
+ color: "#ab22ba"
+ - state: decor_spine
+ color: "#f7cc2f"
+ - state: icon_scmmd
+ - state: detail_bookmark
+ color: "#ab22ba"
- type: Paper
content: book-text-sloth-clown-mmd
description: The cover of the book is an electrifying image of lightning striking the ground, with a silhouette of a person standing in the midst of it. The title is written in bold letters in white against a black background, conveying the power and intensity of the experience. The subtitle is written in smaller letters below the title, providing a hint of the philosophical and spiritual themes explored within.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_struck
+ - state: paper
+ - state: cover_strong
+ color: "#2c384d"
+ - state: decor_wingette
+ color: "#3a4a66"
+ - state: decor_wingette_circle
+ color: "#6d7c9c"
+ - state: icon_glow
+ color: "#f7bb2f"
+ - state: icon_lightning
+ color: "#f7bb2f"
+ - state: detail_bookmark
+ color: "#f7bb2f"
- type: Paper
content: book-text-struck
description: The book is new, with a bright and vibrant cover featuring a plant stretching its leaves towards the sun. The title, "Reaching for the Sun - A Plant's Quest for Life," is written in bold, green letters, with an image of the sun rising behind the plant. The cover evokes a sense of growth, energy, and the beauty of nature.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_sun
+ - state: paper
+ - state: cover_base
+ color: "#255c8a"
+ - state: decor_bottom
+ color: "#2d2e12"
+ - state: icon_glow
+ color: "#f7bb2f"
+ - state: icon_cabbage
+ - state: detail_bookmark
+ color: "#f7bb2f"
+ - state: detail_rivets
+ color: "#f7bb2f"
- type: Paper
content: book-text-sun
description: The book is in good condition, with a hardcover and a dark green forest background. In the center of the cover, there is a sad looking possum sitting on a branch, with a distant and lonely expression on its face. The title, "Fallen Ambitions - The Tragic Tale of Morty the Possum," is written in bold, gold letters above the possum.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_possum
+ - state: paper
+ - state: cover_old
+ color: "#a3bfae"
+ - state: icon_possum
+ - state: detail_bookmark
+ color: "#2b593d"
+ - state: overlay_blood
- type: Paper
content: book-text-possum
description: The book is in new condition, with a vibrant and whimsical cover that features a charming illustration of a tiny possum peeking out from behind a coffee cup, with a colorful and bustling cafe scene in the background. The title "The Cafe Possum" is written in bold, playful lettering, and the author's name is printed in a smaller font below it.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_cafe
+ - state: paper
+ - state: cover_strong
+ color: "#e8ab6d"
+ - state: icon_possum
+ - state: detail_bookmark
+ color: "#2b593d"
- type: Paper
content: book-text-cafe
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book4
+ - state: paper
+ - state: cover_strong
+ color: "#abebed"
+ - state: decor_wingette
+ color: "#a081cc"
+ - state: icon_atmos
+ - state: icon_magic
+ - state: detail_bookmark
+ color: "#7396f5"
- type: Paper
content: book-text-feather
description: The book is a new condition with a colorful cover, depicting Ian the corgi and Renault the fox on a journey through the forest, with the lost wolf pup to their feet. The title "The Adventures of Ian and Renault - Finding the Lost Wolf Pup" is prominently displayed at the top, with the author's name below. The cover has a whimsical and adventurous feel to it, attracting readers of all ages.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_wolfpup
+ - state: paper
+ - state: cover_base
+ color: "#3a9e57"
+ - state: decor_bottom
+ color: "#1c6330"
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-wolfpup
description: The book appears to be new, with crisp pages and an unblemished cover. The cover features a colorful illustration of Ian and Renault, surrounded by various animals they encountered on the ranch, including horses, cows, and chickens. The title, "The Adventures of Ian and Renault - Ranch Expedition," is written in bold letters above the image, with the subtitle, "Helping Animals in Need," written below.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_ranch
+ - state: paper
+ - state: cover_base
+ color: "#ccab64"
+ - state: decor_bottom
+ color: "#946e38"
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-ranch
description: The book is new and in excellent condition. The cover shows Ian and Renault running and playing on the beach, with the blue ocean and golden sand in the background. The title is written in bold, playful letters, and the subtitle reads "An Ocean Adventure."
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_ocean
+ - state: paper
+ - state: cover_base
+ color: "#567cd6"
+ - state: decor_bottom
+ color: "#272782"
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-ocean
description: The book is in new condition. The cover is a stunning mountain landscape with Ian and Renault in the foreground, looking out over the vista of the surrounding peaks and valleys. The title is written in bold, block letters at the top, with the subtitle, "A Mountain Expedition," written underneath.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_mountain
+ - state: paper
+ - state: cover_base
+ color: "#86b4d9"
+ - state: icon_mount
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-mountain
description: The book is in new condition, with crisp pages and a glossy cover. The cover features a colorful illustration of Ian and Renault exploring the city, with tall buildings and bustling streets in the background. Ian is leading the way, with his tail wagging excitedly, while Renault follows close behind, her ears perked up and her eyes wide with wonder. The title, "The Adventures of Ian and Renault," is written in bold, playful letters, with the subtitle, "Exploring the City," written below in smaller font.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_city
+ - state: paper
+ - state: cover_base
+ color: "#9a9b9c"
+ - state: decor_bottom
+ color: "#5f6061"
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-city
description: The book looks new and adventurous, with a picture of Ian and Renault standing in front of an icy landscape with snowflakes falling all around them. The title, "The Adventures of Ian and Renault," is written in bold letters at the top, with a subtitle that reads, "An Arctic Journey of Courage and Friendship."
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_arctic
+ - state: paper
+ - state: cover_base
+ color: "#5779c9"
+ - state: icon_stars2
+ - state: decor_bottom
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-arctic
description: The book is in new condition and would have a colorful cover depicting Ian and Renault against a desert backdrop. The cover would feature images of various animals and plants that the two encountered on their adventure, such as a rattlesnake, coyotes, sand dunes, and an oasis. The title, "The Adventures of Ian and Renault" is prominently displayed on the cover in bold letters, while the subtitle "Exploring the Mysterious Desert" is written in smaller letters underneath.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_ian_desert
+ - state: paper
+ - state: cover_base
+ color: "#507bad"
+ - state: decor_bottom
+ color: "#bd9a55"
+ - state: icon_ian
+ - state: detail_bookmark
+ color: "#ab5e24"
- type: Paper
content: book-text-ian-desert
description: The book is a gently used philosophy text, with a cover that features a close-up of a person's mouth, with the word "names" written on their lips. The title is "The Power of Names - A Philosophical Exploration," and the author's name is prominently displayed underneath. The overall design is simple and elegant, with the focus on the text rather than any flashy graphics or images.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_names
+ - state: paper
+ - state: cover_base
+ color: "#8c8c8c"
+ - state: decor_wingette_circle
+ - state: icon_letter_N
+ - state: detail_bookmark
+ - state: overlay_dirt
- type: Paper
content: book-text-names
description: The book is in good condition, with a slightly faded cover due to exposure to sunlight. The cover of the book depicts a panoramic view of the Earth from space, with a bright blue ocean and green landmasses. In the foreground, a lone astronaut is seen sitting in front of a window, gazing wistfully at the Earth. The title of the book, "Earthly Longing," is written in bold white letters against a black background at the top of the cover.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_earth
+ - state: paper
+ - state: cover_strong
+ color: "#0f204f"
+ - state: decor_wingette_circle
+ color: "#2c5491"
+ - state: decor_vertical_middle
+ color: "#3c6ab0"
+ - state: icon_planet
+ - state: icon_text3
+ - state: detail_bookmark
+ color: "#2c5491"
- type: Paper
content: book-text-earth
description: The book is in excellent condition, with a shiny cover depicting a spaceship hovering above a planet, perhaps with the Earth in the background. The title "Journey Beyond - The Starship Aurora Mission" is written in bold, silver letters. The cover also features a quote from a review, "A breathtaking tale of human achievement and exploration" to entice potential readers.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_aurora
+ - state: paper
+ - state: cover_base
+ color: "#0f204f"
+ - state: decor_vertical_middle
+ color: "#3c6ab0"
+ - state: decor_spine
+ color: "#3c6ab0"
+ - state: icon_stars2
+ - state: icon_aurora
+ - state: detail_bookmark
+ color: "#2c5491"
+ - state: detail_rivets
+ color: "#799dd4"
- type: Paper
content: book-text-aurora
description: The book appears new with crisp pages and an uncreased spine. The cover features an image of a temple with a glowing, multicolored aura around it, symbolizing the various gods discussed in the book. The title is displayed prominently in gold lettering, with the author's name and a brief summary of the book written in smaller text below.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_temple
+ - state: paper
+ - state: cover_base
+ color: "#542e80"
+ - state: decor_vertical_middle
+ color: "#39205e"
+ - state: decor_wingette_circle
+ color: "#914fb8"
+ - state: icon_temple
+ - state: detail_bookmark
+ color: "#bfbfbf"
- type: Paper
content: book-text-temple
description: The book is in good condition, with a slightly worn cover that features a dark and ominous space station looming in the background. The title "Watched" is written in bold letters that seem to be staring back at the reader, conveying the feeling of being constantly observed. The blurb on the back cover hints at a thrilling and suspenseful tale of paranoia and danger in a confined setting.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_watched
+ - state: paper
+ - state: cover_base
+ color: "#611e10"
+ - state: overlay_dirt
+ color: "#4f1206"
+ - state: decor_wingette_circle
+ color: "#241e1d"
+ - state: icon_eye
+ - state: detail_bookmark
+ color: "#bfbfbf"
- type: Paper
content: book-text-watched
description: The cover features Smith, the medical officer, in his uniform, looking determined and ready to face any challenge. The backdrop shows the SS Horizon under attack, with explosions and smoke filling the space station. In the foreground, a wizard with a staff can be seen, adding an element of mystery and intrigue to the scene. The title is prominently displayed in bold letters, with the author's name and a tagline indicating the book's action-packed and suspenseful nature.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_medical
+ - state: paper
+ - state: cover_base
+ color: "#d7dadb"
+ - state: decor_wingette_circle
+ color: "#55b0d4"
+ - state: icon_medical_cross
+ color: "#55b0d4"
+ - state: detail_bookmark
+ color: "#55b0d4"
- type: Paper
content: book-text-medical-officer
description: The book looks old and worn, with faded lettering on the cover. The cover depicts a dark and eerie morgue, with a full moon casting an ominous glow over the scene. In the foreground are Morty the possum and Morticia the raccoon, with mischievous expressions on their faces, peeking out from behind a metal shelf. The title is written in bold, spooky letters, with the subtitle "A Tale of Animal Spirits" written in smaller font below.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_morgue
+ - state: paper
+ - state: cover_old
+ color: "#d7dadb"
+ - state: icon_text2
+ color: "#61363d"
+ - state: overlay_dirt
+ - state: detail_bookmark
+ color: "#61363d"
- type: Paper
content: book-text-morgue
description: The book is in new condition, with vibrant colors and illustrations on the cover. The cover shows Rufus on his bicycle, with Blossom flying beside him in a playful manner. The title is written in bold, whimsical font, with the characters' names highlighted in a contrasting color. The overall aesthetic is charming and inviting, appealing to children and adults alike.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_rufus
+ - state: paper
+ - state: cover_base
+ color: "#6597c9"
+ - state: decor_bottom
+ color: "#113a63"
+ - state: decor_diagonal
+ color: "#113a63"
+ - state: icon_text3
+ color: "#ffde7d"
+ - state: detail_bookmark
+ color: "#61363d"
+ - state: detail_rivets
+ color: "#ffde7d"
- type: Paper
content: book-text-rufus
description: The book is in a good condition, with a glossy cover depicting a jungle scene with vibrant colors and intricate details. The title "The Map of Adventure," is written in bold, gold lettering. The cover also features an image of a mysterious suitcase with the map spilling out of it.
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_map
+ - state: paper
+ - state: cover_base
+ color: "#56c463"
+ - state: icon_briefcase
+ - state: decor_wingette
+ color: "#298033"
+ - state: icon_briefcase
+ - state: detail_bookmark
+ color: "#61363d"
+ - state: detail_rivets
+ color: "#ffde7d"
- type: Paper
content: book-text-map
description: The book is in excellent condition, with crisp pages and a glossy cover. The cover features a striking image of a mountain range, with a silhouette of a climber with a guitar on their back in the foreground. The title is bold and eye-catching, with the subtitle "A Journey of Music, Mountains, and Self-Discovery."
components:
- type: Sprite
- sprite: Objects/Misc/authorbooks.rsi
+ sprite: Objects/Misc/books.rsi
layers:
- - state: book_journ_mount
+ - state: paper
+ - state: cover_base
+ color: "#9bc1c9"
+ - state: icon_briefcase
+ - state: icon_mount
+ - state: detail_bookmark
+ color: "#61363d"
+ - state: detail_rivets
+ color: "#ffde7d"
- type: Paper
content: book-text-journ-mount
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book6
+ - state: paper
+ - state: cover_base
+ color: "#1d662c"
+ - state: decor_spine
+ color: "#2a8c58"
+ - state: icon_glow
+ color: "#b9edc4"
+ - state: icon_tree
+ - state: detail_bookmark
+ color: "#61363d"
- type: Paper
content: book-text-inspiration
- type: Sprite
sprite: Objects/Misc/books.rsi
layers:
- - state: book0
+ - state: paper
+ - state: cover_old
+ color: "#c526de"
+ - state: decor_wingette
+ - state: icon_bucket
+ - state: detail_bookmark
+ color: "#61363d"
+ - state: overlay_dirt
- type: Paper
content: book-text-janitor
id: BaseStationAllEventsEligible
abstract: true
components:
- - type: StationEventEligible # For when someone makes this more granular in the future.
+ - type: StationEventEligible # For when someone makes this more granular in the future.
\ No newline at end of file
+++ /dev/null
-{
- "version": 1,
- "license": "CC-BY-SA-3.0",
- "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13/commit/f3e328af032f0ba0234b866c24ccb0003e1a4993",
- "size": {
- "x": 32,
- "y": 32
- },
- "states": [
- {
- "name": "bookfireball",
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "bookforcewall",
- "delays": [
- [
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "bookknock",
- "delays": [
- [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- ]
- },
- {
- "name": "spellbook"
- }
- ]
-}
\ No newline at end of file
+++ /dev/null
-{
- "version": 1,
- "license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/37fb6bc6dd20005775dde8d886f48f7722606b77 and modified by Kit0vras#5869 (Discord) / Kit0vras (Github)",
- "size": {
- "x": 32,
- "y": 32
- },
- "states": [
- {
- "name": "book_aurora"
- },
- {
- "name": "book_cafe"
- },
- {
- "name": "book_earth"
- },
- {
- "name": "book_temple"
- },
- {
- "name": "book_ian_antarctica"
- },
- {
- "name": "book_ian_arctic"
- },
- {
- "name": "book_ian_city"
- },
- {
- "name": "book_ian_desert"
- },
- {
- "name": "book_ian_mountain"
- },
- {
- "name": "book_ian_ocean"
- },
- {
- "name": "book_ian_ranch"
- },
- {
- "name": "book_ian_wolfpup"
- },
- {
- "name": "book_journ_mount"
- },
- {
- "name": "book_scmmd"
- },
- {
- "name": "book_medical"
- },
- {
- "name": "book_morgue"
- },
- {
- "name": "book_names"
- },
- {
- "name": "book_narsie_legend"
- },
- {
- "name": "book_possum"
- },
- {
- "name": "book_rufus"
- },
- {
- "name": "book_scsss"
- },
- {
- "name": "book_scpz"
- },
- {
- "name": "book_struck"
- },
- {
- "name": "book_sun"
- },
- {
- "name": "book_map"
- },
- {
- "name": "book_truth"
- },
- {
- "name": "book_watched"
- },
- {
- "name": "book_world"
- }
- ]
-}
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "https://github.com/tgstation/tgstation/commit/37fb6bc6dd20005775dde8d886f48f7722606b77",
+ "copyright": "Base sprite taken at: https://github.com/tgstation/tgstation/commit/37fb6bc6dd20005775dde8d886f48f7722606b77 , splitted on layers by TheShuEd (github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
- "name": "book0"
+ "name": "book_icon"
},
{
- "name": "book1"
+ "name": "cover_base"
},
{
- "name": "book2"
+ "name": "cover_old"
},
{
- "name": "book3"
+ "name": "cover_strong"
},
{
- "name": "book4"
+ "name": "decor_wingette"
},
{
- "name": "book5"
+ "name": "decor_wingette_flat"
},
{
- "name": "book6"
+ "name": "decor_wingette_circle"
},
{
- "name": "book7"
+ "name": "decor_bottom"
},
{
- "name": "book8"
+ "name": "decor_diagonal"
},
{
- "name": "book_infections"
+ "name": "decor_middle"
},
{
- "name": "book_cooking"
+ "name": "decor_spine"
},
{
- "name": "book_engineering"
+ "name": "decor_vertical_middle"
},
{
- "name": "book_engineering2"
+ "name": "detail_bookmark"
},
{
- "name": "book_hacking"
+ "name": "detail_rivets"
},
{
- "name": "book_detective"
+ "name": "icon_apple"
},
{
- "name": "book_nuclear"
+ "name": "icon_atmos"
},
{
- "name": "book_particle_accelerator"
+ "name": "icon_aurora"
},
{
- "name": "book_cloning"
+ "name": "icon_banana"
},
{
- "name": "book_hydroponics_pod_people"
+ "name": "icon_bar"
},
{
- "name": "book_borg",
+ "name": "icon_biohazard"
+ },
+ {
+ "name": "icon_borg",
"delays": [
[
6,
]
},
{
- "name": "book_chemistry"
+ "name": "icon_briefcase"
+ },
+ {
+ "name": "icon_bucket"
+ },
+ {
+ "name": "icon_cabbage"
+ },
+ {
+ "name": "icon_chemical"
+ },
+ {
+ "name": "icon_corner"
+ },
+ {
+ "name": "icon_diamond"
+ },
+ {
+ "name": "icon_dna"
+ },
+ {
+ "name": "icon_eye"
+ },
+ {
+ "name": "icon_fish"
+ },
+ {
+ "name": "icon_glow"
+ },
+ {
+ "name": "icon_hacking"
+ },
+ {
+ "name": "icon_ian"
+ },
+ {
+ "name": "icon_law"
+ },
+ {
+ "name": "icon_letter_N"
},
{
- "name": "book_bar"
+ "name": "icon_letter_P"
},
{
- "name": "book_space_law"
+ "name": "icon_lightning"
},
{
- "name": "book_demonomicon",
+ "name": "icon_magic"
+ },
+ {
+ "name": "icon_magic_fireball",
"delays": [
[
- 0.5,
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
+ {
+ "name": "icon_magic_forcewall",
+ "delays": [
+ [
+ 0.3,
+ 0.3
+ ]
+ ]
+ },
+ {
+ "name": "icon_magic_knock",
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
0.1,
0.1,
0.1
]
},
{
- "name": "book_origami"
+ "name": "icon_magnifier"
},
{
- "name": "book_boneworking"
+ "name": "icon_medical"
},
{
- "name": "book_fish"
+ "name": "icon_medical_cross"
},
{
- "name": "book_science"
+ "name": "icon_mount"
},
{
- "name": "book_medical"
+ "name": "icon_nuclear"
},
{
- "name": "book_security"
+ "name": "icon_origami"
+ },
+ {
+ "name": "icon_pentagramm"
+ },
+ {
+ "name": "icon_planet"
+ },
+ {
+ "name": "icon_possum"
+ },
+ {
+ "name": "icon_question"
+ },
+ {
+ "name": "icon_scmmd"
+ },
+ {
+ "name": "icon_skull"
+ },
+ {
+ "name": "icon_stars"
+ },
+ {
+ "name": "icon_stars2"
+ },
+ {
+ "name": "icon_stunbaton"
+ },
+ {
+ "name": "icon_temple"
+ },
+ {
+ "name": "icon_text"
+ },
+ {
+ "name": "icon_text2"
+ },
+ {
+ "name": "icon_text3"
+ },
+ {
+ "name": "icon_time"
+ },
+ {
+ "name": "icon_tree"
+ },
+ {
+ "name": "icon_wrench"
+ },
+ {
+ "name": "overlay_blood"
+ },
+ {
+ "name": "overlay_dirt"
+ },
+ {
+ "name": "overlay_null"
+ },
+ {
+ "name": "paper"
+ },
+ {
+ "name": "paper_blood",
+ "delays": [
+ [
+ 5,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
}
]
}
# 2024-02-26
CrateBaseWeldable: CrateGenericSteel
-# 2024-03-7
+# 2024-03-05
+BookBotanicalTextbook: BookRandomStory
+BookEscalation: BookRandomStory
+BookEscalationSecurity: BookRandomStory
+BookDemonomiconRandom: BookRandomStory
+BookDemonomicon1: BookRandomStory
+BookDemonomicon2: BookRandomStory
+BookDemonomicon3: BookRandomStory
+BookChemistryInsane: BookRandomStory
+BookGnominomicon: BookRandomStory
+BookFishing: BookRandomStory
+BookDetective: BookRandomStory
+
+# 2024-03-07
AirlockExternalEasyPry: AirlockExternal
AirlockExternalGlassEasyPry: AirlockExternalGlass
AirlockGlassShuttleEasyPry: AirlockGlassShuttle