๐ฉ start
โ clear()
โณ 2000
โ variables._ = variables.gameOver ? 'blank' : ''
โญ $_
โ bipsiMove('intro', 7, 3)
โ bipsiFocus()
โญ blank
๐ฉ intro
โ layout('spectaclusi')
โณ 2000
โ variables._ = variables.checkpoint || 'new game'
โญ $_
๐ฉ test reviews
โ variables.place = 'Advent City - The Advent Inn'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'Nightgrave - The Boneyard'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'Wife City - Wife City Inn'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'The Somnambuboes - Hilumโs Rest'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'The Twinning Towers - Dormitory B2'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'Off-Beach - Crenelles de la Crรจme'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'Radicicola'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'Jackalsโ Jetty - The Arachnidโs Bastion'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables.place = 'The Passerinian Concern - The Roost'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โญ blank
๐ฉ bloop
๐ต bloop
โ post("log", { type: "clear" })
โ bipsiFocus()
โญ blank
๐ฉ coin
โ variables._ = variables.coins ? '' : 'coin first'
โ ++variables.coins
โญ $_
โ showFooter('+1 coin')
๐ต coin
โ bipsiFocus()
โญ blank
๐ฉ coin first
โ variables.firstCoin = true
You find a small, copper coin on the ground.
It seems like it may be useful, so you pick it up.
โ showFooter('+1 coin')
๐ต coin
โ bipsiFocus()
โญ blank
๐ฉ todo
you forgot to write me... how could you...
โ bipsiFocus()
โญ blank
๐ฉ new game
You wake up in darkness.
The air is damp and cool.
Your body aches.
๐ฎ game_choice Call out | Reach out
โญ $_
๐ฉ Call out
You try to open your mouth, but nothing happens.
That's strange:
Why did you think you had a mouth?
You reach up to your face.
Run feelers over its round, smooth expanse.
It's disorienting.
๐ฉ Reach out
You stretch stiff limbs and carefully feel around in front of you.
Both the ground and walls are dirt.
Solid, packed firm.
Comfortable.
Except for that draft...
Something about it is making you itch.
๐ฎ game_choice Follow it | Ignore it
โญ $_
๐ฉ Ignore it
You're not going to let a little wind interrupt your rest.
You start to let your mind wander...
But as soon as you do, you're unsettled once again:
๐ฉ Follow it
Your body lurches forward.
Legs moving with a mind of their own.
You're meant to go outside.
Your body knows this, but your reasoning is struggling to follow.
You focus, and suppress the subconscious ambulatory impulse.
If you're going to walk, you're going to do it yourself.
A couple stumbles later, you find a slope leading upwards.
The air freshens.
Your senses brighten.
โ save('intro-outlet')
๐ฉ intro-outlet
๐ถ towns
๐ต title
โ showTitle('Outdoors', '???')
โ bipsiMove('outlet', 9, 3)
โ bipsiFocus()
โญ blank
๐ฉ outlet-cellar
You turn back the way you came.
An open door leading deep into a small mound in the earth.
Before you can take another step, your legs seize up.
Your body knows there's work to be done elsewhere.
โ bipsiFocus()
โญ blank
๐ฉ outlet-daw
There's a small bird sitting here.
It's rustling through loose sheets of paper on the floor.
๐ npc|bird
It notices you staring, and gives you a nasty look in return.
๐ npc|blank
Then silently returns to its papers.
โ bipsiFocus()
โญ blank
๐ฉ outlet-barred
โ variables._ = variables.canLeaveAdvent ? 'outlet-barred leave' : ''
โญ $_
๐ npc|advent
Editor-In-Chief ๐จ "Hey! Not that way."
A loud, brusque voice from the man behind the desk.
Editor-In-Chief ๐จ "You can leave after I say so."
โญ npcend
๐ฉ outlet-eager
๐ npc|advent
Editor-In-Chief ๐จ "Hey! Slow down."
A loud, brusque voice from the man behind the desk.
Editor-In-Chief ๐จ "At least say 'hello' before you get to work."
โญ npcend
๐ฉ outlet-boss
โ variables._ = variables.reviewed.advent ? 'outlet-boss reviewed' : ''
โญ $_
โ variables._ = variables.metBoss ? 'outlet-boss repeat' : ''
โญ $_
๐ npc|advent
Editor-In-Chief ๐จ "There you are!"
Editor-In-Chief ๐จ "About time, ghostwriter."
Editor-In-Chief ๐จ "Was starting to worry you'd never wake up."
Editor-In-Chief ๐จ "Sleeping like the dead, you were!"
The man laughs, deep and long.
Editor-In-Chief ๐จ "Ha!"
Editor-In-Chief ๐จ "Little joke."
Editor-In-Chief ๐จ "Because you are dead!"
The laugh again, deeper and colder.
He's right, of course.
Took until now for you to realize it.
Editor-In-Chief ๐จ "You've probably got questions, don't you?"
๐ฎ game_choice Yes|No
โณ 500
Editor-In-Chief ๐จ "...Don't bother trying to ask them."
He opens a desk drawer.
Editor-In-Chief ๐จ "Look, let's speed this up."
Editor-In-Chief ๐จ "You've got a trip planned, and it's not one of self-discovery."
Pulls something out, something small and reflective.
๐ player|ghostwriter
Little silver mirror in need of polishing.
Editor-In-Chief ๐จ "Best get used to nodding."
Editor-In-Chief ๐จ "You can nod that big ol' turnip of yours, can't you?"
๐ฎ game_choice Nod|Shake
He rubs his chin and squints.
Editor-In-Chief ๐จ "I prefer potatoes for possessions, of course..."
Editor-In-Chief ๐จ "But this'll have to do."
Editor-In-Chief ๐จ "Now, pay attention:"
He tosses you a sheaf of papers.
Editor-In-Chief ๐จ "That there's the autumnal issue of Lovely Lodgings."
The cover says as much.
Editor-In-Chief ๐จ "The #1 source of reputable reviews for every inn below the lands above."
Editor-In-Chief ๐จ "Or it would be, if it weren't blank."
Editor-In-Chief ๐จ "Your job is to fill it out, and you're already behind schedule."
At the mention of your job, your back straightens itself.
An itch in your vegetal muscle tells you to start marching.
Editor-In-Chief ๐จ "Hold on, ghostwriter!"
Editor-In-Chief ๐จ "Can't have you running off without a quality check."
Editor-In-Chief ๐จ "Your first stop is The Advent Inn, just down the road."
Editor-In-Chief ๐จ "I want a paragraph and a rating on my desk, pronto."
Editor-In-Chief ๐จ "And don't forget your five Cs:"
Editor-In-Chief ๐จ "Cost, Cuisine, Culture, Cleanliness, and Comfort!"
Editor-In-Chief ๐จ "Now you can go."
Editor-In-Chief ๐จ "And let's see some company spirit, haha!"
He waves you off with another laugh.
โ variables.metBoss = true
โญ npcend
๐ฉ outlet-boss repeat
๐ npc|advent
Editor-In-Chief ๐จ "Hurry it up, ghostwriter."
Editor-In-Chief ๐จ "Deadlines are deadlines, even when you're dead."
โญ npcend
๐ฉ advent-house
You try the door, but it's locked.
Something tells you this isn't the inn.
โ bipsiFocus()
โญ blank
๐ฉ advent-inn-sign
It's a small wooden sign.
Carved, simple letters read: The Advent Inn
โ bipsiFocus()
โญ blank
๐ฉ advent-inn
โ variables._ = variables.slept.advent ? 'advent-inn repeat' : ''
โญ $_
๐ npc|advent
Advent Innkeeper ๐จ "Oh, another writer!"
Advent Innkeeper ๐จ "Come in, come right on in!"
You're not sure what the keeper means by "come in".
You are already inside the building.
And there's hardly any room to stand as it is.
Advent Innkeeper ๐จ "Our pleasure to have you."
Advent Innkeeper ๐จ "Here at The Advent Inn we're always happy to welcome a writer."
Advent Innkeeper ๐จ "We have a special rate, in fact."
Advent Innkeeper ๐จ "Three coppers for the bed and breakfast!"
Advent Innkeeper ๐จ "How does that sound?"
๐ฎ game_choice Nod->advent pay|Shake->advent no pay
โญ $_
๐ฉ advent pay
โ variables._ = variables.coins > 0 ? '' : 'advent broke'
โญ $_
๐ต coins
โ showFooter(`-${variables.coins} coin${variables.coins > 1 ? 's' : ''}`)
You hand over the money you found on the ground to the innkeeper.
It's not enough, but it's all you have.
โญ advent no pay
๐ฉ advent broke
You stand there awkwardly in silence.
You realize you don't have any money.
๐ฉ advent no pay
Advent Innkeeper ๐จ "Aha, such a stiff little customer, aren't you?"
Advent Innkeeper ๐จ "Don't worry yourself with the cost."
Advent Innkeeper ๐จ "What's a few coppers between neighbours?"
Advent Innkeeper ๐จ "Just go ahead and get yourself settled in."
Advent Innkeeper ๐จ "I'm sure you could do with a nice nap."
Advent Innkeeper ๐จ "Give us a shout if you need anything!"
The innkeeper smiles pleasantly, and gestures to the bed behind you.
The only other furniture in the cramped hut aside from his little desk.
It's a couple inches of dried grass heaped on poplar planks.
There are no cushions, sheets, or other adornments.
There's a faint odour, something slightly unclean.
An earthy, familiar scent.
You lie down.
The innkeeper watches you with poorly concealed interest.
You ignore him.
๐ blank
โ layout('spectaclusi')
For the first time since waking up, your body allows you to relax.
Gone is the nagging sense that there's a job to do.
Right now, taking a break is the job.
This is what you're meant to be doing.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
It's nice, for a few moments.
And then the itch returns.
You're on a deadline.
You still have a job to do.
Advent Innkeeper ๐จ "Up so soon?"
๐ player|ghostwriter
๐ npc|advent
โ layout('spectacles')
Advent Innkeeper ๐จ "Usually you writers are down for an hour or two."
Advent Innkeeper ๐จ "I haven't even had time to prepare a meal!"
Advent Innkeeper ๐จ "Not that you'd eat it anyway..."
The innkeeper's pleasant smile falters.
Advent Innkeeper ๐จ "It's the hospitality that counts, right?"
There's another familiar scent.
Perspiration, wetting human skin.
Advent Innkeeper ๐จ "R-right?"
๐ฎ game_choice Nod|Shake
Your job here is done.
Your feet want you to move.
๐ npc|blank
โ variables.slept.advent = true
โ bipsiFocus()
โญ blank
๐ฉ advent-inn repeat
๐ npc|advent
Advent Innkeeper ๐จ "H-hope you enjoyed your stay!"
โญ npcend
๐ฉ advent-deejay-interrupt
โ variables._ = variables.slept.advent && !variables.metDeejay ? 'meet deejay' : ''
โญ $_
โ bipsiFocus()
โญ blank
๐ฉ meet deejay
โ variables.metDeejay = true
It feels good to be walking with purpose again.
But the feeling is short-lived.
A small bird swoops down and lands on your shoulder.
๐ต squawk
It squawks and flaps its wings authoritatively.
๐ npc|bird
Bird ๐จ "Ey! Ey!!"
You recognize this bird.
Bird ๐จ "Forget something, boss?"
๐ต close
It produces the blank sheaf of papers from its folded wings.
Bird ๐จ "Ya didn't even write yer name on it!"
Bird ๐จ "What kinda writer doesn't have a byline?!"
The bird is right.
Your productivity would plummet without this journal.
The thought of it scratches the inside of your head.
Bird ๐จ "Quick now, ya must've had a name at some point."
๐ฉ byline pick
๐ฎ game_input
โ variables.byline = variables._.trim()
โ variables._ = variables.byline.toLowerCase() === 'boss' || variables.byline.toLowerCase() === 'dj' || variables.byline.toLowerCase() === 'deejay' ? 'byline joke' : ''
โญ $_
โ variables._ = variables.byline ? 'byline done' : 'byline invalid'
โญ $_
๐ฉ byline joke
๐ต squawk
The bird pecks at the side of your head.
Bird ๐จ "Quit yankin' my talons. No it isn't."
Bird ๐จ "We don't got time for jokes boss, pick yer real byline."
โญ byline pick
๐ฉ byline invalid
๐ต squawk
The bird pecks at the side of your head.
Bird ๐จ "This ain't no time to be precious!"
Bird ๐จ "We're already late, just pick something."
โญ byline pick
๐ฉ byline done
๐ต squawk
The bird pecks at the side of your head.
Bird ๐จ "$byline?"
Bird ๐จ $_
Bird ๐จ "We're already late, so ya better get that review done while yer at it."
Bird ๐จ "I brought along a couple'a older issues too..."
Bird ๐จ "Ya know, in case yer a blockhead."
Bird ๐จ "Good writers borrow, ghostwriters steal."
๐ฉ advent review write
โ variables.place = 'Advent City - The Advent Inn'
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables._ = variables._ ? 'advent review done' : 'advent review error'
โญ $_
๐ฉ advent review error
Bird ๐จ "Hmph... Call it a hunch, but something's telling me this one won't do."
Bird ๐จ "Maybe you should take another crack at it, boss."
Bird ๐จ "Could just hope for the best though, it's up to you."
๐ฎ game_choice Try again -> advent review write | Move on -> advent review done
โญ $_
๐ฉ advent review done
Bird ๐จ "Good? Good!"
Bird ๐จ "Let's get a move on, boss."
๐ npc|blank
โ variables.reviewed.advent = true
โ bipsiFocus()
โญ blank
๐ฉ outlet-boss reviewed
โ variables._ = variables.canLeaveAdvent ? 'outlet-boss reviewed repeat' : ''
โญ $_
๐ npc|advent
Editor-In-Chief ๐จ "Hmm? You're still here?"
Editor-In-Chief ๐จ "Didn't I send you on the autumnal tour?"
๐ฎ game_choice Nod|Shake
You hold up your journal.
Pull out the single piece of paper with writing on it.
Your neatly written review of The Advent Inn.
You place it on his desk, and turn it to face him.
He glances down, then rolls his eyes.
Editor-In-Chief ๐จ "Oh, right."
Editor-In-Chief ๐จ "I'll look it over later."
Editor-In-Chief ๐จ "Time is money, and I want a windfall before snowfall."
Editor-In-Chief ๐จ "So I need you on the road yesterday."
Editor-In-Chief ๐จ "You've got a dust jacket already, yeah?"
๐ npc|bird
๐ต squawk
The bird who brought your journal squawks.
๐ npc|advent
Editor-In-Chief ๐จ "Then you're all set!"
Editor-In-Chief ๐จ "You've got a job to do, don't let me down."
โ variables.canLeaveAdvent = true
โญ npcend
๐ฉ outlet-boss reviewed repeat
๐ npc|advent
Editor-In-Chief ๐จ "You've got your job, so do it."
โญ npcend
๐ฉ outlet-barred leave
๐ blank
โ layout('spectaclusi')
โ save('outlet-barred leave')
You walk outside.
Follow the short dirt path.
There's hardly any human souls to be seen.
A few people out cleaning, tending gardens, mundane maintenance.
You get one or two strange looks, but mostly they ignore you.
Before long, you're on the outskirts of the town.
You pause for a moment.
Consider your situation.
You're dead.
But still, you're here.
The grand outdoors.
You're here, but you could go anywhere.
โ post('map', 'map', { type: 'travel', message: { position: variables.position, target: variables.target, timeEmbark: variables.timeEmbark } })
โ post('map', 'map', { type: 'wait' })
โ layout('spectaclesmap')
Anywhere you want.
โ layout('map')
โณ 1500
๐ต title
โ showTitle('The Grand Outdoors', 'You Could Run Far Away And Never Look Back')
โณ 4500
โ layout('spectaclesmap')
The thought puts a twinge in your neck.
Bird ๐จ "Ey! Ey!!"
๐ npc|bird
The bird on your shoulder speaks up.
๐ player|ghostwriter
Bird ๐จ "Watch where yer shoving that oversized turnip!"
Bird ๐จ "Some of us gotta look after these bodies of ours."
It's difficult to pay attention to the chirps.
You feel your legs instinctively pushing you to walk.
But the irritation in your neck doesn't let up.
๐ฎ game_choice Turn left|Turn right
You try to twist, wrest control of your own motions.
โ post('map', 'map', { type: variables._ })
Instead you end up walking in circles.
Bird ๐จ "...Oh."
Bird ๐จ "I see, I see."
Bird ๐จ "Thinking of bolting already, ey?"
๐ฎ game_choice Nod|Shake
โ post('map', 'map', { type: 'faster' })
You start walking faster.
The pointless circle you're pacing gets wider and wider.
Bird ๐จ "This yer first time or something boss?"
Bird ๐จ "Need someone to teach ya how to be a good little ghostwriter and do yer job?"
๐ฎ game_choice Nod -> tutorial|Shake -> no tutorial
โญ $_
๐ฉ tutorial
Bird ๐จ "Lucky for you, it ain't my first time dealin' with phantom folk."
Bird ๐จ "First things first:"
Bird ๐จ "Y'ain't my boss."
Bird ๐จ "But I'm gonna keep calling ya 'boss' cause I already forgot yer name."
You start pulling out your journal to remind them, but they keep talking.
Bird ๐จ "Dust jacket authorities don't give names, but folks call me Deejay."
Deejay cocks their head to the side.
Deejay ๐จ "That part matters more to folks with mouths, s'pose."
Deejay ๐จ "Where was I..."
Deejay ๐จ "Right: I'm here to fly reviews back when ya finish em."
Deejay ๐จ "Don't get paid to do anything else."
Deejay ๐จ "So don't think ya can order me around."
Deejay ๐จ "And any screw-ups are on yer head, not mine."
Bird ๐จ "Second:"
Deejay ๐จ "Yer a damned freak, boss."
Deejay ๐จ "And everyone in the whole wide world knows it."
Deejay ๐จ "But yer journal money'll spend well enough for most to ignore the freaky phantom presence."
You check the pocket lining of your journal.
โ showFooter('+247 coins')
๐ต coins
There are dozens of small coins, a mix of copper and silver.
Deejay ๐จ "Third:"
Deejay ๐จ "Boss-- the Lovely Lodgings boss, that is--"
Deejay ๐จ "The boss cursed that produce to walk and work."
Deejay ๐จ "Can't do much else."
Deejay ๐จ "But curses can't write reviews, so ya got a little wiggle room."
Deejay ๐จ "Ghostwriters are more like passengers than people."
Deejay ๐จ "Push too hard and it's a one-way ticket back to damnation or whatever."
Deejay ๐จ "So I recommend ya quit this spinning before I hurl, and let those legs take us somewhere productive."
โญ tutorial end
๐ฉ no tutorial
Bird ๐จ "Hmph."
Bird ๐จ "We can skip the rookie stuff then."
Bird ๐จ "But don't say Deejay didn't offer to help ya!"
Deejay ๐จ "Now pull yerself together, we got a job to do."
โญ tutorial end
๐ฉ tutorial end
โ post('map', 'map', { type: 'stop' })
โญ map pick
๐ฉ map pick checkpoint
๐ต title
โ showTitle('The Grand Outdoors', 'Destinations & Decisions')
๐ฉ map pick
๐ npc|deejay
๐ player|ghostwriter
โ post('map', 'map', { type: 'travel', message: { position: variables.position, target: null, timeEmbark: null, events: [] } })
โ post('map', 'map', { type: 'pick' })
โ layout('map')
โ save('map pick checkpoint')
โญ blank
๐ฉ map wait checkpoint
๐ต title
โ showTitle('The Grand Outdoors', 'One Foot In Front Of The Other')
๐ฉ map wait
๐ถ $music
๐ blank
โ post('map', 'map', { type: 'travel', message: { position: variables.position, target: variables.target, timeEmbark: variables.timeEmbark, events: variables.events } })
โ post('map', 'map', { type: 'wait' })
โ layout('map')
โ save('map wait checkpoint')
โญ blank
๐ฉ map arrive
๐ถ
โ variables.position = variables.target
โ variables.target = null
โ variables.timeEmbark = null
๐ฉ arrive checkpoint
โ post('map', 'map', { type: 'travel', message: { position: variables.position, target: null, timeEmbark: null, events: [] } })
โ save('arrive checkpoint')
โ layout('spectaclesmap')
โญ arrive $position
๐ฉ event arrive
โ layout('spectaclesmap')
๐ player|ghostwriter
โญ $_
๐ฉ event r:_ c:_ 1
Your focus has drifted.
โญ event finger
๐ฉ event r:_ c:_ 2
Your focus has drifted.
โญ event finger
๐ฉ event r:_ c:_ 3
Your focus has drifted.
โญ event finger
๐ฉ event r:_ c:_ 4
Your focus has drifted.
โญ event finger
๐ฉ event r:_ c:_ 5
Your focus has drifted.
โญ event finger
๐ฉ event finger
Now that it has returned, you re-evaluate your surroundings.
โ variables._ = Math.random() > 0.5 ? 'left' : 'right'
An itch that had previously spread down your $_ arm has lessened.
๐ต coin
โ showFooter('-1 finger')
It seems the hand has somewhat lessened as well.
It doesn't hurt, but the absence feels strange.
You try not to pay it too much mind, and continue towards your destination.
โญ event end
๐ฉ event r:_ c:_ 6
Your focus has drifted.
When it returns, you feel a renewed sense of purpose.
You're headed the right way, and your body allows you feel to good about this.
It's a pleasant feeling.
You ride it as long as you can, and keep moving.
โญ event end
๐ฉ event r:_ c:_ 7
Your focus has drifted.
You feel it return when the first raindrop hits your face.
A cold, wet sting that leaves a dark stain.
Its joined by more soon after.
The shower comes on quickly, and ends just as fast.
You wonder how it would have felt on human skin.
โญ event end
๐ฉ event r:_ c:_ 8
Your focus has drifted.
You're not sure where it went.
You're not sure when it came back.
All you're sure of is that you haven't been moving in the meantime.
And it feels like your entire body is on fire as a result.
When the initial spasm of pain subsides, you pick up the pace.
Anything to get back to a tolerable tingle.
โญ event end
๐ฉ event r:_ c:_ 9
Your focus has drifted.
When it returns, you feel light on your feet.
Like a heavy load has been lifted from your shoulders.
You realize shortly that it is because your cloak is missing.
Uncomfortable with your new level of exposure, you turn around.
It doesn't take long to find, but you feel frustrated by the loss of progress.
You refocus on your destination and try to make up the time.
โญ event end
๐ฉ event r:_ c:_ 10
Your focus has drifted.
When it returns, you realize that your legs hurt.
Not from the typical itch, but from the simple repetition.
The constant motion, one after the other, is taking its toll on your body.
You feel like you've hardly made any progress.
Like you've been stuck in a loop with no end.
But you know that you cannot stop without reason.
So you keep moving.
โญ event end
๐ฉ event r:_ c:_ 11
Your focus has drifted.
The first thing you notice when it returns is the smell.
A thick, rotten stench.
You try to identify the source without success.
As you search, it fades.
When it's gone entirely, you're left with a nagging doubt.
You're not sure if the smell has passed, or if you have simply gotten used to it.
Without an answer, you have nothing to do but to resume your journey.
โญ event end
๐ฉ event r:_ c:_ 12
Your focus has drifted.
It strikes you how devoid of life your travels have been.
You expected to come across creatures, critters, maybe birds.
Deejay excluded, you've hardly seen a single one.
But you do hear their calls in the distance occasionally.
You wonder if they're actively avoiding you.
For what reason, you have no idea.
It's a mystery your body has no desire to solve.
Although your job includes sightseeing, it is very particular about where.
So you continue on your way to the next such destination.
โญ event end
๐ฉ event r:_ c:_ 13
Your focus has drifted.
Your head feels mushy.
Soft.
Pliant.
It unsettles you.
You recall the firmness of bone.
A skull to call your own.
Your turnip feels as if it is made of temples.
You try not to think about it.
And you move on.
โญ event end
๐ฉ event r:_ c:_ 14
Your focus has drifted.
When it returns, you are motionless.
Perfectly still.
More than that, you feel no pain.
No itch driving you to move, to work, to do your job.
But the moment you think of it, it returns.
Disappointed in your self-defeating intent, you return to the journey.
Along the way, you try to recreate that lack of thought.
Each time you do, it only makes the itch burn brighter.
So instead, you focus on the destination.
โญ event end
๐ฉ event r:_ c:_ 15
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event r:_ c:_ 16
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event r:_ c:_ 17
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event r:_ c:_ 18
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event r:_ c:_ 19
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event r:_ c:_ 20
Your focus has drifted.
โ variables._ = variables.deejayHere ? 'event chat deejay' : 'event chat no deejay'
โญ $_
๐ฉ event chat no deejay
When it returns, you're alone.
Just you, and the route you're travelling.
โ variables._ = ['You wonder where Deejay is.', 'You notice Deejay is nowhere to be seen.', 'You don\'t sense your flying companion anywhere nearby.'][Math.floor(Math.random()*3)]
$_
They must still be delivering your last review.
You keep moving, but pay close attention in case you hear their squawking in the distance.
โญ event end
๐ฉ event chat deejay
Deejay has caught your attention.
โ variables.chat = (variables.chat || 0)%6 + 1
โญ event deejay $chat
๐ฉ event deejay 1
๐ npc|deejay
Deejay ๐จ "C'mon boss, pick up the pace, ey?"
Deejay ๐จ "If yer late on the job, it's gonna make me look bad."
Your back spasms with a sudden pain.
You straighten your posture to try to combat it.
Deejay ๐จ "Ey, ey! That's more like it!"
Deejay ๐จ "Ya keep that up, and we'll be there in no time."
You don't feel any faster, but Deejay seems satisfied.
๐ npc|blank
And the bodily irritation seems lessened.
โญ event end
๐ฉ event deejay 2
๐ npc|deejay
They've been sat on your shoulder, preening.
In the process, meticulously re-organizing the papers stored in their wings.
Deejay ๐จ "Can't believe this..."
Deejay ๐จ "Ya know I used to fly under the Concern's library fleet?"
Deejay ๐จ "Now that was a real job."
Deejay ๐จ "Professionals, down to the last dust jacket."
Deejay ๐จ "I had self-respect back then!"
Deejay ๐จ "Pride, even."
Deejay ๐จ "Head of the romance section, ya know!"
Deejay ๐จ "...Don't give me that look."
Your face remains as motionless as ever.
Deejay ๐จ "Everyone outside the library always laughs at romance."
Deejay ๐จ "They don't get it."
Deejay ๐จ "Ya don't get it, boss!"
Deejay ๐จ "Upholding the strict categorization with yer own two wings?"
Deejay ๐จ "It's no joke!"
Deejay ๐จ "When the smut starts flying off the shelves, not even librarians can keep their stories straight."
Deejay puffs out their chest, wings fully outstretched.
Deejay ๐จ "I was the last line of defense -- me!"
Deejay ๐จ "I've fought battles between those books!"
Deejay ๐จ "Battles that'd tear yer pathetic heart apart, then toss the shreds under mislabelled erotica!"
Deejay ๐จ "Ya hear me!?"
Deejay ๐จ "I've tasted literary glory!"
You've had to stop moving, lest their tirade lead to falling off their perch on your shoulder.
Deejay ๐จ "...Sigh."
Deejay ๐จ "Now I'm doing pigeon's work for a second-rate author of glorified advertisements."
Deejay ๐จ "No offense... Job's a job, after all."
Deejay ๐จ "A pigeon eats better than a panhandler."
Deejay ๐จ "But not where I thought I'd end up, ya know?"
Deejay ๐จ "It's no happily-ever-after..."
The dejected bird goes back to their organizing.
๐ npc|blank
And you continue towards your destination.
โญ event end
๐ฉ event deejay 3
๐ npc|deejay
Deejay ๐จ "Ey, boss?"
Deejay ๐จ "Yer, uh... Yer not moving."
Deejay ๐จ "C'mon, can't have ya slacking off."
Deejay ๐จ "Ya need a break?"
๐ฎ game_choice Nod->Better hurry it up and hit the next inn then, ey?|Shake->Then let's get back to it!
Deejay ๐จ "$_"
๐ npc|blank
โญ event end
๐ฉ event deejay 4
๐ npc|deejay
Deejay ๐จ "Ey, boss, I've been wondering..."
Deejay ๐จ "Do phantom folk remember how ya lived?"
Deejay ๐จ "Ya know... before ya became a damned freak."
๐ฎ game_choice Nod|Shake
Deejay ๐จ "Huh."
Deejay ๐จ "...Don't s'pose it does much good either way, ey?"
Deejay ๐จ "Not like we're in the market for yer autobiography."
There's a sadness in Deejay's voice.
You get the impression they want to ask more.
๐ npc|blank
But instead, they flap their wings, and start circling high overhead.
You take it as a sign that the conversation is over, and continue your journey.
โญ event end
๐ฉ event deejay 5
๐ npc|deejay
Deejay ๐จ "Ever get lonely, boss?"
Deejay ๐จ "That something phantom freaks even feel, ey?"
๐ฎ game_choice Nod|Shake
Deejay ๐จ "Hmph."
Deejay ๐จ "Didn't think I would, when I took this job."
Deejay ๐จ "Sure, I'm on my own sometimes..."
Deejay ๐จ "But there's always a partner!"
Deejay ๐จ "They don't tell ya how... silent that partner will be when ya sign up."
Deejay ๐จ "Ain't exactly birds of a feather, ya know?"
๐ฎ game_choice Nod|Shake
Deejay ๐จ "..."
Deejay ๐จ "Though we make do, I s'pose."
๐ npc|blank
โญ event end
๐ฉ event deejay 6
๐ npc|deejay
Deejay ๐จ "Ey, boss?"
Deejay ๐จ "How's that turnip of yers holding up?"
Deejay ๐จ "Ya haven't been moving in a bit..."
Deejay ๐จ "Need a break?"
๐ฎ game_choice Nod->A sharp twinge in your neck prevents you from completing the gesture.|Shake->You're fine how you are.
$_
Deejay ๐จ "...Yer call, boss."
๐ npc|blank
โญ event end
๐ฉ event r:sea c:_ swimming
Your focus has drifted.
When it returns, you remember you're swimming.
You've been swimming for awhile.
The dark water feels nice on your body's skin.
It almost entirely masks the ever-present itch.
You consider pausing, letting yourself enjoy the sensation.
But the thought of it is enough to redouble the irritation.
So you keep swimming.
โญ event end
๐ฉ event r:sea c:_ floating
Your focus has drifted.
When it returns, you realize your body is drifting as well.
You're floating in the sea, flat on your back.
โ variables._ = variables.deejayHere ? 'Deejay is standing on top of your belly, fast asleep.' : 'Deejay is nowhere to be seen.'
$_
You're not sure when you stopped paddling.
But now that you've realized it, your arms and legs burn with revitalized vigour.
And you continue your journey, backstroke.
โญ event end
๐ฉ event r:sea c:_ sinking
Your focus has drifted.
When it returns, you realize you're underwater.
Not swimming, but deep underwater.
So deep that it's difficult to tell which way will bring you closer or further from the surface.
You pause and try to re-orient yourself.
In doing so, you feel your legs spasm, trying to propel you forwards.
Your body knows there's work to be done.
You trust that it knows where it needs to be done, and let it lead the way.
โญ event end
๐ฉ event r:sea c:_ pole
โ variables._ = variables.deejayHere ? 'pole deejay' : 'pole no deejay'
โญ $_
๐ฉ pole deejay
Your focus has drifted.
When it returns, you find yourself in the middle of the sea.
๐ npc|deejay
Deejay ๐จ "Ey! Yer getting a bit off track there, boss."
Deejay's right.
At some point, you stopped facing your destination.
Instead, you're pointed at the pole from which the liquid pools out.
Deejay ๐จ "Yer not planning on running off after all, are ya?"
๐ฎ game_choice Nod->Unbelievable...|Shake->Good...
Deejay ๐จ "$_"
Deejay ๐จ "We've got a job to do!"
Again, Deejay's right.
Your body pulls your still-drifting focus back into place.
๐ npc|blank
And you continue along the path it has laid out for you.
โญ event end
๐ฉ pole no deejay
Your focus has drifted.
When it returns, you find yourself in the middle of the sea.
At some point, you stopped facing your destination.
Instead, you're pointed at the pole from which the liquid pools out.
You feel drawn towards it.
It's a different sensation than the itch you've grown accustomed to.
But it does not overpower it.
Your body pulls your still-drifting focus back into place.
And you continue along the path it has laid out for you.
โญ event end
๐ฉ event r:sea c:_ nibbling
Your focus has drifted.
It returns suddenly, not with an itch, but with a bite.
๐ต coin
โ showFooter('-1 toe')
Something is nibbling at your foot.
You kick instinctively.
You feel it connect, and then a small wave as it forcefully rushes down.
โ variables._ = variables.deejayHere ? 'Deejay is circling high above you, seemingly unaware.' : 'You\'re completely alone.'
$_
You're left treading water for a moment in the now-lifeless stretch of sea.
Since there's nothing but a growing itch to keep you company, you keep moving.
โญ event end
๐ฉ event end
โ variables.events.find(i => !i.timeCompleted).timeCompleted = Date.now()
๐ player|blank
โญ map wait
๐ฉ event r:forest c:_ 1
Your focus has drifted.
When it returns, you realize you're face-down on the forest floor.
You've been there for awhile.
One of your legs keeps moving, mimicking motions as if you had been walking.
The other weakly tugs against a tangled root.
You stand back up, mildly embarrassed by the experience.
Your legs start walking again, properly this time.
โญ event end
๐ฉ event r:forest c:_ 2
Your focus has drifted.
When it returns, you realize you're upside-down.
You're suspended by one leg, caught in a large tree snare.
Your whole body sways back and forth lightly.
You try to free yourself, but can't quite reach.
The proportions of your body do not lend themselves to this task.
๐ฉ event snare check
โ variables._ = variables.deejayHere ? 'event snare deejay' : 'event snare no deejay'
โญ $_
๐ฉ event snare no deejay
...
โ variables._ = ['You hang there for awhile longer.', 'You try to think of another way to get down, but come up blank.', 'You reach up and try again, but it\'s no use.', 'You wonder how long you\'ve been hanging like this.', 'You try to ignore the itch spreading across your body.', 'You sway lightly in the breeze, just like the trees around you.','You try to kick at the rope with your free foot, to no avail.','Far in the distance, something shrieks and yelps.','The forest rustles above you.','You let the time pass.'][Math.floor(Math.random()*10)]
$_
...
โญ event snare check
๐ฉ event snare deejay
๐ npc|deejay
Deejay ๐จ "Ey! Boss!!"
Deejay lands on the branch above.
Deejay ๐จ "Been looking all over..."
Deejay ๐จ "Ya need a little help?"
๐ฎ game_choice Nod->Just a sec...|Shake->...Well, too bad.
Deejay ๐จ "$_"
Deejay starts pecking at the rope where it's secured to the tree.
You brace yourself, just before you drop a couple feet onto the forest floor.
Deejay ๐จ "There ya go!"
Deejay ๐จ "Alright, enough sitting around."
Deejay ๐จ "We've got a job to do, ey?"
๐ npc|blank
โญ event end
๐ฉ event r:forest c:_ 3
Your focus has drifted.
When it returns, you're pressed up against the trunk of a large tree.
Your body is pushing forward, as if trying to walk through it.
You forcefully stop yourself from moving.
Take two steps to the side.
And then continue walking.
โ variables._ = variables.deejayHere ? 'Deejay gives you an exasperated stare, but does not say anything.' : 'You\'re glad no one was around to see that.'
$_
โญ event end
๐ฉ event r:mountain c:_ 1
Your focus has drifted.
It returns with a shock as you feel your body plummet.
Something gives way underfoot, and you frantically reach out to grab whatever's near.
Your arms latch themselves onto ropes, holding the rest of your body aloft.
You hang there as a wooden plank -- one that just broke off the bridge you were crossing -- disappears into a crevasse below.
Your arms tremble, unused to carrying the full dead weight.
Using all the vegetal might you can muster, you hoist yourself forward.
There's no adrenaline to power your body, just the fear of finding out how much the fall would damage it.
You manage to lift one leg over the next plank, and use it for leverage.
Having reached a point of relative safety, you rest there for a moment.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
You're almost thankful when the itch arises.
Getting off this bridge and back on track is probably for the best.
โญ event end
๐ฉ event r:mountain c:_ 2
Your focus has drifted.
When it returns, you're lying flat on your back.
Your body feels bruised, sore.
You notice you're currently at the base of a tall mountain.
A mountain you were climbing only moments ago.
You stand up, dust yourself off, and start the trek back up.
โญ event end
๐ฉ event r:mountain c:_ 3
Your focus has drifted.
It takes a moment for you to realize it has returned.
The world around you is fully obscured by a dense layer of fog.
And yet your feet keep walking.
You trust that they are taking you in the right direction.
But as time passes, you have your doubts.
The fog persists, and you get the sense you're walking in circles.
You stop yourself.
Look for a landmark, but there are none.
You take another step, and the doubt re-doubles.
You're almost certain you're walking backwards.
In the end, you have to wait for the fog to pass.
Or thin, at least.
It's difficult to do with the rising itch.
Despite your initial doubts, you end up intentionally walking in small circles to dull the sensation.
It's not much, but enough to tide you over until you can make out the peak of a mountain in the distance.
You re-orient yourself, and continue towards your destination.
โญ event end
๐ฉ event r:coast c:_ 1
Your focus has drifted.
It returns with a splash, as you trip and fall face-down in the dark water.
You stand back up, dripping wet, and try to plan a more careful route along the coast.
You consider keeping to dry land, but the path is not always possible, and you end up falling down again.
Eventually, you decide to take the brute force approach.
You resign yourself to swimming, even where the water is only up to your waist.
It's an awkward, inconsistent method of travel.
But you focus on making progress towards your destination.
โญ event end
๐ฉ event r:coast c:_ 2
Your focus has drifted.
When it returns, you realize you're not moving.
Your feet are stuck.
You had been walking along the coast when you drifted.
Now, you're nearly waist-deep in a thick, sticky bog.
You try to extricate yourself.
There's an awful schlorp as you manage to free one leg.
And an equally awful plap as you lose your balance and sink even further.
Eventually, you manage to shuffle out of the quagmire.
You return to your previous path with a more intentional, steady pace.
โญ event end
๐ฉ event r:coast c:_ 3
Your focus has drifted.
When it returns, you feel cold.
Much colder than usual.
The wet has been seeping through your body.
Your movements feel sluggish.
You notice small shards of ice along the coast.
They hiss and crack.
The ice gets thicker and thicker, until you can hardly find anywhere to step without slipping.
You backtrack, and try to find another way around.
Holding your cloak closer to your body the whole way.
โญ event end
๐ฉ event r:_ c:wifes
Your focus has drifted.
โ variables._ = Math.random() > 0.5 ? 'You feel like you\'re forgetting something.' : 'You feel a sense of freedom.'
It's a feeling deep in your soul.
You're not sure why you feel this way.
Your current situation is doing nothing to reinforce the feeling.
But noting the irrationality of it does not change it either.
So you focus on your destination.
โญ event end
๐ฉ event r:_ c:tower
Your focus has drifted.
When it returns, there's a familiar feeling on the back of your neck.
Not an itch, but a mild tickle.
The mild, slimy, tickle of a snail.
You're not sure if this is one you paid for that went unnoticed, or a simple stowaway.
๐ฎ game_choice Ignore it->event snail ignore|Remove it->event snail remove
โญ $_
๐ฉ event snail ignore
You decide to ignore it.
The sensation is barely noticeable.
And perhaps it's on a journey of its own.
No reason to prevent it from hitching a ride.
You continue towards your destination, stowaway snail and all.
โญ event end
๐ฉ event snail remove
You decide to let it go.
You pick it up, careful not to damage the shell.
Its little feelers wiggle around in the air.
You slowly lower the eager mollusk.
โ variables._ = variables.region === 'sea' ? 'water,' : 'ground,'
When it reaches the $_ it pulls itself forward and off your hand.
You're not sure where you expect it to go, but surely it has no reason to reach your destination.
So you continue moving yourself, leaving it trailing far behind.
โญ event end
๐ฉ event r:_ c:docks
Your focus has drifted.
When it returns, you realize you're not alone.
๐ npc|cozen
Cozen ๐จ "Hey there, kid."
A stranger is walking alongside you.
Cozen ๐จ "Headed my way?"
๐ฎ game_choice Nod|Shake
Cozen ๐จ "No problem."
The stranger keeps pace with you.
You continue in silence for a time.
The stranger seems to be eyeing you up.
After awhile, it's clear that they have something to say, so you pause.
Cozen ๐จ "...Listen, kid."
Cozen ๐จ "I couldn't help but notice."
They tap the side of their head.
You're not sure what they're trying to communicate.
Cozen ๐จ "C'mon, don't play coy."
Cozen ๐จ "Anyone could see the size of that turnip from a mile off."
Cozen ๐จ "You never know when someone's working in imports and exports."
Cozen ๐จ "You see what I'm saying?"
๐ฎ game_choice Nod|Shake
Cozen ๐จ "Not me, of course."
Cozen ๐จ "Just making sure you're informed."
Cozen ๐จ "Hate to see anything happen to a clueless kid like you."
They stare at you, long and hard.
Then tap the side of their head again.
๐ npc|blank
And then leave you to walk your path alone again.
โญ event end
๐ฉ event r:_ c:advent
Your focus has drifted.
๐ npc|advent
Adventurer ๐จ "-idn't even realize how common it was!"
When it returns, you're sitting at a campfire.
Adventurer ๐จ "Even right in my own backyard!"
Across from you is another traveller, laughing and carousing.
Adventurer ๐จ "You wouldn't dream such a thing possible without seeing it."
There's no one else around.
Adventurer ๐จ "Well, maybe you would... But a real person, yknow."
They seem to have been speaking to you for quite awhile.
Adventurer ๐จ "No telling what a weed dreams of."
You consider waiting for them to stop talking.
Adventurer ๐จ "Speaking of, I had the wildest dream the other day-"
But they show no signs of slowing down.
๐ npc|blank
So you stand up, and start walking.
You hear them shout something as you leave, but the sound quickly drops off in the distance.
โญ event end
๐ฉ map advent
โ layout('spectaclesmap')
Deejay ๐จ "That's the city of Advent, boss."
โ variables.done = variables.reviewed.boneyard && variables.reviewed.wifes && variables.reviewed.buboes && variables.reviewed.dollhouse && variables.reviewed.castle && variables.reviewed.tower && variables.reviewed.roots && variables.reviewed.docks && variables.reviewed.bird
โ variables._ = variables.done ? 'map Advent done' : ''
โญ $_
Deejay ๐จ "No point heading back home till the job's done."
โญ map pick
๐ฉ map Advent done
Deejay ๐จ "Guess it's about time we headed back home."
โ embark('advent')
โญ map wait
๐ฉ map boneyard
โ layout('spectaclesmap')
Deejay ๐จ "Nightgrave?"
โ variables._ = variables.reviewed.boneyard ? 'map boneyard repeat' : ''
โญ $_
Deejay ๐จ "Tourism there isn't exactly lively..."
Deejay ๐จ "But it's still technically on the route."
Deejay ๐จ "Is that where ya wanna go next?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('boneyard')
โญ map wait
๐ฉ map boneyard repeat
Deejay ๐จ "Glad we already got that outta the way..."
Deejay ๐จ "One night in that depressing boneyard was enough for me."
โญ map pick
๐ฉ arrive boneyard
๐ npc|deejay
๐ player|ghostwriter
Deejay ๐จ "Here we are, Nightgrave."
Deejay ๐จ "Looks even deader than I remember."
โ save('checkpoint boneyard')
๐ฉ checkpoint boneyard
๐ต title
โ showTitle('Nightgrave', 'Silent City of Absolution')
โ bipsiMove('boneyard', 7, 13)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ boneyard skull
โ variables.tripOn = 'skull'
โ variables._ = variables.tripped ? '' : 'boneyard trip'
โญ $_
You carefully step around the skull lying on the ground.
โ bipsiFocus()
โญ blank
๐ฉ boneyard bones
โ variables.tripOn = ['femur', 'rib', 'humerus'][Math.floor(Math.random()*3)]
โ variables._ = variables.tripped ? '' : 'boneyard trip'
โญ $_
You carefully step around the bones lying on the ground.
โ bipsiFocus()
โญ blank
๐ฉ boneyard trip
โ variables.tripped = true
As you walk past neglected gravestones, something catches your foot.
You trip on a stray $tripOn and fall face-first on the cold, hard ground.
โ bipsiFocus()
โญ blank
๐ฉ boneyard mother
โ variables._ = variables.ignoredMother ? 'boneyard mother repeat ignored' : ''
โญ $_
โ variables._ = variables.metMother ? 'boneyard mother repeat' : ''
โญ $_
โ variables.metMother = true
A robed figure arranges bones on a stone slab.
A knucklebone, the shard of a rib, three teeth below a cracked cranium.
When the last of these is in place, their eyes snap up.
๐ npc|mother
Bonemother Aspirant ๐จ "..."
Bonemother Aspirant ๐จ "...You wish me to speak?"
๐ฎ game_choice Nod->boneyard mother yes speak|Shake->boneyard mother no speak
โญ $_
๐ฉ boneyard mother repeat
๐ npc|mother
The robed figure pauses their work once more.
Bonemother Aspirant ๐จ "...You persist."
โญ boneyard mother yes speak
๐ฉ boneyard mother no speak
Bonemother Aspirant ๐จ "..."
๐ npc|blank
The figure goes back to their work.
โ bipsiFocus()
โญ blank
๐ฉ boneyard mother yes speak
Bonemother Aspirant ๐จ "I wish you did not."
The figure's voice is a low whisper.
Bonemother Aspirant ๐จ "Speech among the absolved..."
The figure gestures at the walls around you.
You're keenly aware of the dark circles of dozens of skulls staring at you.
Bonemother Aspirant ๐จ "...It is poor etiquette."
They look you up and down.
Bonemother Aspirant ๐จ "Your body... It is not your own."
Bonemother Aspirant ๐จ "Surely you understand...?"
๐ฎ game_choice Nod|Shake
They point at their own lips.
Bonemother Aspirant ๐จ "Those who bring words, bring violence."
There's piercing fire in the whispers.
Grief that stings and rage that whittles.
Blame for scars you do not understand.
โ variables.ignoredMother = true
๐ npc|blank
They return to their work.
โ bipsiFocus()
โญ blank
๐ฉ boneyard mother repeat ignored
๐ npc|mother
Bonemother Aspirant ๐จ "Enough."
Bonemother Aspirant ๐จ "Your ignorance is not mine to remedy."
Bonemother Aspirant ๐จ "If you seek knowledge or absolution, it surrounds you."
Bonemother Aspirant ๐จ "...If not, I will gladly hasten your next sin."
โ variables.canRead = true
โญ npcend
๐ฉ boneyard wall
โ variables._ = variables.firstRead ? 'boneyard wall repeat' : ''
โญ $_
โ variables._ = variables.canRead ? '' : 'boneyard wall clueless'
โญ $_
Recalling the figure's words about knowledge, you inspect the walls housing skulls.
You notice that in the detailing are small, engraved letters.
Engraving ๐จ "-a limit to the sin one body can bear. It is our duty-"
You skim through, searching for a coherent place to begin reading.
โ variables.firstRead = true
๐ฉ boneyard wall repeat
You find a few sections of the wall that seem legible.
๐ฎ game_choice On Absolution|On Possession|On Recreation
โญ $_
๐ฉ On Absolution
Engraving ๐จ "On Absolution - Bonemother Vanesse"
Engraving ๐จ "The world has many words for absolution."
Engraving ๐จ "They deny it, and mourn its lack."
Engraving ๐จ "They forbid it, and hide its form from others."
Engraving ๐จ "They declare it evil, and seek to destroy it."
Engraving ๐จ "Both those who have found absolution, and those who help others to find it."
Engraving ๐จ "They twist its purpose, and use it to commit sins of greater magnitude."
Engraving ๐จ "They grant a soul reprieve, only to steal it away."
Engraving ๐จ "They call it 'labour', and celebrate it."
Engraving ๐จ "It is crucial for an aspiring mother to understand this."
Engraving ๐จ "We live in a world which celebrates this mockery of life."
Engraving ๐จ "They have many words for absolution, but they do not understand it."
Engraving ๐จ "How could they, and still live as they do?"
Engraving ๐จ "They are like children."
Engraving ๐จ "They swallow needles and blame their tongues for tasting blood."
Engraving ๐จ "It is for this reason that we love them still."
Engraving ๐จ "For this reason that we absolve them."
Engraving ๐จ "In absolution, they may learn."
Engraving ๐จ "To reject the souls of such sinners is itself a sin."
Engraving ๐จ "Hold the sinner in your hand."
Engraving ๐จ "Feel the weight of what remains."
Engraving ๐จ "Is the burden they carry heavy?"
Engraving ๐จ "You carry it alongside them, now."
Engraving ๐จ "There is no forgiveness without life."
Engraving ๐จ "Give them the chance to earn your forgiveness."
Engraving ๐จ "Absolve them."
โญ boneyard done reading
๐ฉ On Possession
Engraving ๐จ "On Possession - Bonemother Paeyei"
Engraving ๐จ "Can a rock taste the water that erodes it?"
Engraving ๐จ "Can the grass hear the wind whistling through its blades?"
Engraving ๐จ "Can your eyes see the words in front of you?"
Engraving ๐จ "Does doing so mean you are alive?"
Engraving ๐จ "Or does it mask what it means to die?"
Engraving ๐จ "To possess the senses is to accept that they may be lost."
Engraving ๐จ "But to lose sense is not to lose life."
Engraving ๐จ "Your sense will be lost, in time."
Engraving ๐จ "Despite our best efforts, perhaps your life will follow."
Engraving ๐จ "Which would you prefer to keep?"
Engraving ๐จ "There is no such thing as possession without compromise."
Engraving ๐จ "Even possessing your own body, exactly as it is in this moment, is not enough."
Engraving ๐จ "The sin is immediate, and in small quantities, may be indistinguishable."
Engraving ๐จ "But there is a limit to the sin one body can bear."
Engraving ๐จ "It is our duty to recognize this inescapable fact of life."
Engraving ๐จ "If a body's sin outweighs its capacity to house life, a soul within may drift."
Engraving ๐จ "The experience has been likened to a dreamless sleep."
Engraving ๐จ "A passing of time which confuses and disorients."
Engraving ๐จ "Mothers before me have placed blame on the souls themselves."
Engraving ๐จ "This is cruelty."
Engraving ๐จ "How can one blame a soul tainted by the sin of their body?"
Engraving ๐จ "Flesh rots."
Engraving ๐จ "Bone breaks."
Engraving ๐จ "Sin spreads."
Engraving ๐จ "The soul demands a solution."
โญ boneyard done reading
๐ฉ On Recreation
Engraving ๐จ "On Recreation - Bonemother Cรฉanothe"
Engraving ๐จ "- Gold: sufficient"
Engraving ๐จ "- Silver: sufficient"
Engraving ๐จ "- Copper: insufficient"
Engraving ๐จ "- Bone: sufficient"
Engraving ๐จ "- Iron: sufficient as supplement"
Engraving ๐จ "- Sulfur: insufficient"
Engraving ๐จ "- Leather: sufficient as supplement"
Engraving ๐จ "- Quicksilver: insufficient"
Engraving ๐จ "- Tin: insufficient"
Engraving ๐จ "- Lead: insufficient"
Engraving ๐จ "- Gall: sufficient"
Engraving ๐จ "- Intestine: insufficient"
This list appears to go on for hundreds of individual entries.
โญ boneyard done reading
๐ฉ boneyard done reading
โ variables._ = variables.slept.boneyard ? 'boneyard done reading repeat' : ''
โญ $_
By the time you finish reading, the letters are engraved only a few inches from the floor.
You've had to sit down to keep reading.
You start to stand up, but a pain shoots through your calves.
You need to lie down.
You're on the job, after all.
You let yourself fall back onto the cold stone.
๐ blank
โ layout('spectaclusi')
If the robed figure pays you any mind, they show no sign of it.
You imagine yourself lying on the slab in front of them.
Taking the place of the skeletal remains.
Being taken apart piece by piece.
Carefully rearranged until everything is in its right place.
You wonder if they'd keep the turnip, or if they'd find something better.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
Eventually, you feel as satisfied as your body allows.
โ layout('spectacles')
๐ player|ghostwriter
You stand back up.
โ variables.slept.boneyard = true
โ bipsiFocus()
โญ blank
๐ฉ boneyard done reading repeat
โ bipsiFocus()
โญ blank
๐ฉ boneyard wall clueless
โ bipsiFocus()
โญ blank
๐ฉ boneyard-deejay
๐ npc|deejay
โ variables._ = variables.slept.boneyard ? '' : 'boneyard-deejay not done'
โญ $_
Deejay ๐จ "Been gone for awhile, boss..."
Deejay ๐จ "Was starting to worry ya might've died on me!"
Deejay ๐จ "Ready to rejoin the world of the living?"
๐ฎ game_choice Nod->|Shake->boneyard-deejay not done
โญ $_
Deejay ๐จ "Well, better finish yer job first, then."
โ variables.place = "Nightgrave - The Boneyard"
โ variables.reviewed.boneyard = true
โญ review write
๐ฉ boneyard-deejay not done
Deejay ๐จ "It's a mess, but I'm sure ya can find somewhere to sleep."
Deejay ๐จ "Seriously... Who died and put a slob in charge?"
โญ npcend
๐ฉ map wifes
โ layout('spectaclesmap')
Deejay ๐จ "That's the city of Wife City, boss."
โ variables._ = variables.reviewed.wifes ? 'map wifes repeat' : ''
โญ $_
Deejay ๐จ "That place gives me the creeps."
Deejay ๐จ "Dunno why it's even on the tour..."
Deejay ๐จ "Sure ya wanna head there next?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('wifes')
โญ map wait
๐ฉ map wifes repeat
Deejay ๐จ "No point heading back there again."
โญ map pick
๐ฉ arrive wifes
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "I think we're almost there..."
Sure enough, Deejay's words are soon confirmed.
The sound of bells rings out in the air.
The city's walls come into view.
Deejay ๐จ "Wowee, it's Wife City."
Deejay ๐จ "...Why'd ya wanna come here again?"
Deejay ๐จ "Actually don't answer that."
Deejay ๐จ "Just go do yer job, boss."
โ save('checkpoint wifes')
๐ฉ checkpoint wifes
๐ถ towns
๐ต title
โ showTitle('Wife City', 'City of Wifes')
โ bipsiMove('wifes', 5, 14)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ wifes door
You knock on the door, but no one opens.
โ bipsiFocus()
โญ blank
๐ฉ wifes everyone
๐ npc|wife
Wife ๐จ "Here in Wife City, everyone has a wife."
Wife ๐จ "Here in Wife City, everyone's a wife."
โญ npcend
๐ฉ wifes question
๐ npc|wife
Wife ๐จ "Do you have a wife?"
๐ฎ game_choice Nod->yes wife|Shake->no wife
โญ $_
๐ฉ yes wife
Wife ๐จ "My goodness..."
Wife ๐จ "I've heard tell of wifes outside Wife City, but never put stock in the rumours."
Wife ๐จ "Please take good care of your wife."
Wife ๐จ "If not... She'll always have a place here."
โญ npcend
๐ฉ no wife
Wife ๐จ "That's so sad..."
Wife ๐จ "I can't imagine living like that."
Wife ๐จ "Outsiders must lead such difficult lives..."
โญ npcend
๐ฉ wifes wedding
๐ npc|wife
Wife ๐จ "My wife is getting married tomorrow."
Wife ๐จ "You should come to the wedding!"
โญ npcend
๐ฉ wifes bride
๐ npc|wife
Wife ๐จ "Every wife was once a bride."
Wife ๐จ "We do well not to forget this."
Wife ๐จ "Every wife was once a bride."
Wife ๐จ "But not every bride will be a wife..."
โญ npcend
๐ฉ wifes marriage
๐ npc|wife
Wife ๐จ "Hello, good traveller!"
Wife ๐จ "Would you like to get married?"
๐ฎ game_choice Nod->yes marriage|Shake->no marriage
โญ $_
๐ฉ yes marriage
Wife ๐จ "What a shame."
Wife ๐จ "These days even outsiders are not immune to pro-wife propaganda..."
Wife ๐จ "You have nothing to lose but your wife!!"
โญ npcend
๐ฉ no marriage
Wife ๐จ "Good, very good!"
Wife ๐จ "Outsiders like you give me hope."
Wife ๐จ "It's about time Wife City faced reality!"
Wife ๐จ "There's more to life than wifes!!"
โญ npcend
๐ฉ wifes protest 1
๐ npc|wife
Wife ๐จ "These protests are getting ridiculous..."
Wife ๐จ "Won't anyone's wife stop her?"
โญ npcend
๐ฉ wifes protest 2
๐ npc|wife
Wife ๐จ "So embarrassing..."
Wife ๐จ "I'm glad that's not my wife."
โญ npcend
๐ฉ wifes protest 3
๐ npc|wife
Wife ๐จ "Of course a wife should say what's on her mind..."
Wife ๐จ "But surely there are limits!"
Wife ๐จ "We've all had an unwifely thought or two, of course."
Wife ๐จ "But we don't all shout them in the town square..."
โญ npcend
๐ฉ wifes protest 4
๐ npc|wife
Wife ๐จ "What are we paying wifely dues for if not to spare our streets from such vile garbage?!"
โญ npcend
๐ฉ wifes offensive
๐ npc|wife
Wife ๐จ "Many outsiders find Wife City repulsive or offensive."
Wife ๐จ "Ignorance is unfortunately common among such people."
Wife ๐จ "I'll admit I used to be one of them..."
Wife ๐จ "But after becoming a wife myself, it was hard to imagine living any other way."
โญ npcend
๐ฉ wifes my wife
๐ npc|wife
Wife ๐จ "Whose wife are you?"
Wife ๐จ "You wouldn't happen to be mine, would you?"
๐ฎ game_choice Nod->yes my wife|Shake->not my wife
โญ $_
๐ฉ yes my wife
Wife ๐จ "...No, that can't be right."
Wife ๐จ "I... I think I'll keep looking..."
Wife ๐จ "...Or are you-? No. No, you couldn't be..."
โญ npcend
๐ฉ not my wife
Wife ๐จ "...Are you sure?"
Wife ๐จ "You've such a wifely aura."
Wife ๐จ "Even if you're not my wife, we could still..."
Wife ๐จ "-Ah! what am i saying, I need to find my wife..."
โญ npcend
๐ฉ wifes 23
๐ npc|wife
Wife ๐จ "I've been a wife since I was 23."
Wife ๐จ "But I didn't find my wife until I was 42!"
Wife ๐จ "Don't let anyone tell you it's too late!"
โญ npcend
๐ฉ wifes summer
๐ npc|wife
Not-Wife ๐จ "I'm not actually a wife."
Not-Wife ๐จ "I just stay in Wife City for a few weeks every summer."
Not-Wife ๐จ "My wife, she gets lonely, you see..."
Not-Wife ๐จ "You can take a wife out of Wife City but you can't take Wife City out of the wife!"
Not-Wife ๐จ "If only you could... Sigh..."
โญ npcend
๐ฉ wifes content
๐ npc|wife
Wife ๐จ "Us wifes have everything we need in Wife City."
Wife ๐จ "I am perfectly content."
Wife ๐จ "Don't give me that doubtful look..."
Wife ๐จ "Outsiders like you couldn't possibly understand Wife City."
โญ npcend
๐ฉ wifes glare
๐ npc|wife
The wife glares at you.
Wife ๐จ "Don't make me do something your wife will regret."
โญ npcend
๐ฉ wifes romantic
๐ npc|wife
Wife ๐จ "I haven't found my wife yet."
Wife ๐จ "But it's nice to know she's out there somewhere in Wife City."
Wife ๐จ "I hope I'm her wife too..."
Wife ๐จ "Wouldn't that be so romantic!?"
Wife ๐จ "I can't wait to meet my wife..."
โญ npcend
๐ฉ wifes dislike
๐ npc|wife
Wife ๐จ "I don't think my wife likes me very much."
Wife ๐จ "I suppose I shouldn't complain..."
Wife ๐จ "I don't like my wife very much either."
โญ npcend
๐ฉ wifes children
๐ npc|wife
Wife ๐จ "There are no children permitted in Wife City."
Wife ๐จ "Other towns consider this backwards and barbaric."
Wife ๐จ "But they do not appreciate the lifes of wifes."
Wife ๐จ "A wife can only be judged by her peers."
Wife ๐จ "Someone who is not a wife could never understand this."
โญ npcend
๐ฉ wifes everyone outside
๐ npc|wife
Wife ๐จ "I believe that everyone is someone's wife, even outside of Wife City."
Wife ๐จ "Whether you know it or not, you are someone's wife too."
Wife ๐จ "My heart tells me this is true."
Wife ๐จ "I don't care how many wifes they send to silence me."
Wife ๐จ "I will never relinquish my beliefs."
โญ npcend
๐ฉ wifes weapons
๐ npc|wife
Wife ๐จ "There's no weapon shop in Wife City."
Wife ๐จ "This is because wifes are more powerful than any weapon you can hold in your hand."
Wife ๐จ "Though now that I think about it..."
Wife ๐จ "You could hold a wife by the hand..."
The wife blushes.
Wife ๐จ "Ah! E-excuse me, I've become... Lost in thought..."
โญ npcend
๐ฉ wifes roof
๐ npc|wife
Wife ๐จ "A house with no roof is better than a house with no wife, I say!"
โญ npcend
๐ฉ wifes leave 2
๐ npc|wife
Wife ๐จ "I often think about what it would be like to leave Wife City."
Wife ๐จ "But as a wife, it is not good to think of such things."
Wife ๐จ "I must turn my thoughts to my own wife..."
โญ npcend
๐ฉ wifes where
๐ npc|wife
Wife ๐จ "My wife doesn't know where I am."
Wife ๐จ "But I am content in the knowledge that she searches still."
Wife ๐จ "Are you searching for something as well?"
๐ฎ game_choice Nod->yes searching|Shake->no searching
โญ $_
๐ฉ yes searching
Wife ๐จ "Yes, you have the look in your eyes."
Wife ๐จ "I hope you find what you're searching for."
โญ npcend
๐ฉ no searching
Wife ๐จ "That's alright."
Wife ๐จ "I'm sure someone out there searches for you."
โญ npcend
๐ฉ wifes riddle
๐ npc|wife
Wife ๐จ "They say 'Once a wife, always a wife'."
Wife ๐จ "But some wifes become widows..."
Wife ๐จ "A bride, a wife, and a widow."
Wife ๐จ "It's like an answer to a pathetic riddle."
โญ npcend
๐ฉ wifes visit
๐ npc|wife
Not-Wife ๐จ "I'm not a wife, I'm just visiting."
Not-Wife ๐จ "Y'know, 'when in Wife City', haha."
โญ npcend
๐ฉ wifes leave
๐ npc|wife
Wife ๐จ "My wife wants to leave the city."
Wife ๐จ "I don't know that I can."
Wife ๐จ "How could anyone choose between their wife and Wife City?"
โญ npcend
๐ฉ wifes sign
An ornate sign with elaborate cursive script reading: Wife City Inn
โ bipsiFocus()
โญ blank
๐ฉ wifes inn
๐ npc|wife
โ variables._ = variables.wifesPermission ? 'wifes inn repeat': ''
โญ $_
A Keeper ๐จ "My goodness, a ghostwriter!"
A Keeper ๐จ "Been quite awhile since one of you strange folk came through Wife City."
A Keeper ๐จ "If you're looking for lodgings, you've come to the right place!"
A Keeper ๐จ "We've got a couple wifeless vacancies available."
A Keeper ๐จ "Only 15 coppers to stay the night!"
๐ต coins
โ showFooter('-15 coins')
You count out a handful of coins and hand them to the wife.
A Keeper ๐จ "Wonderful. Enjoy your stay!"
โ variables.wifesPermission = true
โญ npcend
โญ npcend
๐ฉ wifes inn repeat
A Keeper ๐จ "I hope you enjoy Wife City!"
A Keeper ๐จ "If you decide to write about us, don't forget the name: Wife City Inn!"
A Keeper ๐จ "Would it help if I spelled it out?"
๐ฎ game_choice Nod|Shake
A Keeper ๐จ "Oh, silly me..."
A Keeper ๐จ "It's on the sign out front, of course."
โญ npcend
๐ฉ wifes bed early
A pair of vacant beds.
Your back aches to lie down on one.
But you can't do your job without speaking to the proprietor first.
โ bipsiFocus()
โญ blank
๐ฉ wifes bed
โ variables._ = variables.wifesPermission ? '' : 'wifes bed early'
โญ $_
โ variables._ = variables.slept.wifes ? 'wifes bed repeat' : ''
โญ $_
You lie down in one of the two empty beds.
๐ blank
โ layout('spectaclusi')
It is luxurious.
Your heavy body sinks into the downy mattress.
Starlight shines through the window, and dances between the veil of curtains.
The weather outside is mild, but you indulge yourself in three layers of fine, soft fleece.
You pour your exhaustion into two feather-stuffed pillows.
Your focus drifts away with ease.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
The morning comes too soon.
And with it, the familiar itch.
But before you get out of bed, you hear a clatter of dishware.
๐ npc|wife
A Keeper ๐จ "Oh, good morning little writer."
A Keeper ๐จ "I didn't mean to wake you."
A Keeper ๐จ "I was just bringing your breakfast."
A Keeper ๐จ "Please, stay in bed a little longer."
A Keeper ๐จ "I'll be out of your way in a moment."
๐ npc|blank
โ post("spectacles", { type: "clear" })
โณ
๐ player|ghostwriter
โ layout('spectacles')
The breakfast is a single bagel and two beverages served in large glasses.
Each are filled near to the brim, one with water, the other with a translucent fruit juice.
You stick one hand in the glass of water as you survey the rest of the meal.
The bagel is sliced in two and lightly charred on one side.
Each slice has been topped with seeds and a spread of creamed sheep's cheese.
The spread has been chilled, and keeps its form on the hot surface of the bagel.
On further inspection, you notice small pieces of berry are embedded in the cheese as well.
Reconsidering the beverages, you experimentally place one finger in the juice.
The acidity does not agree with you.
You dry your hands on a napkin and rise for the day.
โ variables.slept.wifes = true
โ bipsiFocus()
โญ blank
๐ฉ wifes bed repeat
You're tempted to lie back down on the exceedingly comfy bed.
But the itch rises up your back and urges you to move on.
โ bipsiFocus()
โญ blank
๐ฉ wifes-deejay
๐ npc|deejay
โ variables._ = variables.slept.wifes ? '' : 'wifes-deejay not done'
โญ $_
Deejay ๐จ "Please tell me yer ready to get outta here?"
๐ฎ game_choice Nod->|Shake->wifes-deejay not done
โญ $_
Deejay ๐จ "Good riddance."
Deejay ๐จ "Only one thing left to do."
โ variables.place = "Wife City - Wife City Inn"
โ variables.reviewed.wifes = true
โญ review write
๐ฉ wifes-deejay not done
Deejay ๐จ "Hurry up with yer review, boss."
Deejay ๐จ "The quicker we get outta this wifehole the better..."
โญ npcend
๐ฉ map buboes
โ layout('spectaclesmap')
Deejay ๐จ "The Somnambuboes?"
โ variables._ = variables.reviewed.buboes ? 'map buboes repeat' : ''
โญ $_
Deejay ๐จ "They haven't spread since last year, but I dunno, boss..."
Deejay ๐จ "Ya want to go there?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('buboes')
โญ map wait
๐ฉ map buboes repeat
Deejay ๐จ "Getting lost in there once wasn't enough for ya?"
Deejay ๐จ "C'mon boss, pick somewhere we haven't reviewed yet."
โญ map pick
๐ฉ arrive buboes
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Ey, pay attention, boss."
You focus on Deejay, and a moment later step in something wet.
Deejay ๐จ "What did I just say!?"
You find yourself suddenly falling five feet.
Luckily the fleshy ground cushions your fall somewhat.
Deejay ๐จ "Sigh... Yer looking for Hilum's Rest."
Deejay ๐จ "If ya get lost along the way, I ain't gonna be much help."
Deejay ๐จ "The locals neither."
Deejay ๐จ "So get in, and get out, ya hear?"
โ save('checkpoint buboes')
๐ฉ checkpoint buboes
๐ถ winds
๐ต title
โ showTitle('The Somnambuboes', 'The City of Dreams')
โ bipsiMove('buboes', 4, 14)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ dreamer asleep
The dreamer doesn't acknowledge you.
๐ npc|dreamer
They seem preoccupied.
Dreamer ๐จ "..."
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "Zzzzzzz..."
Dreamer ๐จ "Zz..."
โญ npcend
๐ฉ dreamer deny
The dreamer looks disappointed, but says nothing.
โญ npcend
๐ฉ dreamer pleasure
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "In my dream I died while seeking pleasure."
Dreamer ๐จ "A man in an ancient outfit greeted each soul."
Dreamer ๐จ "He told each one there was a toll to pay."
Dreamer ๐จ "He asked if they understood what that meant."
Dreamer ๐จ "If they had any means of paying."
Dreamer ๐จ "Each time he asked, he did so more seductively."
Dreamer ๐จ "With a hand on his hips."
Dreamer ๐จ "With a smirk and a wink."
Dreamer ๐จ "With a bare bottom on display."
Dreamer ๐จ "No one could pay."
Dreamer ๐จ "I hid myself to watch."
Dreamer ๐จ "Until two men strode through."
Dreamer ๐จ "One confident one shy."
Dreamer ๐จ "The first said his name was Pete."
Dreamer ๐จ "And the other's was Little Pete."
Dreamer ๐จ "The man in the ancient outfit asked if they could pay."
Dreamer ๐จ "Pete simply walked past."
Dreamer ๐จ "And said 'Don't worry'."
Dreamer ๐จ "'Pete is with me.'"
Dreamer ๐จ "..."
Dreamer ๐จ "I didn't know you could do that."
Dreamer ๐จ "His brazen attitude woke me from my slumber."
Dreamer ๐จ "I hope I see Pete again."
โญ npcend
๐ฉ dreamer killer
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I had a dream that my brothers were sisters."
Dreamer ๐จ "They looked out for each other."
Dreamer ๐จ "They were so very kind."
Dreamer ๐จ "But a disrespectful salesman tried to rob our mother."
Dreamer ๐จ "And my brother-sisters and I, we killed him."
Dreamer ๐จ "He started the fight."
Dreamer ๐จ "It was self-defense."
Dreamer ๐จ "But it was still revenge."
Dreamer ๐จ "It was still so very violent..."
Dreamer ๐จ "We stabbed him over and over."
Dreamer ๐จ "We had no weapons."
Dreamer ๐จ "My brother-sisters and I, we used our fingers."
Dreamer ๐จ "..."
Dreamer ๐จ "I tried to clean the blood."
Dreamer ๐จ "It was so very bloody."
Dreamer ๐จ "But I woke up before I finished."
Dreamer ๐จ "My brother-sisters must think I'm slacking off..."
โญ npcend
๐ฉ dreamer shout
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "In my dream, I'm walking."
Dreamer ๐จ "Walking through the streets of an unfamiliar city."
Dreamer ๐จ "I'm surrounded by strangers."
Dreamer ๐จ "But I see someone I recognize."
Dreamer ๐จ "I try to call out, but my voice doesn't work."
Dreamer ๐จ "It's a common one, I know."
Dreamer ๐จ "But it feels so real."
Dreamer ๐จ "I put so much effort into trying to speak."
Dreamer ๐จ "When I wake up, my throat hurts."
Dreamer ๐จ "I can feel I've been moaning."
Dreamer ๐จ "..."
Dreamer ๐จ "I hope no one heard me..."
โญ npcend
๐ฉ dreamer creature
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "In the room where I sleep..."
Dreamer ๐จ "There's a creature floating on the wall."
Dreamer ๐จ "It hovers two feet above me."
Dreamer ๐จ "It's terrifying."
Dreamer ๐จ "It has a thin, long, featureless head."
Dreamer ๐จ "The head is more than half its body."
Dreamer ๐จ "It has two stubby legs, and arms that hang low and meet in the center."
Dreamer ๐จ "It is a being of pure darkness."
Dreamer ๐จ "A total body composition."
Dreamer ๐จ "My heart beats faster and faster."
Dreamer ๐จ "But I was only half-asleep."
Dreamer ๐จ "Only half-dreaming."
Dreamer ๐จ "And on waking, it's gone."
Dreamer ๐จ "..."
Dreamer ๐จ "The next time I sleep..."
Dreamer ๐จ "I promise I'll be brave."
โญ npcend
๐ฉ dreamer corner
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "..."
Dreamer ๐จ "I'm having trouble falling asleep."
Dreamer ๐จ "When I lie here, awake."
Dreamer ๐จ "I look at the dark corner."
Dreamer ๐จ "There's a dark corner in every room."
Dreamer ๐จ "One that's darker than all the rest."
Dreamer ๐จ "I hope for the darkness to spread behind my eyes."
Dreamer ๐จ "..."
Dreamer ๐จ "So far, it hasn't worked..."
โญ npcend
๐ฉ dreamer lewd
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I dream of lewd and lascivious situations."
Dreamer ๐จ "I am not ashamed of this."
Dreamer ๐จ "Anyone who claims they haven't is lying."
Dreamer ๐จ "But in the dreams...."
Dreamer ๐จ "In the dreams I feel shame."
Dreamer ๐จ "It doesn't stop me."
Dreamer ๐จ "It doesn't stop anyone."
Dreamer ๐จ "But for most, it stops them from sharing."
Dreamer ๐จ "This privacy is the ultimate perversion."
Dreamer ๐จ "It is one I accept, but do not hide."
โญ npcend
๐ฉ dreamer dance
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I dream of soaking with a friend who doesn't consider me one."
Dreamer ๐จ "They insist I learn to dance."
Dreamer ๐จ "But I can't feel my legs."
Dreamer ๐จ "All I can do is guess at the movements."
Dreamer ๐จ "All I can do is hope it works out."
Dreamer ๐จ "..."
Dreamer ๐จ "My friend who isn't mine enjoys themselves."
Dreamer ๐จ "I am not sure if I enjoy them."
Dreamer ๐จ "But a friend dances all the same."
โญ npcend
๐ฉ dreamer reconnect
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I reconnect with someone I once loved."
Dreamer ๐จ "Someone I loved and have not seen in decades."
Dreamer ๐จ "In the dream, nothing is forgiven, but we did not part ways."
Dreamer ๐จ "The reasons and wrongs we did to each other linger."
Dreamer ๐จ "I feel compelled to confront them."
Dreamer ๐จ "But I'm scared."
Dreamer ๐จ "I don't want to risk loss again."
Dreamer ๐จ "Even if resentment festers in its stead."
Dreamer ๐จ "..."
Dreamer ๐จ "When I wake, it is the opposite."
Dreamer ๐จ "I am glad I have nothing to hide."
Dreamer ๐จ "Even if it means never seeing them again."
โญ npcend
๐ฉ dreamer ghostwriter
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I met someone like you in a dream once."
Dreamer ๐จ "Different shape though."
Dreamer ๐จ "Longer, more lumpy."
Dreamer ๐จ "Had a strange bird on their shoulder."
Dreamer ๐จ "Wait... Maybe that wasn't a dream."
Dreamer ๐จ "Have you been here before?"
๐ฎ game_choice Nod|Shake
Dreamer ๐จ "..."
Dreamer ๐จ "Perhaps it was a dream of yours, not mine."
โญ npcend
๐ฉ dreamer flying
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I dreamt I was flying."
Dreamer ๐จ "..."
Dreamer ๐จ "How ridiculously pedestrian."
Dreamer ๐จ "I must get another nap in by sundown or I'll never live it down..."
โญ npcend
๐ฉ dreamer bird
The dreamer pauses expectantly.
๐ npc|dreamer
They seem to be waiting for permission to proceed.
๐ฎ game_choice Nod->|Shake->dreamer deny
โญ $_
Dreamer ๐จ "Zzz..."
Dreamer ๐จ "I travel when I can."
Dreamer ๐จ "My last trip, I saw a dead bird."
Dreamer ๐จ "Poor thing, dead on a city street."
Dreamer ๐จ "I stepped around it and didn't pay it any mind."
Dreamer ๐จ "But in my dreams, I stopped."
Dreamer ๐จ "I looked more closely."
Dreamer ๐จ "Saw that it was injured, but alive."
Dreamer ๐จ "All it needed was a little help."
Dreamer ๐จ "I took it home with me."
Dreamer ๐จ "I cared for it."
Dreamer ๐จ "Here, in this very room."
Dreamer ๐จ "One day, it was healthy enough to fly."
Dreamer ๐จ "It took off, and the dream ended."
Dreamer ๐จ "..."
Dreamer ๐จ "Am I a bad person?"
๐ฎ game_choice Nod|Shake
Dreamer ๐จ "..."
Dreamer ๐จ "...It was only a dream, after all."
โญ npcend
๐ฉ dreamer innkeeper
โ variables._ = variables.slept.buboes ? 'dreamer innkeeper repeat' : ''
โญ $_
The dreamer does not pause.
๐ npc|dreamer
Keeper of Dreams ๐จ "In the waking world, you find yourself in Hilum's Rest."
Keeper of Dreams ๐จ "Perhaps it's where your journey will end..."
Keeper of Dreams ๐จ "If not, we hope you find time for a dream or two."
The dreamer's eyes crease softly with a smile.
They lie down flat on the bubonic floor.
๐ npc|blank
They say no more.
You take it as an invitation to do the same.
๐ blank
โ layout('spectaclusi')
You find an unoccupied stretch of pink, and lie down yourself.
It's surprisingly warm.
Your feet were too focused on walking to notice.
Now, you feel the life all around you.
There are no dressings, no furniture.
Just a faint, steady pulse pumping under the skin.
It reminds you of covering your ears.
Hearing the blood flowing through your own veins.
It's a nostalgic feeling.
One you haven't felt in awhile.
You focus on it.
And your body allows you to rest.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
You lie there for hours.
But you don't dream.
Dreams are for those who sleep.
You rest, but you don't sleep.
Not like the living.
Having done the job, your body wants you to get up.
But first, you try to remember:
You remember what it felt like to wake up.
To feel dreams fading away.
Being uncertain which thoughts are polluted by their logic.
Erasing a fantasy one bleary blink at a time.
Maybe there's a reason you can't sleep now.
You never could fall asleep in dreams.
Maybe you're going to realize this trip, this turnip...
No.
You are dead.
Of that you're certain.
There's no wakeup call to erase that fact.
And dead or not, the itch in your legs is killing you.
๐ player|ghostwriter
โ layout('spectacles')
You stand up.
A large, round impression is left on the floor where you lay.
The dreamer you spoke to earlier does not rise to greet you.
They appear to be fast asleep themselves.
๐ npc|blank
โ variables.slept.buboes = true
โ bipsiFocus()
โญ blank
๐ฉ dreamer innkeeper repeat
The dreamer who offered you a place to rest remains fast asleep.
You recall there was no mention of breakfast, or of payment.
Perhaps all Hilum's Rest offers is a place to sleep, perchance to dream.
โ bipsiFocus()
โญ blank
๐ฉ buboes-deejay
๐ npc|deejay
โ variables._ = variables.slept.buboes ? '' : 'buboes-deejay not done'
โญ $_
Deejay ๐จ "Ey, boss."
Deejay ๐จ "Ya ready to write that review?"
๐ฎ game_choice Nod->|Shake->buboes-deejay not done
โญ $_
Deejay ๐จ "Finally..."
Deejay ๐จ "I'm practically falling asleep standing up over here."
โ variables.place = "The Somnambuboes - Hilumโs Rest"
โ variables.reviewed.buboes = true
โญ review write
๐ฉ buboes-deejay not done
Deejay ๐จ "Hurry up, boss."
โญ npcend
๐ฉ map dollhouse
โ layout('spectaclesmap')
Deejay ๐จ "The Twinning Towers."
โ variables._ = variables.reviewed.dollhouse ? 'map dollhouse repeat' : ''
โญ $_
Deejay ๐จ "Yer a bit old for that crowd, aren't ya?"
Deejay ๐จ "Actually... How fast do turnips age?"
Deejay ๐จ "Ya know what, nevermind..."
Deejay ๐จ "Is that where ya wanna head next?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('dollhouse')
โญ map wait
๐ฉ map dollhouse repeat
Deejay ๐จ "Despite the name, I don't think ya gotta review it twice, boss."
โญ map pick
๐ฉ arrive dollhouse
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Here we are."
The clustered towers stand out clearly on the horizon.
They seem leagues away yet, but you reach them much faster than expected.
Although they do tower above you, it turns out they're smaller than you expected.
Deejay ๐จ "The dolls always have a vacancy or two, so should have no problem here."
Deejay ๐จ "Catch ya later, boss."
โ save('checkpoint dollhouse')
๐ฉ checkpoint dollhouse
๐ถ winds
๐ต title
โ showTitle('The Twinning Towers', 'The City of Paired Playthings')
โ bipsiMove('dollhouse', 8, 15)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ doll like us a
โ if (!variables.dollOrderLikeUs) variables.dollOrderLikeUs = 'a'
โ variables._ = variables.dollOrderLikeUs === 'a' ? '1' : '2'
โญ doll like us $_
๐ฉ doll like us b
โ if (!variables.dollOrderLikeUs) variables.dollOrderLikeUs = 'b'
โ variables._ = variables.dollOrderLikeUs === 'b' ? '1' : '2'
โญ doll like us $_
๐ฉ doll like us 1
๐ npc|sister
Sister ๐จ "Oh, oh! You are like us, like us!"
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll like us 2
๐ npc|sister
Sister ๐จ "Yes, yes, like us, like us!"
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll stranger
๐ npc|sister
Sister ๐จ "Sorry sorry, my sister says not to talk to strangers..."
Sister ๐จ "Not to strangers..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll flesh a
โ if (!variables.dollOrderFlesh) variables.dollOrderFlesh = 'a'
โ variables._ = variables.dollOrderFlesh === 'a' ? '1' : '2'
โญ doll flesh $_
๐ฉ doll flesh b
โ if (!variables.dollOrderFlesh) variables.dollOrderFlesh = 'b'
โ variables._ = variables.dollOrderFlesh === 'b' ? '1' : '2'
โญ doll flesh $_
๐ฉ doll flesh 1
๐ npc|sister
Sister ๐จ "Your skin is very strange, very strange."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll flesh 2
๐ npc|sister
Sister ๐จ "Not metal, not flesh, not metal, not flesh..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll outsider a
โ if (!variables.dollOrderOutsider) variables.dollOrderOutsider = 'a'
โ variables._ = variables.dollOrderOutsider === 'a' ? '1' : '2'
โญ doll outsider $_
๐ฉ doll outsider b
โ if (!variables.dollOrderOutsider) variables.dollOrderOutsider = 'b'
โ variables._ = variables.dollOrderOutsider === 'b' ? '1' : '2'
โญ doll outsider $_
๐ฉ doll outsider 1
๐ npc|sister
Sister ๐จ "Ugly, ugly outsider."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll outsider 2
๐ npc|sister
Sister ๐จ "Have you no sister, no sister at all?"
๐ฎ game_choice Nod|Shake
Sister ๐จ "I don't believe you..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll repair
๐ npc|sister
Sister ๐จ "My sister is in need of repair, in dire need."
Sister ๐จ "I'm fiinne, iiiiim fiiiiine..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll dirty
๐ npc|sister
Sister ๐จ "Ew... Stay away, stay away from us!"
Sister ๐จ "Ew, ew! Dirty, dirty!"
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll hat
๐ npc|sister
The doll points at your head.
Sister ๐จ "Your hat..."
Sister ๐จ "You lost your hat..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll weirdo a
โ if (!variables.dollOrderWeirdo) variables.dollOrderWeirdo = 'a'
โ variables._ = variables.dollOrderWeirdo === 'a' ? '1' : '2'
โญ doll weirdo $_
๐ฉ doll weirdo b
โ if (!variables.dollOrderWeirdo) variables.dollOrderWeirdo = 'b'
โ variables._ = variables.dollOrderWeirdo === 'b' ? '1' : '2'
โญ doll weirdo $_
๐ฉ doll weirdo 1
๐ npc|sister
Sister ๐จ "What? What do you want?"
Sister ๐จ "Freak..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll weirdo 2
๐ npc|sister
Sister ๐จ "We don't owe you dualism!"
Sister ๐จ "Yeah, we don't owe you anything, freak!!"
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll another tower
๐ npc|sister
Sister ๐จ "You wouldn't know my sister."
Sister ๐จ "She's from another tower."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll sign
There's a large blackboard on the wall.
Chalk letters give its title: Dormitory B2
Below, there's a timetable, a list of chores, announcements...
There's also a grid with simple drawings of beds.
Each bed has two names written in it, except one on the top left.
โ bipsiFocus()
โญ blank
๐ฉ doll heads a
โ variables._ = !variables.seenHeads ? 'doll heads 0' : ''
โญ $_
โ if (!variables.dollOrderHeads) variables.dollOrderHeads = 'a'
โ variables._ = variables.dollOrderHeads === 'a' ? '1' : '2'
โญ doll heads $_
๐ฉ doll heads b
โ variables._ = !variables.seenHeads ? 'doll heads 0' : ''
โญ $_
โ if (!variables.dollOrderHeads) variables.dollOrderHeads = 'b'
โ variables._ = variables.dollOrderHeads === 'b' ? '1' : '2'
โญ doll heads $_
๐ฉ doll heads 0
โ variables.seenHeads = true
The two dolls in this room appear to be exchanging heads.
๐ npc|sister
Sister ๐จ "Ah!"
Sister ๐จ "P-peeping pervert! Perverted peeper!"
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll heads 1
๐ npc|sister
Sister ๐จ "Please... Please don't tell our sisters."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll heads 2
๐ npc|sister
Sister ๐จ "Our bonds are stronger than tradition."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll partner
โ variables._ = variables.slept.dollhouse ? 'doll partner repeat' : ''
โญ $_
๐ npc|sister
The doll's head tracks your movements as you look over the beds.
Sister's Keeper ๐จ "Ugh."
Sister's Keeper ๐จ "Another exchange?"
Sister's Keeper ๐จ "Why do I always get stuck with you freaks..."
Having gotten your attention, the little thing holds out one hand, palm up.
Sister's Keeper ๐จ "...Well?"
Sister's Keeper ๐จ "Don't tell me you forgot your rent."
Sister's Keeper ๐จ "Sisters stay free, but it's 50 a night for subletters."
They wiggle their tiny wooden fingers.
Sister's Keeper ๐จ "Up front!"
๐ต coins
โ showFooter('-50 coins')
You count out the coins and hand them to the doll.
They're quickly deposited into an ornate lockbox on the nightstand.
Sister's Keeper ๐จ "I have dibs on top bunk, so don't get any funny ideas."
๐ npc|blank
The doll clambers up a little ladder and out of sight into the bed.
You examine the lower section.
The beds are quite large for a doll, but you're not sure if you'll fit.
There's hardly room to lie down, let alone sit upright.
Still, you have a job to do.
So you carefully wedge yourself between the bunks.
๐ player|blank
โ layout('spectaclusi')
The wood creaks under your weight.
You keep your legs curled close to your body.
You try to roll over, but your arm gets caught on something.
As you twist to free it, your head bumps the underside of the top bunk.
The doll residing above yelps.
๐ npc|sister-flip
Their miniature head sticks down over the side to glare at you.
A moment later, they retreat with an unpleasant muttering.
๐ npc|blank
You resign yourself to the awkward position and try to rest.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
You're not sure how long you stay that way.
Wind whistles in the windows.
Whispers of sisters weave their way through the walls.
At times, you swear you hear your own name among their words.
You've never slept in this body.
But this time, you feel the length of a sleepless night.
Your legs ache.
For once, the compulsion feels purely physical.
You could really use a stretch.
โ layout('spectacles')
๐ player|ghostwriter
As you shift to get out of the bed, you bump your head again.
Sister's Keeper ๐จ "Ugh!"
๐ npc|sister
The doll hops down from the top bunk.
Sister's Keeper ๐จ "I've had it with you!"
Sister's Keeper ๐จ "You're ugly, you stink, and you will not shut up!"
โ layout('spectacles')
Sister's Keeper ๐จ "Get out of my sight!"
It irks you to be unable to communicate you were already leaving.
โ variables.slept.dollhouse = true
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ doll partner repeat
๐ npc|sister
Sister's Keeper ๐จ "Get out of my sight, freak!"
The doll grabs a fruit off a nearby table and tosses it at you.
It bounces off your belly with a sharp crack and shatters on the floor.
Sister's Keeper ๐จ "Dirty, dirty freak..."
โ bipsiFocus()
๐ npc|blank
โญ blank
๐ฉ dollhouse-deejay
๐ npc|deejay
โ variables._ = variables.slept.dollhouse ? '' : 'dollhouse-deejay not done'
โญ $_
Deejay ๐จ "All set, boss?"
๐ฎ game_choice Nod->|Shake->dollhouse-deejay not done
โญ $_
Deejay ๐จ "Then ya know comes next."
โ variables.place = "The Twinning Towers - Dormitory B2"
โ variables.reviewed.dollhouse = true
โญ review write
๐ฉ dollhouse-deejay not done
Deejay ๐จ "If ya don't know where to go, I can't help ya boss."
Deejay ๐จ "Dolls don't let us birds inside anymore."
Deejay ๐จ "I've tried explain the difference between dust jackets and woodpeckers, but it wouldn't take."
โญ npcend
๐ฉ map castle
โ layout('spectaclesmap')
Deejay ๐จ "On the coast there? That's Off-Beach."
โ variables._ = variables.reviewed.castle ? 'map castle repeat' : ''
โญ $_
Deejay ๐จ "Always something new to see there."
Deejay ๐จ "Looking for a sea-side getaway boss?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('castle')
โญ map wait
๐ฉ map castle repeat
Deejay ๐จ "Two beach visits in a single season would be a bit much."
โญ map pick
๐ฉ arrive castle
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Off-Beach, here we come."
The vegetation along the coastline gets sparser and sparser.
You're eventually walking along nothing but pure sand.
As you crest the next dune, you see a large structure in the distance.
A massive arch leading into a tiered fortification.
The impressive construction sits right on the edge of the sea.
Every last bit of it is made of sand.
Deejay ๐จ "Let's get our feet wet, boss!"
โ save('checkpoint castle')
๐ฉ checkpoint castle
๐ถ winds
๐ต title
โ showTitle('Off-Beach', 'City of Sandy Castles')
โ bipsiMove('castle', 6, 10)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ castle extraordinary
๐ npc|chreb
Chreb ๐จ "Extraordinary expression is limited to extraordinary desire."
Chreb ๐จ "Extraordinary desire is limited to extraordinary taste."
Chreb ๐จ "Extraordinary taste is the purview of the chreb alone."
โญ npcend
๐ฉ castle umami
๐ npc|chreb
Chreb ๐จ "I discovered a new flavour."
Chreb ๐จ "It's revolutionary."
Chreb ๐จ "Imagine it:"
Chreb ๐จ "The opposite of umami."
Chreb ๐จ "All I need is a name..."
Chreb ๐จ "The best I've come up with is 'daddio'."
Chreb ๐จ "...I'm still working on it."
โญ npcend
๐ฉ castle cherry
๐ npc|chreb
Chreb ๐จ "I think the best way to eat involves biting your tongue at least once per meal."
Chreb ๐จ "It's the cherry on top of any dish."
โญ npcend
๐ฉ castle intersection
๐ npc|chreb
Chreb ๐จ "We stand at the intersection of food and meals."
Chreb ๐จ "Watch out, I can swing both ways."
โญ npcend
๐ฉ castle writer
๐ npc|chreb
Chreb ๐จ "Oh you're a writer?"
Chreb ๐จ "You must enjoy working in such boring, biteless media."
๐ฎ game_choice Nod->castle writer yes|Shake->castle writer no
โญ $_
๐ฉ castle writer yes
Chreb ๐จ "You know what they say..."
Chreb ๐จ "Write what you know, eat what you don't."
โญ npcend
๐ฉ castle writer no
Chreb ๐จ "Maybe we should trade."
Chreb ๐จ "...Ink is edible, right?"
โญ npcend
๐ฉ castle arugula
๐ npc|chreb
Chreb ๐จ "I'm cooking an Evil arugula."
Chreb ๐จ "Don't tell anyone."
โญ npcend
๐ฉ castle pain
๐ npc|chreb
Chreb ๐จ "There's no greater way to express yourself than through the pain of others."
Chreb ๐จ "A bittersweet taste we can all appreciate."
โญ npcend
๐ฉ castle stummy
๐ npc|chreb
Chreb ๐จ "My stomach hurts..."
โญ npcend
๐ฉ castle great evil
๐ npc|chreb
Chreb ๐จ "In the face of great evil it is the duty of every chef to cook."
Chreb ๐จ "In times of peace, maybe to suggest a complementary beverage."
โญ npcend
๐ฉ castle journey
๐ npc|chreb
Chreb ๐จ "A traveller... You must be on quite a journey."
Chreb ๐จ "I'm on a bit of a journey myself."
Chreb ๐จ "My journey, however, begins and ends from plate to mouth."
โญ npcend
๐ฉ castle cutcutcut
๐ npc|chreb
Chreb ๐จ "~I want to cutcutcut"
Chreb ๐จ "Cutcutcut you upupup~"
โญ npcend
๐ฉ castle destroy
๐ npc|chreb
Chreb ๐จ "My ultimate culinary goal is to destroy human life."
Chreb ๐จ "...You're not a human, are you?"
๐ฎ game_choice Nod|Shake
Chreb ๐จ "Hmm."
Chreb ๐จ "I'll figure out what to do with freaks after."
Chreb ๐จ "One step at a time..."
โญ npcend
๐ฉ castle garbonzo
๐ npc|chreb
Chreb ๐จ "I've developed an affinity for the humble garbanzo."
Chreb ๐จ "I only hope the day soon comes when the feeling is mutual."
โญ npcend
๐ฉ castle mere eating
๐ npc|chreb
Chreb ๐จ "I'm sick of mere eating."
Chreb ๐จ "I want to consume."
Chreb ๐จ "I need to devour."
โญ npcend
๐ฉ castle lick
๐ npc|chreb
Chreb ๐จ "Can I lick your dirty little fingers?"
Chreb ๐จ "They look so flavourful."
๐ฎ game_choice Nod->castle lick yes|Shake->castle lick no
โญ $_
๐ฉ castle lick yes
โ layout('spectaclusi')
Chreb ๐จ "Mmm..."
Chreb ๐จ "Ooh..."
โ layout('spectacles')
Chreb ๐จ "An unexpected treat."
Chreb ๐จ "Delicious..."
โญ npcend
๐ฉ castle lick no
Chreb ๐จ "Grr..."
โญ npcend
๐ฉ castle edible
๐ npc|chreb
Chreb ๐จ "You look edible."
Chreb ๐จ "Are you edible?"
๐ฎ game_choice Nod->castle edible yes|Shake->castle edible no
โญ $_
๐ฉ castle edible yes
Chreb ๐จ "How delightful..."
Chreb ๐จ "Most humans are edible."
Chreb ๐จ "But they tend to sour when I point that out."
โญ npcend
๐ฉ castle edible no
Chreb ๐จ "Hmm."
Chreb ๐จ "I think you're just not trying hard enough."
โญ npcend
๐ฉ castle line a
โ variables.line = 'a'
โญ castle line
๐ฉ castle line b
โ variables.line = 'b'
โญ castle line
๐ฉ castle line c
โ variables.line = 'c'
โญ castle line
๐ฉ castle line d
โ variables.line = 'd'
โญ castle line
๐ฉ castle line e
โ variables.line = 'e'
โญ castle line
๐ฉ castle line f
โ variables.line = 'f'
โญ castle line
๐ฉ castle line g
โ variables.line = 'g'
โญ castle line
๐ฉ castle line h
โ variables.line = 'h'
โญ castle line
๐ฉ castle line
โ variables._ = ["I've been waiting in line all day...", "This line better be worth it...", "Hey! No cutting in line!"][variables.line.codePointAt(0)%3]
๐ npc|chreb
Chreb ๐จ "$_"
โญ npcend
๐ฉ castle inn
โ variables._ = variables.slept.castle ? 'castle inn repeat' : ''
โญ $_
๐ npc|chreb
Chreb de Sable ๐จ "Welcome to Crenelles de la Crรจme."
Chreb de Sable ๐จ "Are you a guest or an appetizer?"
Chreb de Sable ๐จ "Heh... I kid, of course."
Chreb de Sable ๐จ "We'd never serve something as down-to-earth as turnip."
Chreb de Sable ๐จ "May I have the name?"
You hold up your journal, and point at the byline.
Chreb de Sable ๐จ "$byline..."
โ variables.bylineLetter = variables.byline.substr(0, 1).toUpperCase()
Chreb de Sable ๐จ "Let's see, $bylineLetter, where is $bylineLetter..."
Chreb de Sable ๐จ "$name1, $name2, $name3... no $byline."
Chreb de Sable ๐จ "No reservation."
Chreb de Sable ๐จ "I'm afraid you'll have to wait in line."
โ layout('spectaclusi')
๐ blank
You walk all the way back to the start of the line.
It's even longer than when you arrived.
Every half hour or so, the chrebs in front of you shuffle forward slightly.
You shuffle along with them.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
It's a frustrating rhythm.
The wait between each movement isn't long enough to relax and let your mind wander.
But your body refuses to let you stand still for so long without complaint.
Your feet itch unbearably.
Eventually, you cut your losses and give up.
โ layout('spectacles')
๐ player|ghostwriter
โ bipsiMove('castle', 14, 3)
You hadn't even made it to the second floor.
At this rate, you'd be standing in snow instead of sand by the time you got to the top.
It's not the job your body wanted, but it'll have to do.
โ variables._ = variables.slept.castle = true
โญ npcend
๐ฉ castle inn repeat
๐ npc|chreb
Chreb de Sable ๐จ "I can't let you in without a reservation."
Chreb de Sable ๐จ "Back of the line."
โญ npcend
๐ฉ castle-deejay
๐ npc|deejay
โ variables._ = variables.slept.castle ? '' : 'castle-deejay not done'
โญ $_
Deejay ๐จ "Had yer fill, boss?"
๐ฎ game_choice Nod->|Shake->castle-deejay not done
โญ $_
Deejay ๐จ "Guess the vacay's over..."
Deejay ๐จ "Oh well, was fun while it lasted."
โ variables.place = "Off-Beach - Crenelles de la Crรจme"
โ variables.reviewed.castle = true
โญ review write
๐ฉ castle-deejay not done
Deejay ๐จ "I love da beach..."
Deejay ๐จ "Fun to see what the chrebs have cooked up each year."
Deejay ๐จ "One of the few perks of the job."
Deejay ๐จ "Speaking of, yer still on the job, boss!"
โญ npcend
๐ฉ map tower
โ layout('spectaclesmap')
Deejay ๐จ "Ah, The Karst Highlands..."
โ variables._ = variables.reviewed.tower ? 'map tower repeat' : ''
โญ $_
Deejay ๐จ "Tend to keep to themselves out there."
Deejay ๐จ "They don't have an inn, but it's on the list anyway."
Deejay ๐จ "Is that yer next stop, boss?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('tower')
โญ map wait
๐ฉ map tower repeat
Deejay ๐จ "No need to go there again."
โญ map pick
๐ฉ arrive tower
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "The Highlands at last."
Deejay leads you up a mountain pass.
It's a long, arduous hike full of steep drops and tricky fissures.
The further you walk, the more irregular the terrain becomes.
Sharp, spindly rocks jut out of wet, mossy ground.
Deejay ๐จ "This place always makes me glad I've got wings."
Your companion stops in a small, humid clearing.
Deejay ๐จ "All yers, boss."
โ save('checkpoint tower')
๐ฉ checkpoint tower
๐ถ winds
๐ต title
โ showTitle('The Karst Highlands', 'The City Below The Lands Above')
โ bipsiMove('tower', 10, 6)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ tower flip
โ variables._ = variables.flipped ? 'tower flip skip' : ''
โญ $_
โ variables.flipped = true
โ window.parent.document.querySelector('#bipsi').style.transform = 'scaleY(-1)'
๐ต flip
โ bipsiFocus()
โญ blank
๐ฉ tower unflip
โ variables._ = !variables.flipped ? 'tower flip skip' : ''
โญ $_
โ variables.flipped = false
โ window.parent.document.querySelector('#bipsi').style.transform = ''
๐ต flip
โ bipsiFocus()
โญ blank
๐ฉ tower flip skip
โ bipsiFocus()
โญ blank
๐ฉ tower lost
๐ npc|subter
Subter ๐จ "You look a little lost friend."
Subter ๐จ "Wouldn't you be more comfortable among the grasses?"
๐ฎ game_choice Nod->tower lost yes|Shake->tower lost no
โญ $_
๐ฉ tower lost yes
Subter ๐จ "Humph..."
Subter ๐จ "Least you know when you're doing wrong."
โญ npcend
๐ฉ tower lost no
Subter ๐จ "Humph..."
Subter ๐จ "No sense of how it's done."
โญ npcend
(digging)
๐ฉ tower no time
๐ npc|subter
Subter ๐จ "No time to talk, grasstoucher."
Subter ๐จ "We've got work to do."
The itch in your legs agrees.
โญ npcend
๐ฉ tower tired
๐ npc|subter
Subter ๐จ "I'm so tired..."
Subter ๐จ "How long can this go on?"
โญ npcend
๐ฉ tower change
๐ npc|subter
Subter ๐จ "Fifty years ago, the highlands were but a dream."
Subter ๐จ "So much has changed in that time."
Subter ๐จ "Imagine what will change in another fifty..."
โญ npcend
๐ฉ tower snail secret
๐ npc|subter
Subter ๐จ "Take the shiny metals if you must..."
Subter ๐จ "But my snails... Do not take my snails..."
โญ npcend
๐ฉ tower snails
A copious number of snails crawl among the karst's cracks and fissures.
The nearby creature tends to them, and occasionally swallows one whole.
โ bipsiFocus()
โญ blank
๐ฉ tower stone
๐ npc|subter
Subter ๐จ "I like rocks."
Subter ๐จ "But I love stone."
โญ npcend
๐ฉ tower bizarre
๐ npc|subter
Subter ๐จ "You grasstouchers are so bizarre."
Subter ๐จ "Unwieldy limbs, needlessly specific spines, freaky facsimiles..."
Subter ๐จ "Humans on land... How ridiculous!"
โญ npcend
๐ฉ tower wip
๐ npc|subter
Subter ๐จ "Outta the way, grasstoucher."
Subter ๐จ "This here's a certified double-uwe-aye-pee."
Subter ๐จ "That means no messing around till we're done!"
โญ npcend
๐ฉ tower lime
๐ npc|subter
Subter ๐จ "What in the lands above is going on this time..."
Subter ๐จ "It is as if these stones of lime shift more with each passing day..."
โญ npcend
๐ฉ tower integument
๐ npc|subter
Subter ๐จ "Your integument appears bruised and swollen, grasstoucher."
Subter ๐จ "Are you well?"
๐ฎ game_choice Nod|Shake
Subter ๐จ "Humph."
Subter ๐จ "I wish you all the best..."
โญ npcend
๐ฉ tower swallow
๐ npc|subter
Subter ๐จ "I haven't eaten in years."
Subter ๐จ "If you were only a little smaller..."
Subter ๐จ "I would swallow you whole."
Subter ๐จ "You should count yourself lucky for your bulk, grasstoucher."
Subter ๐จ "Send a smaller one next time."
Subter ๐จ "I am sick of waiting."
โญ npcend
๐ฉ tower filth
๐ npc|subter
Subter ๐จ "What do you want, grasstoucher?"
Subter ๐จ "You here to spread round filth?"
Subter ๐จ "Here to 'sell' something? To 'produce'?"
Subter ๐จ "Or are you too busy 'job'ing?"
๐ฎ game_choice Nod|Shake
Subter ๐จ "You're all the same."
Subter ๐จ "Karst shouldn't even let you in!"
โญ npcend
๐ฉ tower secret
๐ npc|subter
Subter ๐จ "Sometimes, when no one's looking..."
Subter ๐จ "I eat the dirt instead of hauling it away."
Subter ๐จ "It tastes awful."
โญ npcend
๐ฉ tower snails2
A copious number of snails crawl among the karst's cracks and fissures.
โ bipsiFocus()
โญ blank
๐ฉ tower keeper
๐ npc|subter
โ variables._ = variables.slept.tower ? 'tower keeper repeat' : ''
โญ $_
Heliculturalist ๐จ "Humph."
The creature pulls apart two oversized snails in the process of eating each other.
Heliculturalist ๐จ "You've metals, yes?"
Heliculturalist ๐จ "The ones grasstouchers trade with?"
๐ฎ game_choice Nod|Shake
The creature says nothing.
You repeat the gesture.
Heliculturalist ๐จ "...We aren't all gifted with the sense of a phantom."
Heliculturalist ๐จ "I'll have your words."
Heliculturalist ๐จ "If you have none, a handful of those coins will do."
๐ฎ game_choice Hand over five coins->5|Hand over ten coins->10|Hand over fifteen coins->15
๐ต coins
โ showFooter('-$_ coins')
You count out a handful of coins and hand them to the creature.
Heliculturalist ๐จ "Humph."
Heliculturalist ๐จ "One... Two..."
They count each one slowly.
When finished, they set them aside.
They reach over to the collection of snails, and begin counting again.
Heliculturalist ๐จ "Three... Four..."
They carefully collect one snail per coin into a small bundle.
Then hold it out to you.
Heliculturalist ๐จ "Enjoy, grasstoucher."
You take the bundle of snails.
โ variables.slept.tower = true
โญ npcend
๐ฉ tower keeper repeat
๐ npc|subter
Heliculturalist ๐จ "Humph."
Heliculturalist ๐จ "Back for seconds before you've finished your first?"
Heliculturalist ๐จ "Bad manners, grasstoucher. Bad manners..."
โญ npcend
๐ฉ tower-deejay
๐ npc|deejay
โ variables._ = variables.slept.tower ? '' : 'tower-deejay not done'
โญ $_
Deejay ๐จ "Ey, boss."
Deejay ๐จ "...Uh."
Deejay ๐จ "Yer, uh, covered in snails?"
๐ฎ game_choice Nod->|Shake->tower-deejay not done
โญ $_
Deejay ๐จ "..."
The bird's right.
The bundle of mollusks has slowly dispersed.
They are currently exploring up and down your head.
Deejay ๐จ "Yer not gonna eat em, are ya?"
Deejay ๐จ "Nah, that can't be it..."
Deejay ๐จ "Far as I can tell, ya don't eat at all."
Deejay ๐จ "In which case..."
The bird suddenly takes off, and lands on your shoulder.
Deejay ๐จ "Can I eat em?"
๐ฎ game_choice Nod->snails eat|Shake->snails free
โญ $_
๐ฉ snails eat
๐ต squawk
You've barely started moving before the bird snatches one off your face.
๐ต squawk
It digs its beak deep into the shell.
๐ต squawk
It pecks again and again and again.
You try to ignore the sound of it.
๐ blank
โ layout('spectaclusi')
Your companion makes quick work of the first snail, and moves to the second.
The ones still clinging to your body don't seem to notice.
A total ignorance of predation or danger.
They continue to inch aimlessly at an eponymous pace.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
The violent meal unfolds systematically while you wait.
Eventually, the last snail is swallowed.
โ layout('spectacles')
๐ player|ghostwriter
There's nothing left of them but the half-dried slime staining your surface.
Your leather-feathered companion seems uncharacteristically satisfied.
๐ npc|deejay
Deejay ๐จ "Ahhhh..."
Deejay ๐จ "A job's got its upsides every now and then."
Deejay ๐จ "Speaking of, ya still got a job to do, boss."
โ variables.place = "The Karst Highlands"
โ variables.reviewed.tower = true
โญ review write
๐ฉ snails free
The bird gently pokes at one of the snails with its beak.
Deejay ๐จ "Gonna go to waste then, but yer the one who bought em."
Deejay ๐จ "What are ya gonna do, then?"
You decide to sit down.
You watch.
๐ blank
โ layout('spectaclusi')
And you wait.
They trace their slimy trails along your body.
They circle your arms.
Work their way under your cloak.
And eventually spiral down your legs.
One by one, they reach the wet stone below.
And they set off.
Very, very slowly.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
A few stay together.
A slimy caravan, oozing along in single file.
The rest set off on lonesome trails.
One circles the highlands entrance indecisively.
Another makes a break for the tall grasses.
All in all, it takes a couple hours for each one to disappear.
โ layout('spectacles')
๐ player|ghostwriter
There's nothing left of them but the half-dried slime staining your surface.
Your leather-feathered companion seemed disappointed at first.
But fell asleep about halfway through.
You give them a nudge.
๐ npc|deejay
Deejay ๐จ "Hghgnm."
Deejay ๐จ "Guh..."
Deejay ๐จ "Finally ready to move on, ey?"
Deejay ๐จ "Well, ya still got a job to do, boss."
โ variables.place = "The Karst Highlands"
โ variables.reviewed.tower = true
โญ review write
๐ฉ tower-deejay not done
Deejay ๐จ "...I'm just gonna sit here till ya shout."
Deejay ๐จ "Figuratively speaking."
๐ npc|blank
โ bipsiFocus()
โญ blank
๐ฉ map roots
โ layout('spectaclesmap')
Deejay ๐จ "Radicicola..."
โ variables._ = variables.reviewed.roots ? 'map roots repeat' : ''
โญ $_
Deejay ๐จ "Not a fan of heading that deep into the woods."
Deejay ๐จ "But someone's gotta review that hole, I guess."
Deejay ๐จ "Is that what ya want to do next?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('roots')
โญ map wait
๐ฉ map roots repeat
Deejay ๐จ "If ya wanna spend more time in a hole in the ground, do it on yer own time boss."
โญ map pick
๐ฉ arrive roots
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Stick close to me, boss."
The foliage has gotten so thick that it's difficult to see more than a few feet in front of you.
Deejay ๐จ "Don't want ya getting lost, ey?"
Deejay flits between dense branches and vines, pausing at each step for you to follow.
Deejay ๐จ "We're almost to Radicicola."
Deejay ๐จ "It's just through this, uh, hole."
The bird stops at the roots of a massive tree.
At its base, the ground opens up into a dark pit of tangled roots.
Deejay ๐จ "Hop in, boss."
โ save('checkpoint roots')
๐ฉ checkpoint roots
๐ถ winds
๐ต title
โ showTitle('Radicicola', 'Nitrogenous Fixation')
โ bipsiMove('roots', 7, 8)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ roots tangled
๐ npc|roots
The tangled roots sway.
You read words in their movements.
Roots ๐จ be still
Roots ๐จ be mine
Roots ๐จ be free
Roots ๐จ be thine own
โญ npcend
๐ฉ roots deep
๐ npc|roots
The deep green roots shudder silently.
You read words in their movements.
Roots ๐จ the child will be upon us soon
Roots ๐จ winter bears hostile fruit
Roots ๐จ we hear no pleas
Roots ๐จ let yours go unspoken
โญ npcend
๐ฉ roots disorderly
๐ npc|roots
The disorderly roots twist.
You read words in their movements.
Roots ๐จ the ghosts of a world gone by have no place below the earth
Roots ๐จ except
Roots ๐จ as fertilizer
โญ npcend
๐ฉ roots wet
๐ npc|roots
The wet roots writhe.
You read words in their movements.
Roots ๐จ this feeling
Roots ๐จ will never
Roots ๐จ ever end
โญ npcend
๐ฉ roots still
๐ npc|roots
The roots do not move.
It's unclear if this is by choice, or if they are unable to.
โญ npcend
๐ฉ roots lively
๐ npc|roots
โ variables._ = variables.slept.roots ? 'roots lively repeat' : ''
โญ $_
The lively roots reach out tendrils and stalks.
You read words in their movements.
Roots ๐จ you are sick
Roots ๐จ plagued with the human spirit
Roots ๐จ free yourself of this burden
Roots ๐จ return to the earth
This is the last you can interpret before the roots envelop you.
๐ blank
โ layout('spectaclusi')
They drag you deep within their entanglement.
๐ฎ game_choice Struggle->roots struggle|Relax->roots relax
โญ $_
๐ฉ roots struggle
You try to wrest control of your limbs.
But the rhizome holds you fast.
โญ roots lively 2
๐ฉ roots relax
You let them pull your body this way and that.
Your limbs become part of the rhizome.
โญ roots lively 2
๐ฉ roots lively 2
Thick veins of green, white, and brown wrap around you.
Tighter and tighter.
Within moments, you are completely secured.
No force of will could move your vegetal body out of their grasp.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
Until it starts to itch.
The irritation builds slowly.
The slight pain in your feet and legs.
The little fire climbing up your back that tells you to move.
But you cannot.
The feeling grows and grows.
You cannot ignore it.
You tremble.
The roots tremble with you.
๐ npc|roots
Roots ๐จ sickness spreads
Roots ๐จ because you allow it
๐ player|ghostwriter
โ layout('spectacles')
One great rustling later, you are deposited unceremoniously on the dirt.
The roots move no more for you.
โ variables.slept.roots = true
โญ npcend
๐ฉ roots lively repeat
๐ npc|roots
The roots move no more for you.
โญ npcend
๐ฉ roots-deejay
๐ npc|deejay
โ variables._ = variables.slept.roots ? '' : 'roots-deejay not done'
โญ $_
Deejay ๐จ "Been awhile, boss."
Deejay ๐จ "Ya ready to write that review?"
๐ฎ game_choice Nod->|Shake->roots-deejay not done
โญ $_
Deejay ๐จ "Try to make it quick."
Deejay ๐จ "We got a long way to walk back outta here..."
โ variables.place = "Radicicola"
โ variables.reviewed.roots = true
โญ review write
๐ฉ roots-deejay not done
Deejay ๐จ "If yer lost, don't look to me for help."
๐ npc|blank
โ bipsiFocus()
โญ blank
๐ฉ map docks
โ layout('spectaclesmap')
Deejay ๐จ "Ah, Jackalsโ Jetty."
โ variables._ = variables.reviewed.docks ? 'map docks repeat' : ''
โญ $_
Deejay ๐จ "A lot of travellers pass through there."
Deejay ๐จ "Always changing too, top priority for an update."
Deejay ๐จ "Good place for us to head, if that's what yer thinking?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('docks')
โญ map wait
๐ฉ map docks repeat
Deejay ๐จ "No offense boss, but I don't trust ya not to get lost again."
โญ map pick
๐ฉ arrive docks
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Look sharp, boss."
Walking along the coastal marsh, Deejay points out a rickety dock.
Deejay ๐จ "Hope ya got sea legs."
โ save('checkpoint docks')
๐ฉ checkpoint docks
๐ถ winds
๐ต title
โ showTitle('Jackalsโ Jetty', 'The Checkpoint of Rascals & Thieves')
โ bipsiMove('docks', 9, 1)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ docks pot
๐ npc|cozen
Cozen ๐จ "Hey! Hands off the ante, kid!"
Cozen ๐จ "You wanna play, speak to me."
โญ npcend
๐ฉ docks gamble
๐ npc|cozen
โ variables._ = variables.gambled > 20 ? 'docks gamble done' : ''
โญ $_
โ variables._ = variables.gambled ? 'docks gamble repeat' : ''
โญ $_
Cozen ๐จ "You look like a clever kid."
Cozen ๐จ "Got the soul of a true gamester, don'tcha?"
Cozen ๐จ "You wanna play a little game?"
Cozen ๐จ "Only a single copper ante!"
๐ฎ game_choice Nod->docks gamble yes|Shake->docks gamble no
โญ $_
๐ฉ docks gamble no
Cozen ๐จ "Maybe I misjudged you."
Cozen ๐จ "You give up too easy, kid."
โญ npcend
๐ฉ docks gamble yes
โ variables.gambled = (variables.gambled || 0) + 1
They roll a pair of dice.
โ variables.roll1 = Math.floor(Math.random()*6) + 1
โ variables.roll2 = Math.floor(Math.random()*6) + 1
Cozen ๐จ "$roll1, and... $roll2!"
โ variables._ = variables.roll1 === variables.roll2 ? 'docks gamble win' : 'docks gamble lose'
โญ $_
๐ฉ docks gamble win
๐ต coins
โ showFooter('+5 coins')
Cozen ๐จ "Nice one, kid."
Cozen ๐จ "You're pretty good at this."
โญ npcend
๐ฉ docks gamble lose
๐ต coin
โ showFooter('-1 coin')
Cozen ๐จ "Ouch, better luck next time, kid."
โญ npcend
๐ฉ docks gamble repeat
Cozen ๐จ "Wanna play again?"
๐ฎ game_choice Nod->docks gamble yes|Shake->docks gamble no
โญ $_
๐ฉ docks gamble done
Cozen ๐จ "Maybe give someone else a chance to play, kid."
โญ npcend
๐ฉ docks cloak
๐ npc|cozen
Cozen ๐จ "Awful nice cloak you got there, kid."
Cozen ๐จ "They got tailors in cabbage patches these days?"
โญ npcend
๐ฉ docks ripe
๐ npc|cozen
Cozen ๐จ "You're a little unripe to hanging out here, aren'tcha, kid?"
๐ฎ game_choice Nod|Shake
Cozen ๐จ "Well, don't blame me if you get bruised."
โญ npcend
๐ฉ docks satisfy
๐ npc|cozen
Cozen ๐จ "I don't want your money, kid."
Cozen ๐จ "Someone like you could never have enough to satisfy me."
โญ npcend
๐ฉ docks sailors
๐ npc|cozen
Cozen ๐จ "We're all sailors on the sea of life."
Cozen ๐จ "Well..."
Cozen ๐จ "You're more of a stowaway, kid."
โญ npcend
๐ฉ docks someday
๐ npc|cozen
Cozen ๐จ "Somewhere out there, there's a city for me."
Cozen ๐จ "A city where you can lose money without ever speaking to another human."
Cozen ๐จ "I know I'll find it someday."
โญ npcend
๐ฉ docks devotion
๐ npc|cozen
โ variables._ = variables.devoted > 10 ? 'docks devotion done' : ''
โญ $_
Cozen ๐จ "Now is time to test the strength of your devotion, kid."
Cozen ๐จ "Just five coppers."
๐ฎ game_choice Nod->docks devotion yes|Shake->docks devotion no
โญ $_
๐ฉ docks devotion yes
โ variables.devoted = (variables.devoted || 0) + 1
๐ต coins
โ showFooter('-5 coins')
Cozen ๐จ "Good job!"
Cozen ๐จ "But not quite good enough."
Cozen ๐จ "I think you could show a little stronger."
โญ npcend
๐ฉ docks devotion no
Cozen ๐จ "Too bad, kid..."
Cozen ๐จ "That may have been your only chance."
โญ npcend
๐ฉ docks devotion done
Cozen ๐จ "Kid, maybe quit while you're ahead."
Cozen ๐จ "Devotion's just not in the cards for everyone."
โญ npcend
๐ฉ docks pitiful
๐ npc|cozen
Cozen ๐จ "I am not a pitiful person."
Cozen ๐จ "I simply enjoy the smaller pains life has to offer."
โญ npcend
๐ฉ docks lol
๐ npc|cozen
โ variables._ = variables.lol > 20 ? 'docks lol done': ''
โญ $_
Cozen ๐จ "..."
โ variables.lol = (variables.lol || 0) + 1
๐ต coin
โ showFooter('-1 coin')
โญ npcend
๐ฉ docks lol done
Cozen ๐จ "..."
Cozen ๐จ "C'mon, you're making this too easy, kid."
Cozen ๐จ "You're no fun..."
โญ npcend
๐ฉ docks staring
๐ npc|cozen
Cozen ๐จ "Quit staring, kid."
Cozen ๐จ "Whatever you think you saw, you didn't."
โญ npcend
๐ฉ docks brains
๐ npc|cozen
Cozen ๐จ "Sigh... Need to get myself back out on the waves."
Cozen ๐จ "Can't stand the people round here."
Cozen ๐จ "Everyone's got jetty for brains."
โญ npcend
๐ฉ docks chess
๐ npc|cozen
Cozen ๐จ "I've invented a new form of chess."
Cozen ๐จ "But I'm struggling to find other players."
Cozen ๐จ "No one's willing to hold the knife."
โญ npcend
๐ฉ docks less
๐ npc|cozen
Cozen ๐จ "I don't know why people choose the lesser of two evils."
Cozen ๐จ "Why settle for anything less?"
โญ npcend
๐ฉ docks wife
๐ npc|cozen
Cozen ๐จ "Had a wife once."
Cozen ๐จ "Was one, too."
Cozen ๐จ "...Wouldn't recommend it."
โญ npcend
๐ฉ docks door
The rickety door shakes on its hinges, but doesn't open.
โญ npcend
๐ฉ docks sign
The sign is awfully hard to read.
Most of the vowels have worn down or fallen off.
With some effort, you make out the name: The Arachnid's Bastion
โญ npcend
๐ฉ docks keeper
๐ npc|cozen
The bosun works through barrels, securing them to the floor.
When they notice you staring, they take a break.
Bosun ๐จ "You look a little lost, kid."
Bosun ๐จ "You looking for a meal? A place to stay the night?"
๐ฎ game_choice Nod->docks keeper yes|Shake->docks keeper no
โญ $_
๐ฉ docks keeper no
Bosun ๐จ "Suit yourself."
โญ npcend
๐ฉ docks keeper yes
Bosun ๐จ "First thing's first:"
Bosun ๐จ "You can pay your way, right?"
๐ต coins
โ showFooter('-15 coins')
You count out a handful of coins and hand them to the bosun.
Bosun ๐จ "...That'll do."
Bosun ๐จ "Here: breakfast in advance."
They root around in one of their barrels and toss you something.
A small, round brick of cockle bread.
Bosun ๐จ "Grab whichever hammock suits your fancy, kid."
With that, they return to their work.
๐ blank
โ layout('spectaclusi')
You climb into the nearest unoccupied hammock.
The rough, string-suspended bed is surprisingly comfortable.
It rocks gently, smoothing the rise and fall of the waves.
The sides are strung high, and obscure the world around you.
Though the banging of heavy barrels being loaded cuts through easily.
Still, you do your best to relax.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
The sounds of labour steady into a rhythm.
Barrels sliding, feet stomping, voices shouting.
Eventually, they wind down.
Workers take to the hammocks surrounding you.
Nothing but silence and salty stenches.
Your own labour reminds you of its presence.
The itch washes over you with a rising urgency.
โ bipsiMove('docks2', 5, 8)
๐ player|ghostwriter
โ layout('spectacles')
You get out of the hammock.
The time seems fitting, so you retrieve your breakfast bread.
You try pulling it apart, but the biscuit is rock-hard.
Maybe there's a trick to it that you're missing.
You place it on top of a barrel in case someone else wants it.
โ variables.slept.docks = true
โญ npcend
๐ฉ docks keeper repeat
๐ npc|cozen
Bosun ๐จ "Last stop, kid."
Bosun ๐จ "You wouldn't last a day on the open seas, so get going."
โญ npcend
๐ฉ docks-deejay
๐ npc|deejay
โ variables._ = variables.slept.docks ? '' : 'docks-deejay not done'
โญ $_
Deejay ๐จ "Boss!!"
Deejay ๐จ "Do ya have any idea how long I've been looking for ya!?"
๐ฎ game_choice Nod|Shake
Deejay ๐จ "...Unbelievable."
Deejay ๐จ "Did ya at least finish yer job?"
โ variables.place = "Jackalsโ Jetty - The Arachnidโs Bastion"
โ variables.reviewed.docks = true
โญ review write
๐ฉ docks-deejay not done
Deejay ๐จ "Still looking around, boss?"
Deejay ๐จ "Last year someone stayed at The Chreb Bucket."
Deejay ๐จ "No idea if yer in such luck though."
๐ npc|blank
โ bipsiFocus()
โญ blank
๐ฉ map bird
โ layout('spectaclesmap')
Deejay ๐จ "The Passerinian Concern..."
โ variables._ = variables.reviewed.bird ? 'map bird repeat' : ''
โญ $_
Deejay ๐จ "Would much prefer going anywhere else, boss."
Deejay ๐จ "Do ya really wanna go there?"
๐ฎ game_choice Nod->|Shake->map pick
โญ $_
โ embark('bird')
โญ map wait
๐ฉ map bird repeat
Deejay ๐จ "Glad to be done with that cage."
โญ map pick
๐ฉ arrive bird
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
Deejay ๐จ "Here we are..."
You don't need Deejay's directions to know where you're headed.
The giant construction looms over the horizon.
Deejay ๐จ "Home sweet home. Ugh."
โ save('checkpoint bird')
๐ฉ checkpoint bird
๐ถ concerns
๐ต title
โ showTitle('The Passerinian Concern', 'Graven Perch & General Authority')
โ bipsiMove('bird', 7, 14)
โ bipsiFocus()
๐ npc|blank
๐ player|ghostwriter
โญ blank
๐ฉ bird thrush
๐ npc|raptor
Raptor ๐จ "What are you..."
Raptor ๐จ "Some kind of... chunky thrush?"
Raptor ๐จ "Oh wait. That's a cloak, not wings."
Raptor ๐จ "Should've known from the freak-smell..."
โญ npcend
๐ฉ bird squeal
๐ npc|raptor
Raptor ๐จ "You freaks never appreciate the majestic rarity of your experience."
Raptor ๐จ "It makes me want hurt you."
Raptor ๐จ "To make you squeal."
Raptor ๐จ "Be glad you have no mouth."
โญ npcend
๐ฉ bird dirt
๐ npc|raptor
Raptor ๐จ "Uh, excuse me."
Raptor ๐จ "You're tracking dirt all over the wings."
Raptor ๐จ "What a flocking mess..."
โญ npcend
๐ฉ bird dust jacket
๐ npc|bird
Dust Jacket ๐จ "...Can I help you?"
Dust Jacket ๐จ "Hold a moment..."
Dust Jacket ๐จ "You're a ghostwriter!"
Dust Jacket ๐จ "...You're not alone, are you?"
๐ฎ game_choice Nod->bird alone yes|Shake->bird alone no
โญ $_
๐ฉ bird alone yes
Dust Jacket ๐จ "How obscene!"
Dust Jacket ๐จ "Who in the lands above sent a ghostwriter all the way out here without a dust jacket!?"
Dust Jacket ๐จ "But it's none of my business."
Dust Jacket ๐จ "None of my business whatsoever..."
โญ npcend
๐ฉ bird alone no
Dust Jacket ๐จ "If that's so, you're straying a little far, are you not?"
Dust Jacket ๐จ "Best hope the dust jacket authorities don't catch wind of this."
Dust Jacket ๐จ "But it's none of my business."
Dust Jacket ๐จ "None of my business whatsoever..."
โญ npcend
๐ฉ bird nest
๐ npc|raptor
โ variables._ = variables.slept.bird ? 'bird nest repeat' : ''
โญ $_
Court Hen ๐จ "Oh, a visitor!"
The two large birds swivel their heads in excitement.
Court Cock ๐จ "Ohhh, a tourist!"
Court Hen ๐จ "Welcome to The Roost!"
Court Hen ๐จ "You must be here to watch the lekking?"
๐ฎ game_choice Nod|Shake
Court Cock ๐จ "Either way, you're a tad late for it."
Court Cock ๐จ "Hardly anyone's still here."
Court Hen ๐จ "It's almost winter, after all!"
Court Hen ๐จ "For you, perhaps a silvered lining."
Court Cock ๐จ "During the lekking we're booked solid."
Court Cock ๐จ "Right now there's plenty of space to go around!"
Court Hen ๐จ "Just 25 shiny coppers to stay the night."
๐ต coins
โ showFooter('-25 coins')
You count out a handful of coins and hand them to the feathered bonifaces.
Court Cock ๐จ "...She said shiny coppers."
Court Cock ๐จ "These ones are much too dull!"
๐ต coins
โ showFooter('+7 coins')
The smaller bird pushes several back towards you.
You search through your pocket lining for replacements.
๐ต coins
โ showFooter('-7 coins')
Picking the least tarnished of the bunch, you finish your payment.
Court Hen ๐จ "Much better!"
Court Hen ๐จ "Make yourself at home."
๐ blank
โ layout('spectaclusi')
You're not sure where to lie down.
The interior is as pointy and disjointed as the exterior.
There are no designated beds.
No cushions or covers.
There isn't even much in the way of flat surfaces.
You wedge yourself into a bundle of twigs, grass, and other dried detritus.
And you hope for the best.
โ post("spectacles", { type: "clear" })
โณ 1500
๐ต rest
โณ 3000
โณ
You end up tossing and turning all night.
Sticks poke your limbs and dig into your back and belly.
No matter how you orient yourself, you cannot get comfortable.
Eventually the constant irritation is supplemented by another.
๐ player|ghostwriter
โ layout('spectacles')
The familiar itch urging you to move on.
๐ npc|raptor
Court Cock ๐จ "Checking out already?"
Court Hen ๐จ "At least stay for breakfast."
Court Cock ๐จ "It's complementary!"
The larger of the birds disappears for a moment, and returns with a bowl.
Inside it are two boiled eggs, each roughly the size of your fist.
Instead of shells, the whites are lined with an intricate pattern.
Deep auburn specks in varied tones, mimicking the shape of a cracked shell.
The result of a sweet-smelling marinade.
You pull one egg apart, and a runny orange yolk spills out.
The birds watch your silent examination intently.
Court Hen ๐จ "Huh."
Court Cock ๐จ "This is the part where tourists usually ask rude questions."
Court Cock ๐จ "Maybe this one has manners."
Court Hen ๐จ "Maybe this one lacks something more important."
Court Cock ๐จ "Boring..."
Court Hen ๐จ "Indeed. What a waste..."
โ variables.slept.bird = true
โญ npcend
๐ฉ bird nest repeat
๐ npc|raptor
Court Hen ๐จ "Thank you for nesting with The Roost!"
Court Cock ๐จ "No refunds!!"
โญ npcend
๐ฉ bird-deejay
๐ npc|deejay
โ variables._ = variables.slept.bird ? '' : 'bird-deejay not done'
โญ $_
Deejay ๐จ "Please tell me yer done?"
Deejay ๐จ "Last thing I need is someone asking after my migratory pattern."
๐ฎ game_choice Nod->|Shake->bird-deejay not done
โญ $_
Deejay ๐จ "Good. And ya better not mince words this time!"
โ variables.place = "The Passerinian Concern - The Roost"
โ variables.reviewed.bird = true
โญ review write
๐ฉ bird-deejay not done
Deejay ๐จ "I'm just gonna sit right here."
Deejay ๐จ "Don't wanna risk running into someone I know..."
๐ npc|blank
โ bipsiFocus()
โญ blank
๐ฉ arrive advent
๐ npc|deejay
๐ player|ghostwriter
โ layout('spectaclusi')
You remember this road.
You've walked it before.
The short dirt path on the outskirts of Advent.
There are fewer people around.
The air is colder.
Your feet feel heavier.
โ save('checkpoint return')
๐ฉ checkpoint return
๐ถ towns
๐ต title
โ showTitle('Advent', 'The Free City of Use & Opportunity')
โ bipsiMove('advent return', 7, 15)
โ bipsiFocus()
โญ blank
๐ฉ advent fall
๐ player|blank
๐ต fall
โ bipsiFocus()
โญ blank
๐ฉ deejay-ending
๐ npc|deejay
โ variables.deejayEnding = Math.min((variables.deejayEnding || 0) + 1, 42)
โญ deejay-ending $deejayEnding
๐ฉ deejay-ending 1
Deejay ๐จ "Ey!"
Deejay ๐จ "Boss, yer not moving."
โญ npcend
๐ฉ deejay-ending 2
Deejay ๐จ "Boss?"
โญ npcend
๐ฉ deejay-ending 3
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 4
Deejay ๐จ "Boss... C'mon."
Deejay ๐จ "We're almost there."
Deejay ๐จ "This is no time to take a break."
โญ npcend
๐ฉ deejay-ending 5
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 6
Deejay ๐จ "Ya lose yer focus again?"
โญ npcend
๐ฉ deejay-ending 7
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 8
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 9
Deejay ๐จ "Yer acting like a damned slacker."
Deejay ๐จ "All my other ghostwriters, they always ran off."
Deejay ๐จ "I'd tell em not to, that it wouldn't work."
Deejay ๐จ "They'd take off anyway."
Deejay ๐จ "But ya already did the job, boss!"
Deejay ๐จ "Why aren't ya moving?"
โญ npcend
๐ฉ deejay-ending 10
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 11
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 12
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 13
Deejay ๐จ "At least-"
Deejay ๐จ "At least give me a nod or something?"
โญ npcend
๐ฉ deejay-ending 14
Deejay ๐จ "...Boss?"
โญ npcend
๐ฉ deejay-ending 15
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 16
Deejay ๐จ "Can- Can ya hear me?"
โญ npcend
๐ฉ deejay-ending 17
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 18
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 19
Deejay ๐จ "C'mon boss, I can't be looking out for ya all the time!"
โญ npcend
๐ฉ deejay-ending 20
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 21
Deejay ๐จ "Once more won't hurt, I s'pose..."
โญ npcend
๐ฉ deejay-ending 22
Deejay ๐จ "I'll just sit right here."
Deejay ๐จ "Let me know when yer done napping, boss."
โญ npcend
๐ฉ deejay-ending 23
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 24
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 25
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 26
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 27
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 28
Deejay ๐จ "Ya know, before this trip?"
Deejay ๐จ "I was thinking of quitting."
Deejay ๐จ "Had enough of this job, I think."
โญ npcend
๐ฉ deejay-ending 29
Deejay ๐จ "But... we make a good team, boss."
Deejay ๐จ "And someone's gotta write the winter edition, ey?"
โญ npcend
๐ฉ deejay-ending 30
Deejay ๐จ "Would be a shame if we don't make it back in time to get the gig..."
โญ npcend
๐ฉ deejay-ending 31
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 32
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 33
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 34
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 35
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 36
Deejay ๐จ "Sigh..."
โญ npcend
๐ฉ deejay-ending 37
Deejay ๐จ "Anyone ever tell ya how much ya stink, boss?"
โญ npcend
๐ฉ deejay-ending 38
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 39
Deejay ๐จ "Rancid, honestly."
โญ npcend
๐ฉ deejay-ending 40
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 41
Deejay ๐จ "..."
โญ npcend
๐ฉ deejay-ending 42
Deejay ๐จ "..."
โญ npcend
๐ฉ ending
๐ถ
โ layout('bipsi')
โณ 5000
โ layout('spectacles')
โณ 2500
Lovely Lodgings:Autumn Edition
by
The Adventurous Editor-In-Chief
with additional writing by
$byline
โ bipsiFocus()
โ variables.gameOver = true
โ save('ending')
โณ 2500
๐ต title
โ showTitle('The End', 'Domino Club Forever')
โญ blank
๐ฉ review write
โ variables._ = `${variables.byline}|${variables.place}`
๐ฎ game_review $_
โ variables._ = variables._ ? 'review done' : 'review error'
โญ $_
๐ฉ review error
Deejay ๐จ "Hmph... Call it a hunch, but something's telling me I won't be able to get this one back safely."
Deejay ๐จ "Maybe ya want to take another crack at it boss?"
Deejay ๐จ "Could just hope for the best though, yer call."
๐ฎ game_choice Try again -> review write | Move on -> review done
โญ $_
๐ฉ review done
Deejay ๐จ "Alright, I'll take this one back home."
Deejay ๐จ "Let's plan the next leg."
๐ npc|blank
โญ map pick
๐ฉ npcend
๐ npc|blank
โ bipsiFocus()
โญ blank
๐ฉ blank
โ clear()
โณ
โญ blank
๐ฉ audio credits
strong wind and sea.wav by bruno.auzet -- https://freesound.org/s/706465/ -- License: Creative Commons 0
hiking trail fields Biezenmortel Netherlands 12 NOON 241031_0934 by klankbeeld -- https://freesound.org/s/795806/ -- License: Attribution 4.0
park village NL 228 PM 151003_0801 by klankbeeld -- https://freesound.org/s/756379/ -- License: Attribution 4.0
Eurasian Jackdaw souns by Macaulay Library -- https://www.allaboutbirds.org/guide/Eurasian_Jackdaw/sounds