(text-size: 0.66)[\
(if: $yourname is "")[(set: $yourname to "Anonymous")]\
(set: $firstName to (words: $yourname)'s 1st)\
(set: $saveName to $yourname)\
####ATTN: $yourname
####New Assignment:
Old Cirque Deliria Grounds
####Summary:
Circus is abandoned, had some fire issues and a series of unfortunate deaths before it was vacated. Now the land is up for resale and the haunting needs to be cleared.
---
<==>
Following a series of suspicious and abnormal deaths on $date, Cirque Deliria was rapidly abandoned prior to the night's opening show. Law enforcement and subsequent visitors have reported strange visual and auditory experiences that are attributed to the haunting, in addition to more traditional supernatural occurences. Fire issues are unspecified.
The property was purchased at auction from the city this past month, and the new owners have contracted us to clear any lingering spirits.
No "civilian" casualties. Most of staff survived after fleeing the circus, according to police interviews (included in assignment file) with the strongman, several acrobats, a snake charmer, the cook, and the doctor, but there are a number of staff casualties reported:
<==
* Casper Quickteeth, circus' owner and ringmaster
* Roscoe Devlin, illusionist
* Winn `[`surname absent`]`, fortune teller
* Vivian Laroe, fire dancer and sword swallower
* Ford Simmons, acrobat
* Josephine Calico, sharpshooter
* Olive King, lion tamer
---
<==>
####Additional Notes
As the story goes, something went drastically awry during show preparation one evening. Within an hour and a half, the casualties lay dead and the circus was vacant. Anticipate restless spirits. Enclosed are a $eq1 and a $eq2 from the Hauntless office for your use on assignment.
<==
####Address:
Empty field a mile and a half past 2436 Elus Rd, on the right. No formal address markers, but (if: visits is 1)[[[the fence->Approach]]](else:)[the fence] should be easy enough to see from the road. Lockbox code is 9284.]###Central Clearing
(if: visits is 1)[The entrance and left side of the [[High Top]] are largely intact, but the right side of the tent has taken the brunt of the elements, leaving sections of its deep blue interior exposed. Skeletal poles poke out between shredded indigo and silver canvas. Loose strips ripple in the wind.]\
(else:)[\
#### (text-style:"underline")[Front of House]:
[[High Top]]\
(if: $hints)[($makeTallies: (count: (history:), "High Top"))]
(if: (visited: "Illusion Gallery"))[ [[Illusion Gallery]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Illusion Gallery"))]
(if: (visited: "Chamber of Flame"))[ [[Chamber of Flame]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Chamber of Flame"))]
(if: (visited: "Contortionist Tent"))[[[Contortionist's Tent->Contortionist Tent]]](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Contortionist Tent"))]
(if: (visited: "Gun Stage"))[ [[Gun Stage]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Gun Stage"))]
(if: (visited: "Fortune Stall"))[ [[Fortune Stall]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Fortune Stall"))]
(if: (visited: "The Menagerie"))[ [[The Menagerie]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "The Menagerie"))]
(if: (visited: "Snake House"))[ [[Snake House]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Snake House"))]
(if: (visited: "Feats of Strength"))[ [[Feats of Strength]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Feats of Strength"))]\
{<!--use description in high top and entrance to let people discover main tent. use description in the main tents to route to utility and secondary locations-->}
#### (text-style:"underline")[Back Yard]:
(if: (visited: "Animal Cages"))[ [[Animal Cages]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Animal Cages"))]
(if: (visited: "Sleeping Caravans"))[ [[Sleeping Caravans]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Sleeping Caravans"))]
(if: (visited: "Casper Office"))[ [[Casper's Office->Casper Office]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Casper Office"))]
(if: (visited: "Medical Tent"))[ [[Medical Tent]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Medical Tent"))]
(if: (visited: "Mess Tent"))[ [[Mess Tent]] ](else:)[$udStyling[UNDISCOVERED]]\
(if: $hints)[($makeTallies: (count: (history:), "Mess Tent"))]]{<!--characters: NO CLOWNS ALLOWED
- fortune teller
- magician (sleight of hand)
- fire eater
- acrobat
- sharpshooter
- contortionist
- ringmaster
fire eater as "victim"-->
<!--is this balanced? i don't know that i care...-->
(if: turns%7 is 0)[(set: $perceptionBonus to it+1)]
(if: turns%10 is 0)[(set: $strengthBonus to it+1)]
(if: turns%9 is 0)[(set: $insightBonus to it+1)]
<!--(after-error: )[(debug:)]-->}Development has skipped the circus, for the most part. What used to be the village where the circus headlined on the night of (print: $date) migrated into a larger city nearby a few decades back, and the remains were swallowed by farmland.
The bus drops you a half mile in front of 2436 Elus Road, and a full two miles down from Cirque Deliria. You become increasingly familiar with the browning stretch of overgrown fields on your roadside hike to the site. The tents swim up as black-purple dots far before you come close to the gate, sinking into the dying field like patches of rot.
The circus has been fenced off with chain link, as promised, and you retrieve the key from the lockbox, letting yourself into the property.
<!--, that bears the branding of the company that hired Hauntless for this endeavor:
=><=
$signStyling[New Build Homes!
Live here as early as THIS fall!]
<==
You shudder. This isn't Hauntless' typical
NAH BRO. I DON'T NEED TO ACKNOWLEDGE CAPITALISM ITS MY TWINE I CAN DO WHAT I WANT-->\
The circus tents are a series of teetering flags, stripes torn to ribbons from years of abandonment. The indigo and silver strips catch the late summer breeze.
Grass has grown up long since Cirque Deliria was abandoned, and it tickles your ankles as you pass under the arch that leads to the [[ticket booth->Entrance]].{(if: visits is 1)[\
(set: $fordLetters to (macro:[(out:)[\
(if: $seenFordLetters)[\
Squirreled away in one of the prop boxes, you found a |readLetters>[bundle of unsent letters].]\
(else:)[\
Stepping over the arc of stakes to reexamine his squirreled away possessions, you bump the precarious tower of props. They topple, unearthing |readLetters>[a bundle of unsent letters].]
(click: ?readLetters)[
|fLetters>[\
==|===
$notebookStyling[|fL1>[\
Hi All!
As always, greetings from Cirque Deliria. I’ve officially secured the contortionist position (looks like all of that training was time well spent) and now, after the main show, I get to run my own exhibitions in a separate tent. It’ll be nice to have a break from the other acrobats. They’re all talented and I don’t doubt their abilities, but I get the sense that they don’t much like me— I've been here over a year now and the hazing hasn't managed to die off. It's actually gotten worse since I got the contortionist job. I woke up with far less hair than I went to sleep with last night. That’s the way it goes, though. I may start sleeping in my performance tent so I can hang on to the rest of my hair!
(align: "==>")[All the best,
- Ford]]]\
|==|
|fLetterNext>[Continue looking]
|seenLetters>[(if: $seenFordLetters)[(link: "Stop reading")[(hide: ?fLetters)]]]\
(click: ?fLetterNext)[==(replace: ?fL1)[\
|fL2>[\
Hi All!
$ac2 has taken to making rude comments about my work as the contortionist. She claims the job was intended for $ac3. Honestly, I didn't even know $ac3 did contortion. Casper never mentioned anything along those lines. It’s strange to me that neither $ac3 or $ac2 enjoy working as acrobats. $ac2 is always practicing her fire dancing, but I’ve offered to ask Vivian to help her and she just snorted at me. I guess she prefers to learn on her own!
On a happier note, Olive and $sc in the Menagerie have been more than willing to let me help feed and care for the animals. It’s been fantastic stress relief, and it feels like I've got sisters here, too.
(align:"==>")[Much love,
Ford]]]\
(click: ?fLetterNext)[==(replace: ?fL1)[\
|fL3>[\
Hi All,
I hope we come across a post office soon so I can send these off. The other acrobats are getting more hostile… I can’t realistically ignore demands from them, since an "accident" would be way too easy in our line of work. Everyone else is so nice though, and I do really like it here.
I even talked to Casper, and they said that once they can hire on a new acrobat, I can scale back to just the contortionist role. It’ll be less money to send home, but it’d be safer.
(align: "==>")[Missing you,
Ford]]]\
(click: ?fLetterNext)[==(replace: ?fL1)[\
|fL4>[\
Hi All,
I’m getting nervous. $ac1 outright threatened to fumble me (and $ac2 laughed when he did!) during the show unless I filch money from clients for them. I hate myself for it, but I did it. With the new baby I need to keep this job so I can send money home for you.
I just worry about what they might ask next.
(align: "==>")[- Ford]\
P.S. Say hi to my new niece for me, please! I know I'm not home to meet her, but tell her Uncle Ford is the best.]]
(click: ?fLetterNext)[==(replace: ?fL1)[\
|fL5>[(if: $agent matches $ac)[\
(text-size:0.9)[The last letter has been scratched out.]
They’ve given me an ultimatum. I don’t want to die. But I don’t want to hurt Vivian, either. We have five more shows until I could bail out and come home on a train. But I don’t think I’ll make it that long if I don’t follow through… Can I live with myself? I might have to.
(align: "==>")[Ford]]\
(else:)[\
(text-size: 0.9)[The bottom half of the final sheet is blank.]
Hi All,
I'm just going to have to stand up to the others. It'll be fine, right? They wouldn't hurt me in front of a crowd. I just can't imagine $ac2 would act on her threat, how anyone could threaten someone's life in cold blood. There's a post office here, finally. I'll finish this letter after the show tonight, and send everything off together so you know I'm okay.]\
(if: $seenFordLetters is false)[(set: $seenFordLetters to true)(rerun:?seenLetters)]]
]\
(click: ?fLetterNext)[(rerun: ?fLetters)]\
]]\
]]))\
<!--TRINKET SHEET-->
(set: $trinketSheet to (macro:[(out:)[\
(if: $seenTrinketSheet)[
A matchbox sized chunk of wood wobbles on top of one of the boxes, reminding you of the |showSheet>[sketchbook paper] you found with it, earlier.
]\
(else:)[
Slipped into the bedroll, you find a |showSheet>[sheet of sketching paper] wrapped around a matchbox sized chunk of wood. Someone's worried off a few curls from the wood, but there's no real shape to it yet. What a shame.]\
(click: ?showSheet)[
$notebookStyling[\
####Gifts for everyone:
* Casper: High Top
* Roscoe: Dove
* Winn: The Hermit
** (it's one of their cards, ask to look at it)
* Vivian: Sword and Torch
* Josephine: Shotgun
** (she might not wear it, but it's worth a try)
* Olive: Housecat
** (leave her a note or she'll take it the wrong way, even though she knows what I mean)
* $sm: Maple Tree
* $sc: Coiled Serpent
* Cook: Cup and Spoon
* Doc: --
** (I can't figure it out. Maybe just ask Doc what she wants?)]
(set: _seenIt to (a: $seenILBody, $seenRMBody, $seenSHBody, $seenVivianBones))\
A hasty drawing of each idea is roughed out beside it(if: (count: _seenIt, true) is 1)[, and you recognize one of them from the body you found.](else-if: (count: _seenIt, true)>1)[, and you recognize several of them from the bodies you've seen.](else:)[. You don't recognize any of them right now. (if: $hints)[It's clear Ford meant to give them as presents, though. Maybe this can help you identify any bodies you might find.]]
(if: $seenTrinketSheet is false)[(set: $seenTrinketSheet to true)\
You slot the sheet into your bag, behind your assignment file.]]\
]]))\
]}\
###Contortionist's Tent
<!--FIRST VISIT-->
(if: visits is 1)[\
You step into a space so small that it feels intimate with just you. The Contortionist's Tent appears barely large enough to accomodate an audience of any kind, and the fact that the interior lining is largely intact does it few favors: matted velvet in dark cobalt blue seems to close in around you, catching at your heels when you take the requisite five steps to reach the far end of the space.
An arc of stakes has been driven into the ground here to designate an area for performance, a grounded constellation connected by rotting string. Behind the line of the stakes, shoved between the lining and the exterior wall of the tent, a series of hoops, boxes, canes with wooden blocks on the end, and odd-shaped containers are stacked haphazardly, poorly concealing a makeshift bedroll.
]\
<!--OTHER VISITS-->\
(else:)[\
The claustrophobic dimness of the Contortionist's Tent settles around you again, heavy with the must of aging velvet. Ford's semicircle performance area appears even smaller than you remembered it.
($fordLetters:)]\
($trinketSheet:)\
---
A large tear down the backside of the tent exposes (if: (visited: "Sleeping Caravans"))[the [[sleeping caravans->Sleeping Caravans]]](else:)[[[caravans->Sleeping Caravans]]] behind it. You can also take one step out the real entrance to come face to face with a sign for [[Feats of Strength]].
{(if: visits is 1)[\
<!--this function is only called if casper is guilty AND you've been to their office-->
(set: $paycheckCOF to (macro:[(out:)[\
(if: $seenPaycheckCOF is false)[(set: $seenPaycheckCOF to true)Tucked inside one of the blade cases, you spot an envelope you'd previously overlooked. There are two things inside: the first is a paycheck, made out to Vivian on $date. The second, a messily folded letter, seemingly pilfered from Casper's office:
It bears the same date, $date.
=|||||==
Casper,
Well done. I look forward to seeing the crowds this will bring. Now, your animal show is quite solid as it stands, but I think perhaps you could branch out a bit. You already have that dwarf, perhaps put out a search for a bearded lady and others with those sort of strange and jarring features. You could even pull in the fire eater, with that arm.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
A check is attached to the back of this letter, untouched. Someone— Casper?— has underlined "strange and jarring features" in a harsh slash, and put a question mark next to "animal show." At the bottom is a note. "I need to stop this. Next they will ask for me to climb on stage and have the audience guess if I am man or woman. But we can't afford to pay back what they've given us…"
You feel a crackling electricity down your spine, as if someone is standing over your shoulder, glaring down at the paper. Shuddering, you lay the documents on a side table, one of the few intact pieces of furniture in the tent.\
]\
(else:)[On the side table, the |checkLetter>[paycheck and letter] you found earlier sit where you left them. Mostly. The pages are ruffled, as if someone's been paging through in your absence.
(click: ?checkLetter)[The paycheck is made out to Vivian on $date. The letter seems to be pilfered from Casper's office:
It bears the same date, $date.
=|||||==
Casper,
Well done. I look forward to seeing the crowds this will bring. Now, your animal show is quite solid as it stands, but I think perhaps you could branch out a bit. You already have that dwarf, perhaps put out a search for a bearded lady and others with those sort of strange and jarring features. You could even pull in the fire eater, with that arm.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
A check is attached to the back of this letter, untouched. Someone— Casper?— has underlined "strange and jarring features" in a harsh slash, and put a question mark next to "animal show." At the bottom is a note. "I need to stop this. Next they will ask for me to climb on stage and have the audience guess if I am man or woman. But we can't afford to pay back what they've given us…"]]]\
]))\
(set: $shNote to (macro:[(out:)[\
(if: $seenSHNote is false)[(set: $seenSHNote to true)A crumpled note rests on a side table, one of the few still-standing pieces of furniture in the tent. When you reach for it, a slap stings across the back of your hand. You're the only one in the tent, as far as you can see. Shaking off the sensation, you snatch the paper up before the spirit can stop you:
==|||||=
Darling Viv,
I believe I overreacted in my earlier note. Can we meet before the show tonight? I miss you. I’ll bring smokes, we can talk it out. It’ll be grand.
- Josephine\
|==|
As you read, wind picks up inside the tent, ripping razorlike across the hand holding the note. You shove it into your backpack before the wind takes it.]\
(else:)[A pointed breeze teases at the zippers of your backpack, reminding you of |joNote>[the note] you found earlier.
(click: ?joNote)[\
==|||||=
Darling Viv,
I believe I overreacted in my earlier note. Can we meet before the show tonight? I miss you. I’ll bring smokes, we can talk it out. It’ll be grand.
- Josephine\
|==|
]]]\
]))\
<!--VIVIAN PROPS-->
(set: $vivianProps to (macro:[(out:)[\
Buckets of sand and torches are strewn across the space, swords are scattered on the ground. There’s even a fire fan embedded in the low platform at the center of the space. Toeing your way through the chaos, you locate a steamer chest behind the plaform.
<br>
Inside, there are tinted jugs holding liquids of some sort, labeled in a shorthand you can’t make out. Safe to assume they’re flammable. You ease them back into the trunk. The other contents include a bag of clean linen rags in distinct, long strips, unopened bags of sand, torches and fans with their tips and spokes unwrapped, a few extra swords with wide hilts, and several empty blade cases.\
(if: $hints and (visited: "Success"))[
Now that you think about it, you've definitely seen simliar equipment near the other bodies. But Vivian said that only she had access to her props…]\
]]))\
]}\
<div class="header"><img src="images_jpg/COF.jpg" alt="Chamber of Flame"></div>
###Chamber of Flame
(set: $currentInsight to ($roll: $insightBonus))\
(if: visits is 1)[\
The canvas outer layer of the tunnel can be seen through large holes in the sagging interior fabric. It gives the effect of walking beneath the belly of some well-fed beast. After 20 feet, you emerge into a dark tent. Heavy blue and indigo velvet drapes hang around the walls of the tent, blocking any light that might bleed through from entrances beneath them.
(if: $eq1 contains "flashlight")[You flip the switch on your flashlight and whack the base until it flickers on, throwing a wide but dim beam of light across the tent.](else:)[You squint against the darkness until you’re able to fumble the drapes aside, casting dim light into the tent through another entrance.]
Even with the layers of drapery and canvas shielding it from the elements, the space looks as though it’s been hit by a hurricane. Rows of stools have been upturned and cast into heaps of broken wood beneath a sign, attached to one of the posts. The sign, too, has seen better days, but you can make out:
$signStyling[CH<mark>  </mark>M R OF F<mark>  </mark>ME]
It appears you’ve found Vivian’s tent. The energy here is calm despite the disarray, as if you’ve walked into the aftermath of a thunderstorm.
($vivianProps:)]\
(else:)[Vivian’s tent is as messy as you remember it, a visual cacophony of broken materials and performance props.\
(click: "performance props")[
($vivianProps:){
}(if: $agent matches $rm and $seenCasperMail is true)[
($paycheckCOF:)]]]{
}<!--IF COF IS GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
(if: $seenVivianBones is false)[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
Almost out of sight, buried in the base of one of the drapes by whatever force rent apart the room, you notice something white: bones. You hate this part, but it shows up often in your job. Leaning down, you begin fishing the bones out of the fabric. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and (visited: "Illusion Gallery"))[
In nothing short of a miracle, a single flash of light catches your attention amidst the piles in the tent. You kneel, patting in the dirt beneath one of the broken stools until you come up with a sliver of glass. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and (visited: "Fortune Stall"))[
You get distracted when, amidst the piles, one piece of fabric tugs at your intuition. You unearth it from between a smashed lantern and the detached seat of a stool. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]\
<!--END GUILT-->{
}(if: $agent matches $sh and (visited: "Gun Stage"))[
($shNote:)]{
}(if: $COFCharm is true)[
Vivian's decorative touches are everywhere, but haven't been spared either.]\
(else-if: $currentInsight is >=12)[(set: $COFCharm to true)
There’s a certain charm to the room that’s almost lost in the mess. You catch sight of glass florals with the petals crunched, delicate gold chains strung between the posts, and gracefully shaped lanterns. Vivian loved this space.]
---
On the far end of the space, the other entrance opens to a small clearing, revealing two modest-sized tents with signs proclaiming their respective attractions:
[[Feats of Strength]]
[[Contortionist Tent]]{(if: visits is 1)[\
<!--HALL OF MIRRORS FLYER-->
(set: $flyerIG to (macro: [(out:)[\
(if: $seenFlyer is false)[(set: $seenFlyer to true)Plastered to one of the more exposed mirrors by rain and sun, there's a flyer:
(font: "Lekton")[
=|||=
<==>
GRAND OPENING: THE HALL OF MIRRORS
Cirque Deliria has a spectacular new attraction: Coming on $sansYear is the Hall of Mirrors!
Get lost in your own reflection, or try to fumble your way through to the wondrous sights within. The illusionist will not be performing early, but the Illusion Gallery will be open and guests are invited to marvel at the magical maze of mirrors prior to the evening’s opening show.]
|==|
<==
The flyer is cheaply printed, decorated by cartoonish images of circusgoers goggling at their own reflections. You pry it off the glass with your fingernail and slip it in your bag.]\
(else:)[The |HOMFlyer>[Hall of Mirrors flyer] is tucked safely in your backpack.
(click: ?HOMFlyer)[(font: "Lekton")[
=|||=
<==>
GRAND OPENING: THE HALL OF MIRRORS
Cirque Deliria has a spectacular new attraction: Coming on $sansYear is the Hall of Mirrors!
Get lost in your own reflection, or try to fumble your way through to the wondrous sights within. The illusionist will not be performing early, but the Illusion Gallery will be open and guests are invited to marvel at the magical maze of mirrors prior to the evening’s opening show.]
|==|
<==
]\
(if: $hints)[
The Hall of Mirrors was on display before the show, full of visitors.]]\
]]))\
]}\
<div class="header"><img src="images_jpg/IG.jpg" alt="Illusion Gallery"></div>
###Illusion Gallery<!--MORE macros fixed, but not tested. don't be lazy, debug ur twine-->
(set: $currentPerception to ($roll: $perceptionBonus))\
(set: _nav to (abs:(20-$currentPerception))+5)\
(if: visits is 1)[|entrance>[The tunnel on the right has been spared any tearing to match the High Top, but it only serves to make the fifteen or so feet of bumpy dirt dark and hazardous. You catch sight of something flashing as you approach the end of the tunnel. Mirrors. A lot of them. When you reach them, you can't quite tell what's a path forward and what's just another mirror. You grope forward with one hand, testing panes until you hit air, and enter a labyrinth of shadows and reflections.
In traversing the maze, you notice that many of the mirrors are broken, showers of glass sprinkling the ground at the base of the panes.(if: $method matches $w4)[ One in particular looks as if someone took a fist to it, cracks radiating out from a row of knuckle-sized starbursts.<!--am I crazy for this? Starbursts is a word, right?-->] Some of the glass seems to be missing, but there's so much it's hard to know for sure.
You stumble upon a separate, showier entrance that would've drawn in guests who didn't come through the High Top. A sign declares that you're entering (or, trying to enter) the |igPage>[Illusion Gallery].]\
(click: ?igPage)[==(hide: ?entrance)\
|initDesc>[Successfully navigating the mirrors takes you _nav minutes, and (print:(round:_nav/4)) wrong turns. Eventually, stepping free of the mirrors, you find yourself in the deepest part of the Illusion Gallery. Light pours through a tied-open flap at the back, an entrance for the illusionist.
The |cueNext>[performance area] is cozy, scattered with mismatched armchairs and overlapping jewel-toned rugs. If you hadn't wandered through the mirrors on your way in, you'd almost believe it was the fortune teller's tent, instead. Framed photos hang on clotheslines between the tent poles, resisting the effects of gravity and time with impressive determination. A pair of narrow, elegant tables flank the largest rug, left bare of chairs to serve as a sort of stage.
The space is clean, given the circumstances, but not entirely untouched. Several of the chairs look as though they've been thrown, landing in ungainly, legs-up positions amidst their fellows. Like the mirrors, the glass in a couple of frames is cracked and missing. The large stage-rug has been subject to the whims of the area's animals: you spot four indiscriminately colored stains and innumerable scratches and holes.]]\
(else:)[(if: (visits is an even) and (history:)'s last is "Central Clearing")[You approach through the hall of |checkShard>[mirrors] again, but you step easily through the maze now that you've navigated it once.
(if: $seenShard)[(click:?checkShard)[The punched mirror flags your attention again as you pass, and you stop to compare the sliver you found in the (lowercase: $location) to the pile of glass. The jagged edge seems to line up perfectly with one of the shards on the ground, but there's definitely still a larger piece missing that it chipped off of.<!--ending a sentence w a preposition like a rebel-->
]]\
(if: (not ($isGuilty: (passage:)'s name)) and ($seenFlyer is false))[($flyerIG:)
]]\
The cozy |cueNext>[performance area] welcomes you again with its mismatched decor and haunting photos.
]{
}<!--ROSCOE LORE-->\
(click: ?cueNext)[(hide: ?initDesc, ?entrance)\
(if: $seenRoscoeMail and $seenRoscoePhotos and $seenRoscoeObit)[($allRoscoeContent:)]\
(else-if: $seenRoscoeMail and ($seenRoscoePhotos is false))[|rPhoto>[($roscoePhotos:)]
(click: ?rPhotoFin)[(replace:?rPhoto)[\
($roscoeMail:)]]]\
(else-if: $seenRoscoeMail and $seenRoscoePhotos and ($agent matches $il))[|rObit>[($roscoeObit: "both")]
(click: ?rObitFin)[(replace:?rObit)[\
($roscoeMail:)\
(click: ?rPhotoFin)[(replace:?rObit)[\
($roscoePhotos:)(click:?rPhotoFin)[(hide:?rObit)]]]]]]\
(else-if: $seenRoscoeMail and $seenRoscoePhotos and ($agent does not match $il))[|rMail>[($roscoeMail:)](click: ?rMailFin)[(replace:?rMail)[\
($roscoePhotos:)(click: ?rPhotoFin)[(replace: ?rMail)[]]]]]\
(else:)[($roscoeMail:)]\
(more:)[\
<!--END ROSCOE LORE-->{
}<!--IF IG IS GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
(if: $seenVivianBones is false and visits is >1)<!--visits condition because there's so much info for IG, this filters it a little bit-->[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
In a space with so much color, the absence of color stands out in sharp relief. Scattered beneath a few of the chairs, you notice something white: bones. You hate this part, but it shows up often in your job. Leaning down, you begin fishing the bones out of the fabric. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and (visited: "Illusion Gallery"))[
For a second, you think the flash is just the ghost of the hall of mirrors still floating in your eyes. Until you shift your head, and it flashes again. On the floor, next to one of the tables is something reflective. You kneel, patting in the pile of the rug until you come up with a sliver of glass. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and (visited: "Fortune Stall"))[
You get distracted when, wedged between the seat and back of one of the chairs, a single piece of fabric tugs at your intuition. You tug it free. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]]\
<!--END GUILT-->\
---
Outside the back entrance, a well-worn path winds past the Illusion Gallery. Heading east, a fork guides you to tents labeled either the [[Gun Stage]] or the [[Menagerie->The Menagerie]], while the path to the west leads back toward the front edge of the circus grounds, where you see (if: (visited: "Fortune Stall"))[the [[Fortune Stall]].](else:)[a structure that's more a [[shack on wheels->Fortune Stall]] than a tent of any kind.]]{(if: visits is 1)[\
<!--TRINKETS QUESTION-->
(set: $trinketsQuestion to (macro:[
(if: ($seenRMBody or $seenILBody or $seenVivianBones or $seenSHBody) and ($seenTrinketSheet is false))[\
(set: _seenWhat to (a:$seenRMBody, $seenSHBody, $seenILBody, $seenVivianBones))\
(set: _countBones to 0)\
(for: each _seen, ..._seenWhat)[\
(if: _seen is true)[\
(set: _countBones to it+1)\
]]\
(out:)[
|necklaceQ>[→]|selfstyling>["I found some remains, (if: _countBones is 1)[they had a necklace.](else:)[ _countBones of them had these necklaces(if: $seenVivianBones)[, including ones that seem like yours].]"]\
(click: ?necklaceQ)[
"Oh, those necklaces are from Ford! He made them for a lot of us. I had a torch and sword on mine, but I don't know what everyone else had. He might have the sketches somewhere, though."\
(set: $trinketsQuestion to (macro:[(out:)[]]))]]]\
(else:)[(out:)[]]\
]))\
<!--HANDKERCHIEF QUESTION-->
(set: $handkerchiefQuestion to (macro:[\
(if: $seenHandkerchief)[<!--the only way the handkerchief can be seen is if jo is INNOCENT and you've seen her body, don't need to then include conditions for those here-->\
(out:)[
|kerchiefQ>[→]|selfstyling>["I found this handkerchief on a body. Do you know who it belonged to?"]\
(click: ?kerchiefQ)[
"No?"
|kerchiefQ2>[→]|selfstyling>["It's not yours or Josephine's?"]\
(click:?kerchiefQ2)[
"Definitely not."\
(set: $handkerchiefQuestion to (macro:[(out:)[]]))]]]\
]\
(else:)[(out:)[]]\
]))\
<!--NOTES QUESTION-->
(set: $jvNotesQuestion to (macro:[\
(if: $seenFromJoNotes and $seenFromVivNotes and $hints)[\
(out:)[
|notesQ>[→]|selfstyling>[There are notes between you and Josephine, but there's a gap, then something went wrong. What happened?]\
(click: ?notesQ)[
"Oh, please don't read those. It's just, Josephine and I were involved romantically. It was hard for her at first. Please let it be private."
|notesQ2>[→]|selfstyling>[I promise I wouldn't be reading them if I didn't think they were important.]
(click: ?notesQ2)[
"This mystery is proving far less exciting than I hoped." She worries at her lip. "The gap is because we spent so much time together. There was no need for notes, we could just talk. But please, $firstName, leave it there. I didn't mean to."
|notesQ3>[→]|selfstyling>[I need to know what happened, Vivian.]
(click: ?notesQ3)[
"I didn't do it on purpose, but Ford was always so //charming// and then he brought me that lovely necklace and I lost my head. I didn't mean to hurt her, it was just a bit of fun. I didn't think she'd find out, but then I felt so dreadfully guilty I couldn't even look at her."\
(set: $jvNotesQuestion to (macro:[(out:)[]]))]]]\
]]\
(else:)[(out:)[]]\
]))\
]}\
###Entrance
(if: (visited: "Success"))[The ticket booth and entrance are lonely without Vivian's presence, and the setting sun casts them in gold light. You've unearthed a lot of information about each trouper in Cirque Deliria, but is it enough to release them?
|arNGHelp>[→]|selfstyling>[I feel stuck.](click: ?arNGHelp)[\
(if: $hints is false)[(set: $hints to true)
The circus can be overwhelming, even in its current condition. There's a lot to see, take your time so you don't miss anything. Your file says visitors noticed new things on their ''second and third visits'' that they didn't see on their first.]\
(else:)[
Policy says to examine the bodies to see what happened to them. If you suspect Vivian, it may be worth comparing what you've found to her equipment.]]\
---
(link: "I think I have some answers.", (button:"=XXX="))[(display: "submission2")]\
]{
}(else-if: visits is 1)[(if: $skipIntro is false)[\
Pulling level with the ticket booth, you're greeted by the hazy shape of a woman. She's short and fine-boned, like a bird. A loose shirt shows off her collarbones and the disappearing cord of a necklace, tucking into fluttery, layered skirts whose hems stagger their way down to her bare feet and ankles. Rolled sleeves reveal that her right arm is covered in small burns and sooty smears, and her left ends just below the elbow, with two short, rounded digits curled against the stub.
"Good afternoon!" She continues to wave at you, dark, curly-wavy hair bouncing around her face, hitting just below her jawline. The gesture leaves afterimages of the moving limb, a visual delay typical of dealing with spirits.
Waving, positive and welcoming reaction. Speech, indicating logic and coherence. She appears to be a standard haunting.
|ar1>[→]|selfstyling>["Hi, I'm $firstName. I work for Hauntless. Our technical title is spirit exterminators, but in kinder terms, we move on any lingering souls. This property was recently purchased and the new owners are aware that there are some hauntings, so I'm here to take a look."]
(click: ?ar1)[==(scroll: ?page, 1)
"Wow! Good guess, yes, I'm a spirit. Long story short, I'm dead, and I don't know who killed me."
You pull a notebook from your backpack, running down your usual list of questions for standard hauntings.
|ar2>[→]|selfstyling>["Sounds about right. What's your name?"]
(click: ?ar2)[==(scroll: ?page, 1)
"I'm Vivian Laroe. Fire eater, fire dancer, sword swallower, woman of many talents."
|ar3>[→]|selfstyling>["Okay, Vivian, not knowing your cause of death is pretty standard for a lingering spirit. If you have unfinished business that you can't sort out on your own, it's usually because you were killed by someone close to you, who you trusted, or someone you were on bad terms with, or suspicious of. The first one is a betrayal thing, you want to know why. The latter is righteous anger. You knew you were right about them, but you don't know the specifics. People who are killed randomly, in accidents, or who already know the details don't tend to stick around. What do you remember?"]
(click: ?ar3)[==(scroll: ?page, 1)
"Well, last I remember I was waking up on the (str-nth: (num: (trimmed: "March", $sansYear))-3) of March and then it was a week later on the (str-nth: (num: (trimmed: "March", $sansYear))+4) and the circus was empty and torn apart and I was dead. And I can't even figure out what happened because I can't //touch// anything."
|ar4>[→]|selfstyling>["Memory loss is completely normal. My records say everyone was killed on the (str-nth: (num: (trimmed: "March", $sansYear)))."]
(click: ?ar4)[==(scroll: ?page, 1)
"Yeah, I bet, but I don't remember that. Wait— Everyone?"
|ar5>[→]|selfstyling>["There were several people who went missing and were presumed dead after the incident on $sansYear. Just to confirm, you don't remember anything about what happened that day that you might be able to tell me?"]
(click: ?ar5)[==(scroll: ?page, 1)
"Nope. But… I can tell you about other things? I can tell you about everyone's habits and routines outside of that time period, if that's helpful."
|ar6>[→]|selfstyling>["That's great. I'll come back to you for those as it becomes relevant. In the meantime, is there anyone you would say those earlier circumstances apply to? Anyone you were particularly close to, anyone you were in conflict with, anyone you didn't trust?"]
(click: ?ar6)[==(scroll: ?page, 1)
"So I've done a lot of thinking about this and I kind of narrowed it down to that list already! There's Casper, Roscoe, Winn, Josephine, Ford, and Olive. I can tell you more about each of them, if you want?"
|ar7>[→]|selfstyling>["I actually already have their jobs here in my file, but if you could tell me who you were friendly with and who you weren't, that would make this easier."]
(click: ?ar7)[==(scroll: ?page, 1)
"Hm, okay. So that can be a little complicated, but Winn and I were friends for sure. And Ford and I definitely never had any problems."
|ar8>[→]|selfstyling>["And the rest?"]
(click: ?ar8)[==(scroll: ?page, 1)
"Well, Josephine and I were kind of hot and cold, and I liked Olive but I don't know if she liked me, and Casper was my boss so we weren't //friends// or anything, but we got along. And then there's Roscoe, and he was nice to me, but I didn't trust him at all."
|ar9>[→]|selfstyling>["Understood. That should help me put together some pieces as I poke around here. I do have one other concern about your case, though, Vivian. There's not really a delicate way to say this, but there's no reason you should be this strong after such a long time."]
(click: ?ar9)[==(scroll: ?page, 1)
"What does that mean?"
|ar10>[→]|selfstyling>["Standard hauntings, even those with unfinished business, tend to have a 10-15 year cap on corporeality if the space is abandoned. It'll usually go one of two ways where you fade out and move on regardless of the lack of closure, or you go poltergeist. The emotional grounding on a poltergeist can keep you around longer, but definitely not like this. Do you have any idea why you might be maintaining like this after so long? Do you know if you've spent any of that time as a poltergeist, if you've fed off of any human deaths or anything?"]
(click: ?ar10)[==(scroll: ?page, 1)
"Oh, I'm not sure. Not since I remember, but you said other people died on $sansYear. If I don't remember that, maybe I fed off of them? There's certainly nobody hanging around to talk to me, I'm //desperately// lonely."
|ar11>[→]|selfstyling>["Got it. And you're sure there's nobody else? Not even poltergeists or some infrequent stirring?"]
(click: ?ar11)[==(scroll: ?page, 1)
"Well, there's wispies around that will flutter the canvas or shake a cage or something every once in a while, but nothing destructive. Or fun."
|ar12>[→]|selfstyling>["Sounds like we might have a few older poltergeists on our hands. If that's the case, they'll only flare up when I start touching things that are important to them. Those will dissipate when they clear the property. You won't, at this rate, and I can't have you feeding off of any Living."]
(click: ?ar12)[==(scroll: ?page, 1)
"So what, are you going to banish me? Exorcise me?"
|ar13>[→]|selfstyling>["First, I'm going to try to figure out who killed you. That should be enough to move you on of your own accord."]
(click: ?ar13)[==(scroll: ?page, 1)
"Ooh, so it's a mystery. Do you think I was eaten by lions? That would be a way to go out."
|ar14>[→]|selfstyling>["I couldn't begin to tell you at this point, but I guess it's not outside the realm of possibility at a circus."]
(click: ?ar14)[==(scroll: ?page, 1)
"Do you want me to come with you to investigate?"
|ar15>[→]|selfstyling>["No, that's alright. It's policy for me to go through properties alone, unfortunately. Prevents me from missing any other spirit activity."]
(click: ?ar15)[==(scroll: ?page, 1)
"Ugh, fine. I'll be waiting here, wasting away."
|ar16>[→]|selfstyling>["I'll try to be quick."]\
(click: ?ar16)[==(scroll: ?page, 1)\
(if: $hints)[
"Don't rush too much! The circus can be overwhelming, even in its current condition. There's a lot to see, take your time so you don't miss anything. All of the visitors say they notice new things on their second visit that they didn't see on their first."]
Past Vivian is the [[central clearing->Central Clearing]], and beyond that looms the High Top.
]\
(else-if: $skipIntro is true)[\
Pulling level with the ticket booth, you're greeted by the hazy shape of a woman, Vivian, who explains the circumstances of her death. You leave her there, and proceed to the [[central clearing->Central Clearing]] to begin your investigation.
(font: "Lekton")[`[`You have opted to skip the intro.`]`]
]]{
}(else:)[Vivian is waiting for you near the ticket booth, (nth: visit, "watching crows hop along the entrance path", "sitting on the ground, resting her head on her knees", "squinting at the sun", "fiddling with one of her skirts. Spirits can't alter their clothes, but it's endearing when they try", "dancing. She twirls an imaginary fan in her right hand and mimes pinching one in the small digits on her left arm. It's beautiful to watch, and you can only imagine the effect in a dark tent with real fans and flames", "kicking fruitlessly at a tuft of grass").\
($trinketsQuestion:)\
($handkerchiefQuestion:)\
($jvNotesQuestion:)\
<!--($roscoeFingersQuestion:)-->
|ar17>[→]|selfstyling>[I feel stuck.](click: ?ar17)[(if: $check is false)[(set: $check to true)(rerun: ?helpUpdate)
"What if you used a little sheet to ''mark off who and what you have information about''? Then you can keep track of anything you still need to rule out."
(font: "Lekton")[Notes Assist has been activated.]]\
(else-if: $hints is false)[(set: $hints to true)
"Don't forget: The circus can be overwhelming, even in its current condition. There's a lot to see, take your time so you don't miss anything. All of the visitors say they notice new things on their ''second and third visits'' that they didn't see on their first."
(font: "Lekton")[Extra hints have been activated.]]\
(else:)[
"There's not really more I can help you with. Maybe is there something from your oragnization that could help?"
Hauntless policy for murdered souls indicates that it's best to establish an "alibi" or "evidence of incrimination" for each suspect, possible method, and location:
(box:"=XXXXXXXXXX=")+(border: "double")+(border-color: #741f1d)[You may not find an alibi for everything, but if you find compelling evidence of incrimination then you don't really need every alibi. On the other hand, if you can't find compelling evidence of incrimination, then an alibi for every other option gives you an answer by process of elimination. Don't forget to retrace your steps. Even the most practiced investigators can overlook clues.]]]\
---
(link: "I think I know who killed you.", (button:"=XXX="))[(display: "submission")]]{(set: $roll to (macro: num-type _bonus, [
(set: _return to (random:1,20))
(output-data: _return + _bonus)
]))
(set: $accusations to 0)
(set: $check to true)
(set: $hints to false)
(set: $noGraphic to false)
(set: $skipIntro to false)
(set: $saveName to "Save A")
(set: $year to "1924")
(set: $date to "March 13, "+$year)
(set: $sansYear to "March 13")
(set: $signStyling to (font: "Lekton") + (text-size:1.25) + (text-style: "outline"))
(set: $signSubtitle to (font: "Lekton") + (text-size:0.8))
(set: $udStyling to (font: "Lekton") + (text-style: "strike")+(opacity: 0.6))
(set: $notebookStyling to (text-size: 0.7))
<!--LIVE NPCS-->
(set: $smStatement to false)
(set: $scStatement to false)
(set: $acStatement to false) <!--also used to establish if ac caravan has been visited-->
(set: $ac1 to "Allan")
(set: $ac2 to "Arya")
(set: $ac3 to "Alaina")
(set: $sm to "Hardy")
(set: $sc to "Penny")
<!--MOSTLY DEFUNCT, SKILL RANDOMIZERS
These ARE still used for flavortext stuff, like navigating the illusion gallery or noticing Vivian's decorations-->
(set: $currentPerception to 10)
(set: $currentStrength to 10)
(set: $currentInsight to 10)
(set: $perceptionBonus to 0)
(set: $strengthBonus to 0)
(set: $insightBonus to 0)
<!--AGENTS-->
(set: $rm to "Casper (ringmaster)")
(set: $il to "Roscoe (illusionist)")
(set: $ft to "Winn (fortune teller)")
(set: $ac to "Ford (acrobat)")
(set: $sh to "Josephine (sharpshooter)")
(set: $lt to "Olive (lion tamer)")
<!--METHODS-->
(set: $w1 to "Renette pistol")
(set: $w2 to "ringmaster's whip")
(set: $w3 to "lions")
(set: $w4 to "broken mirror")
(set: $w5 to "kitchen knife and snake venom")
(set: $w6 to "crystal ball")
<!--whip is strangulation, lions are fed to. broken glass is what it sounds like. drop a hint in the illusion gallery that not all of the glass seems to be present. find it somewhere else (whereever the location is), silk -->
<!--LOCATIONS-->
(set: $l1 to "High Top")
(set: $l2 to "Illusion Gallery")
(set: $l3 to "Animal Cages")
(set: $l4 to "Sleeping Caravans")
(set: $l5 to "Fortune Stall")
(set: $l6 to "Chamber of Flame")
<!--SET ANSWER ENVELOPE FOR THIS GAME-->
(set: $agent to (either: $rm, $il, $ft, $ac, $sh, $lt))
(set: $method to (either: $w1, $w2, $w3, $w4, $w5, $w6))
(set: $location to (either: $l1, $l2, $l3, $l4, $l5, $l6))
<!--imo, in this case, Motive more refers to opportunity. the narrative will reveal that they all have 'motive,' but only one actually did it-->
<!--SUSPECT DEATHS-->
(set: $rmDeath to "skull crushed with a sandbag")
(set: $ilDeath to "forced to swallow a sword")
(set: $ftDeath to "trapped in a burning caravan")
(set: $acDeath to "chemically asphyxiated")
(set: $shDeath to "stabbed in the heart")
(set: $ltDeath to "immolated in a plume of fire breath")
(set: $otherDeaths to (shuffled: $rmDeath, $ilDeath, $ftDeath, $acDeath, $shDeath, $ltDeath))
(set: $otherGuesses to (a: $rmGuess, $ilGuess, $ftGuess, $acGuess, $shGuess, $ltGuess))
(for: each _guess, ...$otherGuesses)[(set: _guess to $otherDeaths's 1st)]
(set: $rmGuess to "")
(set: $ilGuess to "")
(set: $ftGuess to "")
(set: $acGuess to "")
(set: $shGuess to "")
(set: $ltGuess to "")
(set: $rmSolved to false)
(set: $ilSolved to false)
(set: $ftSolved to false)
(set: $acSolved to false)
(set: $shSolved to false)
(set: $ltSolved to false)
<!--an inventory system would've been more efficient and required less t/f vars, but i'm not going back to change it all at this juncture because this does work. oh well. next time.-->
<!--INVESTIGATION VARIABLES-->
(set: $eq1 to "flashlight with standard and black light lenses,")
(set: $eq2 to "pouch of quick-scatter salt packets")
<!--GUILT ROOM-->
(set: $seenVivianBones to false)
<!--only used if crystal ball is GUILTY-->
(set: $seenCBBag to false)
<!--only used if shard is GUILTY-->
(set: $seenShard to false)
<!--HIGH TOP VARIABLES-->
(set: $backTopExit to false)
(set: $seenWhip to false)
(set: $seenStubs to false)
<!--whipInfo was the first item macro i wrote, and the rest are styled slightly different via method macros-->
(set: $whipInfo to (macro:[\
(if: $method does not match $w2)[\
(out:)[($whipAlibi:)]]
(else:)[(out:)[($whipGuilt:)]]
]))
<!--IG VARIABLES-->
(set: $seenFlyer to false)
(set: $seenRoscoeMail to false)
(set: $seenRoscoePhotos to false)
(set: $seenRoscoeObit to false)
<!--ANIMAL CAGE VARIABLES-->
(set: $seenLittleCatFlavor to false)<!--flavortext only-->
<!--SLEEPING CARAVAN VARIABLES-->
(set: $visitedRoscoeCaravan to false)
(set: $visitedWinnCaravan to false)
<!--Viv and Jo's caravans are numeric because I am mocking visit counts to them-->
(set: $visitedJoCaravan to 0)
(set: $visitedVivCaravan to 0)
(set: $visitedOliveCaravan to 0)
(set: $seenNoteForRoscoe to false)
(set: $seenCaravanPaper to false)
(set: $seenIncenseBox to false)
(set: $seenFTBody to false)
(set: $seenFromVivNotes to false)
(set: $seenBirthdayEarrings to false)
(set: $seenFromJoNotes to false)
<!--FS VARIABLES-->
(set: $hasWinnKey to false)
(set: $seenCrystalBall to false)
(set: $seenWinnJournal to false)
<!--COF VARIABLES-->
(set: $seenSHNote to false)
(set: $seenPaycheckCOF to false)
(set: $COFCharm to false)<!--flavortext only-->
<!--GS VARIABLES-->
(set: $seenPistol to false)
(set: $seenSHBody to false)
(set: $seenHandkerchief to false)
(set: $seenSketch to false)
(set: $signatureView to 0)
<!--MENAGERIE VARIABLES-->
(set: $seenManifesto to false)
(set: $seenIncidentLog to false)
<!--SNAKE HOUSE VARIABLES-->
(set: $seenVenom to false)
(set: $seenACBody to false)
<!--MED TENT VARIABLES-->
(set: $seenILBody to false)
(set: $seenDocBook to false)
<!--CASPER OFFICE VARIABLES-->
(set: $seenBalance to false)
(set: $seenCasperMail to false)
(set: $seenRMBody to false)
(set: $seenFudged to false)
<!--CT VARIABLES-->
(set: $seenTrinketSheet to false)
(set: $seenFordLetters to false)
<!--FOS VARIABLES-->
(set: $seenFOSCards to false)
<!--MESS TENT VARIABLES-->
(set: $seenNest to false)
(set: $seenKnifeGap to false)
(set: $seenLTBody to false)
}\
{}(set: $hints to true)(set: _agentGuess to $rm)(set: _locationGuess to $l1)(set: _methodGuess to $w1)\
|guessable>[|table>[|imgDisplayUpdateA>[\
==>
<div class="image_card">$characterImageDisplay</div>]\
<==
|imgDisplayUpdateB>[<div class="image_card">$locationImageDisplay</div>]]
→|guessstyling>[You were killed by (dropdown: bind _agentGuess, $rm, $il, $ft, $ac, $sh, $lt), in the (dropdown: bind _locationGuess, $l1, $l2, $l3, $l4, $l5, $l6), using the (dropdown: bind _methodGuess, $w1, $w2, $w3, $w4, $w5, $w6).]{
|agentImageRerun>[(event: when _agentGuess matches $rm)[(set: $characterImageDisplay to "<img src=\"images_jpg/casper.jpg\" alt=\"Casper\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 2ndto6th)]]
|agentImageRerun>[(event: when _agentGuess matches $il)[(set: $characterImageDisplay to "<img src=\"images_jpg/roscoe.jpg\" alt=\"Roscoe\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 1st)(rerun: ?agentImageRerun's 3rdto6th)]]
|agentImageRerun>[(event: when _agentGuess matches $ft)[(set: $characterImageDisplay to "<img src=\"images_jpg/winn.jpg\" alt=\"Winn\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 1stto2nd)(rerun: ?agentImageRerun's 4thto6th)]]
|agentImageRerun>[(event: when _agentGuess matches $ac)[(set: $characterImageDisplay to "<img src=\"images_jpg/ford.jpg\" alt=\"Ford\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 1stto3rd)(rerun: ?agentImageRerun's 5thto6th)]]
|agentImageRerun>[(event: when _agentGuess matches $sh)[(set: $characterImageDisplay to "<img src=\"images_jpg/josephine.jpg\" alt=\"Josephine\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 1stto4th)(rerun: ?agentImageRerun's 6th)]]
|agentImageRerun>[(event: when _agentGuess matches $lt)[(set: $characterImageDisplay to "<img src=\"images_jpg/olive.jpg\" alt=\"Olive\"></div>")(rerun: ?imgDisplayUpdateA)(rerun: ?agentImageRerun's 1stto5th)]]
}{
|locationImageRerun>[(event: when _locationGuess matches $l1)[(set: $locationImageDisplay to "<img src=\"images_jpg/HighTop_V.jpg\" alt=\"High Top\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 2ndto6th)]]
|locationImageRerun>[(event: when _locationGuess matches $l2)[(set: $locationImageDisplay to "<img src=\"images_jpg/IllusionGallery_V.jpg\" alt=\"Illusion Gallery\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 1st)(rerun: ?locationImageRerun's 3rdto6th)]]
|locationImageRerun>[(event: when _locationGuess matches $l3)[(set: $locationImageDisplay to "<img src=\"images_jpg/AnimalCages_V.jpg\" alt=\"Animal Cages\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 1stto2nd)(rerun: ?locationImageRerun's 4thto6th)]]
|locationImageRerun>[(event: when _locationGuess matches $l4)[(set: $locationImageDisplay to "<img src=\"images_jpg/SleepingCaravans_V.jpg\" alt=\"Sleeping Caravans\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 1stto3rd)(rerun: ?locationImageRerun's 5thto6th)]]
|locationImageRerun>[(event: when _locationGuess matches $l5)[(set: $locationImageDisplay to "<img src=\"images_jpg/FortuneStall_V.jpg\" alt=\"Fortune Stall\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 1stto4th)(rerun: ?locationImageRerun's 6th)]]
|locationImageRerun>[(event: when _locationGuess matches $l6)[(set: $locationImageDisplay to "<img src=\"images_jpg/COF_V.jpg\" alt=\"Chamber of Flame\"></div>")(rerun: ?imgDisplayUpdateB)(rerun: ?locationImageRerun's 1stto5th)]]
}
(if: $accusations >0)[This time, ]I'm sure.
|nm>[[[Never mind->Entrance]].]]\
(click: "I'm sure")[==(hide: ?guessable)\
(set: $accusations to it+1)\
(if: _agentGuess matches $agent and _locationGuess matches $location and _methodGuess matches $method)[
(go-to: "Release Vivian")]\
(else-if: $accusations is 3)[
(go-to: "Kill")]\
(else:)[Nothing happens. Vivian raises an eyebrow at you.
"That's not right. I don't know what happened, but I know that something there was wrong."
|missA>[→]|selfstyling>["I trust you. I wonder what I missed."]\
(click: ?missA)[
I would feel if it was right, wouldn't I?" She cuts off your train of thought.
|missB>[→]|selfstyling>["You would. Do you know what seems wrong about it?"]\
(click:?missB)[
(if: $hints)[\
(if: _agentGuess does not match $agent)["(trimmed: (p:" (", string, ")"), _agentGuess). I don't feel like it was (trimmed: (p:" (", string, ")"), _agentGuess)."]\
(else-if: _locationGuess does not match $location)["The _locationGuess doesn't feel right. I don't think it happened there."]\
(else-if: _methodGuess does not match $method)["It wasn't the _methodGuess. I don't know how I know, but I just do."]\
(else:)["I don't, I'm sorry. It all just feels like one answer and it's not correct."]
]\
(else:)["I don't, I'm sorry. It all just feels like one answer and it's not correct."]\
[[Keep looking->Central Clearing]].]]]{(if: visits is 1)[\
(set: $shBody to (macro: [
(if: $shSolved)[(out:)[
The only sign of Josephine is her body, which you brought down from the target to lay on the ground.]]\
(else:)[(if: $seenSHBody)[(out:)[
|shCorpse>[Josephine's corpse] was in here.\
(click: ?shCorpse)[==
The relatively complete skeleton dangles from the back of the target, skewered to the wood by a thin, sharp sword(if: (visited: "Chamber of Flame") and $hints)[, identical to the ones you saw in Vivian's tent.](else-if: (visited: "Chamber of Flame"))[, wrought in the same style as Vivian's.](else:)[ through the ribcage.] It's wedged between two of the upper ribs on the body's left side, keeping its tattered shirt from sagging off.
A gun belt and a pair of loose denim pants hang over the skeleton's hipbones. Looped around the belt, a trinket swings from a cord: a carved shotgun, no larger than your thumb.
(if: $agent does not match $sh)[\
($handkerchiefEtc:)]\
(else:)[
($nudiePics:)]]]\
(else:)[(out:)[(set: $seenSHBody to true)
Wind rattles behind the largest wooden target, hanging at the far end of the stage. You recognize the dull scrape of |shCorpse>[metal on bone].\
(click: ?shCorpse)[==
A relatively complete skeleton dangles from the back of the target, skewered to the wood by a thin, sharp sword(if: (visited: "Chamber of Flame") and $hints)[, identical to the ones you saw in Vivian's tent.](else-if: (visited: "Chamber of Flame"))[, wrought in the same style as Vivian's.](else:)[ through the ribcage.] It's wedged between two of the upper ribs on the body's left side, keeping its tattered shirt from sagging off.
A gun belt and a pair of loose denim pants hang over the skeleton's hipbones. Looped around the belt, a trinket swings from a cord: a carved shotgun, no larger than your thumb. When you lift the belt to examine the trinket, Josephine's pants fall to the ground, weighed down by something in her pocket.
(if: $agent does not match $sh)[
($handkerchiefEtc:)]\
(else:)[
($nudiePics:)]]\
]]]))\
]}\
###Gun Stage
(set: $currentPerception to ($roll: $perceptionBonus))(set: $currentStrength to ($roll: $strengthBonus))\
(if: visits is 1)[<!--GS is only accessible thru the IG, thus IG can be used for description comparison-->\
|entrance>[Running perpendicular to the Illusion Gallery, the Gun Stage shares its long, skinny structure. Instead of entering from one end, though, the tent flaps sit squarely in the center of the broad front.
The Gun Stage has been spared most of the decay of the rest of the circus, shielded by the other tents. Silver stripes on the canvas still hold some of their luminescent paint, and the carved wooden sign above the entrance is entirely legible.
You're greeted with a wall of force when you get within 15 feet of the entrance. It's enough to knock you off your feet, into a heap in the dirt.(if: $visitedJoCaravan is >0)[ The tenor of the spirit feels familiar, a frustrated anger so like what you experienced in Josephine's caravan.] When you try to stand, unseen hands shove you down again, pinning your shoulders against the dirt. Your backpack digs into your left hip.
(if: not (visited: "The Menagerie"))[Vivian's assessment that the property only held "wispies" seems to be an understatement. This spirit, some variety of sentiment-bound poltergeist, is present enough to be angry at your approach. It's already wavering though, and seems to be unable to do any meaningful harm to you.(if: $hints)[ In this condition, it's still likely to dissipate when they clear the property. Even so, it's an inconvenience and could make removing the structures difficult. You may have to circle back to this one.]](else:)[Like in The Menagerie, this spirit clearly wants you to stay away. It's already wavering though, and seems to be unable to do any meaningful harm to you.]
You wait out the wave of anger. There's no point in wasting energy on a spirit that will tire itself out. In under a minute, the pressure on your shoulders relieves and you're able to climb back to your feet and |cueInterior>[step into the Gun Stage], unhindered.]\
(click: ?cueInterior)[(replace: ?entrance)[\
|interiorDesc>[Inside, the Gun Stage lives up to its name. It holds the only true stage of any tent in Cirque Deliria(if: (visited:"Chamber of Flame"))[. The platform in Vivian's performance tent is a distant second, in no way comparable to the hip-height structure here](else:)[: a hip-height wooden structure at the back of the tent, running its full length]. At one end of the stage, three wobbly stairs cling to the edge by a pair of failing nails. At the other, a large, painted target hangs just over the edge, behind a tiered shelf of cans and bottles. Paper circles hang from the ceiling at varying heights, some with holes and some without. In lieu of the High Top's bleacher seating or the Illusion Gallery's armchairs, the Gun Stage has freestanding wooden benches stacked seat-to-seat by the entrance.
To get to the narrow aisle behind the stage, |cueBack>[you have to go over it].]]]\
(click: ?cueBack)[(replace: ?interiorDesc)[\
|backGunStage>[\
Stained playing cards and misshapen coins with their centers punched out collect in the gutter along the back of the stage.
At the back corner by the stairs, a cabinet and shelf hide in the shadow of the stage. Testing the handle reveals the cabinet is locked, (if: $currentStrength is > $currentPerception)[but a firm kick splits the wood around the lock easily.](else:)[but the hinges are easy enough to pry out with your fingernails.] Guns line the interior of the cabinet, mostly rifles— still gleaming— but the bottom rows feature a shotgun, two revolvers, and a pistol-sized gap.
(if: $method does not match $w1)[\
($pistolInfo:)]\
(else:)[It doesn't seem to be nearby.]]\
]]\
]\
(else:)[\
(if: $shSolved is false)[You set your teeth as you walk the last 15 feet to the entrance of the Gun Stage. (if: $hints)[Josephine](else:)[The angry spirit] still doesn't want you here and makes (if: $hints)[her](else:)[its] displeasure known against the flesh of your shoulders. The impacts sting like thrown pebbles, leaving small welts.]\
(else:)[Josephine's absence is palpable as you make your way into the Gun Stage. There are no new welts on your shoulders, and no angry shove when you cross the threshold.]
Light filters through clusters of small, round holes in the canvas roof of the tent, scattering bright dots across the stage and benches. A broad array of clay and glass and paper targets adorn the stage and dangle from above it.
($pistolInfo:)\
]\
(if: $seenPistol)[\
($shBody:)]
---
From the path outside the gun stage, you can access either the [[Menagerie->The Menagerie]] or the [[Illusion Gallery]].
{(if: visits is 1)[\
(set: $winnJournal to (macro:[(out:)[\
|wjContents>[(if: $seenWinnJournal is false)[(set: $seenWinnJournal to true)Cracking open the cover, you find that the book is a journal filled with cramped but neat handwriting. You read quickly, skimming past Winn's word puzzles and daily tarot readings for anything that might be relevant:]\
(else:)[You've dog-eared the important pages:]\
|wjRerun>[$notebookStyling[|wjP1>[\
I’m concerned I seem standoffish to the newer members of the circus. Vivian and I ate dinner tonight and rehashed our old debate under the pretense of her concern about Roscoe. She started by probing me about how well I know the man, but truly I’ve barely spoken to him. She knows I keep mainly to myself, which of course brought us back to the million dollar question: Why do I keep such a distance from the other performers?
She’s talented in her own right, but I can’t seem to drill through her head that everyone carries energies with them. It’s terribly loud and heavy for me to spend any amount of time in a crowd, and I prefer to keep my head clear by spending my time alone.
On top of which, I know my incenses can be overpowering to many of the guests. I always set up my stall on the outskirts of the grounds to spare anyone sensitive, and I even keep my caravan at the far end of the campsite so that the other performers don’t have to worry about it either. Of course, when I mentioned this, Vivian snorted and muttered something about how "everyone will complain about the damn smoke anyway." She spends so much time around smoke herself, she likely hears complaints, too.
I think she dreads her time alone, honestly. She's never by herself if she can help it, she can't imagine why anyone would choose to be. In any case, I should probably make more of an effort to welcome the newbies. So much distance does probably give the wrong impression. Circus life can be quite an adjustment, even for those of us who are used to being a spectacle.]]
Keep reading
(link: "Close the journal")[(hide: ?wjContents)(show: ?phCloser)]\
(click: "Keep reading")[==(replace: ?wjP1)[|wjP2>[\
Casper's asked me to start working on a seancé show. I don't know that I feel comfortable with that, even with the raise they dangled in front of me. I explained to them that there's a reason I offer (text-style:"underline")[readings], not spells. I have a particular set of talents and summoning isn't among them. Any competent spiritualist knows wards, but they have their limits when you're reaching past them anyway.
I've largely decided that I'll refuse, but Casper seemed quite eager. I wonder what the sudden interest is. I have rarely, if ever, heard complaints about my skills, especially not from Casper.\
]]\
(click: "Keep reading")[==(replace: ?wjP2)[|wjP3>[\
I need to speak to Olive again. Her impulses are so loud, I can hear them from anywhere on the grounds. I almost mistook them for a client's last night.
I try my best to avoid listening in so that I might leave the other troupers to their privacy, but it's Olive. My wards can only keep out so much, and perhaps that's for the best with her. She's a full pot, that one, always waiting to boil over. Last time she was like this, she came home from our week away with no hair and a broken hand. I worry for her. I don't think that even she knows what she's going to do, sometimes.
I may approach $sm about it. They're quite close. He's helped her out before and might know how to talk her down a bit.\
]]\
(click: "Keep reading")[==(replace: ?wjP3)[|wjP4>[\
There's to be a seancé show. Casper laid down an ultimatum last night that I begin doing seancés or find new employment. I don't understand. This is out of character for them, but they've been on edge recently— snappish and irritable. I wish they would talk about what's wrong. It's clear there's tension among the acrobats, but I can't imagine that would bleed over into my shows like this.
It seems cruel, though. Casper knows I have nowhere else to go. This has been my home longer than anyone else. Longer than it's been Casper's, even. I joined the troupe fifteen years ago, I watched them arrive here, watched Ursa take them under her wing and slowly turn over responsibility to them, and eventually watched them take on the whole circus when she left. I've been so proud of their leadership, until now. I never imagined… to level such a threat on me… it doesn't bode well for the younger members. Or for the future of Cirque Deliria.
I suppose I'll start working on my summoning, then.\
]]\
(click: "Keep reading")[==(replace: ?wjP4)[|wjPFin>[\
(if: $agent matches $ft)[(text-size: 0.9)[
Winn's handwriting on the last pages is sprawling and messy, covering whole pages in only a few words. Letters are added to and omitted from words, and sloppy sigils are abandoned halfway through, vastly different to the meticulous renderings on other pages. It's hard to even decipher in most places.]
($randomType: "Seancé trial diid nt go welll. There aws n interupton. Told told them to leave") (text-style: "double-strike")[us] ($randomType: "me alon to tessssst, but vivian vivvian viivian vivian vvia. brokethrough tooo watch wardsssnot sufficient ethier. ssomethingss wrong. bad contact,can't hear, cant feel. sick. DANGER. toldCaspre NO. NO NO NONO").
(text-size: 0.9)[the half-drawn markings are finished enough that you recognize them as banishing sigils.(if: $seenDocBook)[ In combination with what you saw in the doctor's book, this points to possession. It's likely that Winn lost control of the supernatural energies and soaked in any malicious spirits to protect the others.(if: $hints)[ This complicates Vivian's initial assessment of Winn's friendliness. If a spirit was in control of Winn, their affection wouldn't protect Vivian.]]]]\
(else:)[(text-size: 0.9)[
The script on the final page is shaky, as if Winn was trembling while writing.]
The seancé trial went as expected. I don't think I'll ever be comfortable sharing my body with another being like that, but needs must. My concerns at this point are too many to even write, but primarily I fear that once we begin the seancé shows, my audience will be able to feel my dread. Maybe in that case, Casper will surrender the idea when it doesn't pull in the crowds they hope it will.
The other performers have been kind about it, though. They've each made sure to stop in this week to request my usual services in some way or another. $sm is tonight, and the day after tomorrow I'll be able to figure out what's troubling Olive when I read for her. There's hope yet that things will settle.]\
]]\
(click: "Keep reading")[(rerun: ?wjRerun)]\
]]]\
]))\
]}\
<div class="header"><img src="images_jpg/FS.jpg" alt="Fortune Stall"></div>
###Fortune Stall
(set: _showExit to false)\
|IGdesc>[(if: visits is 1)[|entry>[The shack is set farther from the bulk of the circus than any of the other tents. Wooden. wheeled, and vaguely square, it more closely resembles (if: (visited: "Sleeping Caravans"))[the sleeping caravans](else:)[a caravan] than a tent. Nailed to the exterior wall of the structure, facing the path, is a sign:
$signStyling[FORTUNE STALL]
$signSubtitle[Palm readings, clairvoyance, tarot, and more!
COMING SOON: Seancés]
A sliding barn door stands open on the front of the shack, revealing a curtained entrance. You duck inside, and the wood floor creaks worryingly beneath your weight. A candle in the corner hisses to life without the aid of matches, throwing large shadows across the furniture. The large majority of the space is occupied by a round table with a silk cloth spread across it. In the center of |tableFS>[the table] is a (if: $method matches $w6)[thin metal stand for a crystal ball.](else:)[stand of some sort.]]\
(click:?tableFS)[(set: _showExit to true)(replace:?entry)[\
|pigeonhole>[Behind the table is a pigeonhole cabinet with several drawers missing or hanging precariously. Whispers leak out from around the sides of the cabinet, mostly unintelligible. A hand drops down heavy on your shoulder, and someone leans close to your ear:
(opacity: 0.5)["$firstName… $firstName… $firstName…"]
You pause, waiting to see if the spirit continues, but that seems to be the extent of their vocabulary. The weight of the hand stays on your shoulder, though, even as you move to approach the cabinet. The contents vary, from dried herbs, to candles, to incense cones, to jars of tea and little crystals. The bottom row of drawers all sport locks. You check each drawer, and most prove to be unlocked or easily yanked loose. They're either empty or hold a few higher quality items. Now, only the far left drawer is still closed and locked. (if: $hasWinnKey is true)[The key from Winn's caravan might do the trick.
The drawer slides open smoothly, revealing a cloth-bound notebook inside.
($winnJournal:)\
(hidden:)|phCloser>[The fabric pulls under your fingers as |phClose>[the journal closes], stiff from sitting so long.]\
](else:)[The drawer pull, a metal ring, feels loose enough that it might fall off if you give it a good tug. Short of breaking the entire cabinet, |phClose>[you aren't sure how to open it at this point].]\
]]]\
(click: ?phClose)[(replace: ?pigeonhole)[\
On the right wall, a shelf serves as some sort of altar. There are yet more candles and incense, a pair of small bowls, a chalice, and a bell. Pretty standard. The number of matches, candles, and incense accouterments in in this single wooden structure is truly alarming, though. It's only through some ridiculous luck that this wasn't the source of the fire issues.
Hanging beside the altar is a |wCalendar>[calendar], pinned crookedly to the wall by a hairpin wedged between the paneling.\
(click: ?wCalendar)[(set: _temp to "moveOn")
You need to squint to read it in the dim light. Unsurprisingly, it's open to March of $year.\
(if: $agent does not match $ft)[ On $sansYear, Winn has marked a private tarot reading with $sm before the night's show(if: ($isGuilty: (passage:)'s name))[, in his performance tent]. This reminds you of |smStatementReveal>[something from the strongman's statement] in your assignment file.\
(click:?smStatementReveal)[(set: $smStatement to true)(rerun: ?footerUpdate)]]\
(else:)[ There's nothing on $sansYear to indicate Winn's whereabouts, but on the (str-nth: (num: (trimmed: "March", $sansYear))-1), Winn has written and circled "seancé dry run— keep others away".]
Now that your eyes have adjusted, you spot something in the corner. ($crystalBall:)]]]\
]\
<!--OTHER VISITS-->\
(else:)[\
(set: _showExit to true)\
The windowless wood keeps the fortune stall in a state of permanent dimness, with the exception of the perpetual candle and the light leaking around you through the curtained doorway.
(if: $method does not match $w6 and visits is 2)[After finding the crystal ball, you're interested in the stand on the table again. Looking closer, you can tell that one of the thin metal legs has failed, collapsing inward so the ring that holds the crystal ball is perpendicular to the tabletop. Based on the shine of the uneven metal, this was a recent failure. (if: $hints)[Looks like that's how the ball fell and broke, nothing sinister.]
]\
(else:)[
This is where you found the |cbReview>[cracked crystal ball](if: $method does not match $w6)[ and the collapsed stand].\
(click: ?cbReview)[
($crystalBall:)]\
]\
There's still a |pCabinet>[locked drawer on the pigeonhole cabinet]. The murmuring hasn't abated, and you pick up the edges of your name again, just looking at it from across the room.\
(click: ?pCabinet)[\
The cabinet is worse for the wear, suffering from dry rot in several places. Most of the drawers are empty or holding Winn's supplies and tchotchkes, but there's one you can't get into. (if: $hasWinnKey is true)[The key from Winn's caravan might do the trick.
The drawer slides open smoothly, revealing a cloth-bound notebook inside.
($winnJournal:)]\
(else:)[The drawer pull, a metal ring, feels loose enough that it might fall off if you give it a good tug. Short of breaking the entire cabinet, you aren't sure how to open it at this point.]\
]\
]]{
}<!--IF FS IS GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
<!--staggered to prevent too much info at once-->\
(if: $seenVivianBones is false and visits is >1)[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
It would be easy to miss. Winn has other bones in the room, jawbones and ribs from foxes and birds and other small animals. But these are… larger. Human, maybe. You hate this part, but it shows up often in your job. Leaning down, you begin fishing bones out from beneath the altar. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and ($seenVivianBones is true))[
In the dim light of the shack, a single flash of light catches your attention from the corner of your eye. Wedged between two of the floorboards is something small and reflective. You crouch, wiggling the item loose until you hold a sliver of glass in your hand. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and ($seenVivianBones is true))[
Tossed over the seat of the chair near the door, one piece of fabric tugs at your intuition. You lift it into the light to get a better look. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]\
<!--END GUILT-->{
}
(event: when _showExit is true)[\
---
From here, you can really only return to the [[entrance->Entrance]] or the [[Illusion Gallery]]. The burning candle emits no heat and cannot be extinguished. Not a hazard.]{(unless: (passage:)'s tags contains "Ending")[(append: ?SideBar)[(font:"Aref Ruqaa Ink")[
|helpUpdate>[(if: $check is true and (visited: "Central Clearing"))[(unless: (passage:)'s name is "infoSheet" or (visited: "Success"))[<br>(button:)[[Notes->infoSheet]]]]]
(if: (visited:"Central Clearing"))[(unless:(passage:)'s name is "submission" or "Entrance" or (visited: "Unfinished Business"))[<br>(button:)[[Return to Vivian->Entrance]]]]
(if: (visited: "Central Clearing"))[(unless: (passage:)'s name is "Central Clearing")[<br>(button:)[[Reorient yourself->Central Clearing]]]]
(if: (visited: "Unfinished Business"))[(unless:(passage:)'s name is "Entrance" or "submission2")[<br>(button:)[[Free them->submission2]]]]
(if: (visited: "Unfinished Business"))[(unless:(passage:)'s name is "submission2")[<br>(button:)[[Leave Cirque Deliria->Success]]]]
(if: (visited: "brief") and (visited: "Central Clearing") and $hints)[(unless: (passage:)'s name is "brief" or (visited: "Success"))[<br>(button:)[[Assignment Details->brief]]]]
|footerUpdate>[(if: $smStatement is true or $scStatement is true or $acStatement is true)[(unless: (passage:)'s name is "Files")[<br>(button:)[[Files->Files]]]]]
(if: $seenTrinketSheet and $hints)[<br>(link-rerun: "Trinket Sheet", (button:))[(display:"Trinket Sheet")]]
(if: (visited: "Entrance"))[<br>(link-rerun: "Save Game", (button:))[(display:"Save Game")]]
(if: (visited: "Entrance"))[<br>(link-rerun: "Settings", (button:))[(display: "Settings")]]
(if: (visited: "Entrance"))[<br>(link-rerun: "Restart Game", (button:))[(restart:)]]
]]]
}{(unless: (passage:)'s tags contains "noDissolve")[(enchant: ?Link, (transition-time: 3s))]}{|table>[
|col1>[$rm:]
|col2>[(dropdown: 2bind $rmGuilt, "undetermined", "guilty", "cleared")]
|col1>[$il:]
|col2>[(dropdown: 2bind $ilGuilt, "undetermined", "guilty", "cleared")]
|col1>[$ft:]
|col2>[(dropdown: 2bind $ftGuilt, "undetermined", "guilty", "cleared")]
|col1>[$ac:]
|col2>[(dropdown: 2bind $acGuilt, "undetermined", "guilty", "cleared")]
|col1>[$sh:]
|col2>[(dropdown: 2bind $shGuilt, "undetermined", "guilty", "cleared")]
|col1>[$lt:]
|col2>[(dropdown: 2bind $ltGuilt, "undetermined", "guilty", "cleared")]
]
---
|table>[
|col1>[$w1:]
|col2>[(dropdown: 2bind $w1Guilt, "undetermined", "guilty", "cleared")]
|col1>[$w2:]
|col2>[(dropdown: 2bind $w2Guilt, "undetermined", "guilty", "cleared")]
|col1>[$w3:]
|col2>[(dropdown: 2bind $w3Guilt, "undetermined", "guilty", "cleared")]
|col1>[$w4:]
|col2>[(dropdown: 2bind $w4Guilt, "undetermined", "guilty", "cleared")]
|col1>[$w5:]
|col2>[(dropdown: 2bind $w5Guilt, "undetermined", "guilty", "cleared")]
|col1>[$w6:]
|col2>[(dropdown: 2bind $w6Guilt, "undetermined", "guilty", "cleared")]
]
---
|table>[
|col1>[$l1:]
|col2>[(dropdown: 2bind $l1Guilt, "undetermined", "guilty", "cleared")]
|col1>[$l2:]
|col2>[(dropdown: 2bind $l2Guilt, "undetermined", "guilty", "cleared")]
|col1>[$l3:]
|col2>[(dropdown: 2bind $l3Guilt, "undetermined", "guilty", "cleared")]
|col1>[$l4:]
|col2>[(dropdown: 2bind $l4Guilt, "undetermined", "guilty", "cleared")]
|col1>[$l5:]
|col2>[(dropdown: 2bind $l5Guilt, "undetermined", "guilty", "cleared")]
|col1>[$l6:]
|col2>[(dropdown: 2bind $l6Guilt, "undetermined", "guilty", "cleared")]
]
}\
{
<!--DEFUNCT STYLING, center aligned
|==
==>
$rm:
$il:
$ft:
$ac:
$sh:
$lt:
==|
(dropdown: 2bind $rmGuilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $ilGuilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $ftGuilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $acGuilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $shGuilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $ltGuilt, "undetermined", "guilty", "cleared")
|==|
---
|==
==>
$w1:
$w2:
$w3:
$w4:
$w5:
$w6:
==|
(dropdown: 2bind $w1Guilt, "undetermined", "used", "cleared")
(dropdown: 2bind $w2Guilt, "undetermined", "used", "cleared")
(dropdown: 2bind $w3Guilt, "undetermined", "used", "cleared")
(dropdown: 2bind $w4Guilt, "undetermined", "used", "cleared")
(dropdown: 2bind $w5Guilt, "undetermined", "used", "cleared")
(dropdown: 2bind $w6Guilt, "undetermined", "used", "cleared")
|==|
---
|==
==>
$l1:
$l2:
$l3:
$l4:
$l5:
$l6:
==|
(dropdown: 2bind $l1Guilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $l2Guilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $l3Guilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $l4Guilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $l5Guilt, "undetermined", "guilty", "cleared")
(dropdown: 2bind $l6Guilt, "undetermined", "guilty", "cleared")
|==|--->}##Hauntless
---
|==
Verify your name for authorization purposes:
(input: bind $yourname, "XXXX==", "Mercury Jones")
(box: "X")+(background: #2f2738)[|extraOptions>[\
####Optional Settings |arOpen>[←]
(click: ?arOpen)[(replace:?arOpen)[|arClose>[↓]](box: "=XXXXXXXXXXXX=")[\
(checkbox: 2bind $check, " Notes Assist (recommended)")
(checkbox: 2bind $hints, " Extra hints")
(checkbox: 2bind $skipIntro, " Skip Intro")
(checkbox: 2bind $noGraphic, " Filtered Imagery") |graphicReader>[(please read)(click: "please read")[(replace: "please read")[I understand]
(text-size: 0.7)[Hauntless contains a nonzero amount of disturbing description and backstory that may make readers uncomfortable. Please check trigger warnings for this. Checking this setting **exclusively** filters out violent imagery as experienced in the "present" by you, the player, in one possible ending scenario.(click: "I understand")[(rerun: ?graphicReader)]]]]\
(click: ?arClose)[(rerun: ?extraOptions)]]]]]
==|
<div class="image_cover"><img src="images_jpg/coverCard.png" alt="High Top"></div>
|==|
---
[[I'm ready.->brief]]\
(if: (saved-games:) is not an empty)[==
--or--
(link-reveal: "Load a previous game")[:(display:"Load Game")]
(link-append: "Trigger Warnings")[:
murder, financial manipulation, cheating, threats of bodily harm, assault, hints at exploitation, suggestions of transphobia, blackmail.
A note on trigger warnings: none of the triggers indicated are enacted on the player with the exception of bodily harm, and there is a filter for this, specifically, in the options menu (see above). Trigger warnings are concerning the evidence and "character lore" uncovered about NPCs. ]Time to get cracking on those "wispies," or the other ghosts still lingering at Cirque Delira. You check your watch, and you still have a few hours before sunset, and the last bus.
(if: $bluntness is "Maybe a little")[It was best not to tell Vivian, since she felt guilty enough already, but it seems likely she did more than she thought in the time she lost to her rage at being murdered. In your professional experience, it's more than probable that Vivian was the source of Cirque Deliria's "fire issues" and a large percentage of the "unfortunate deaths."]\
(else:)[Vivian may not have been able to do anything about the deaths she caused, but you're certainly able to resolve the loose strings related to Cirque Deliria's "fire issues" and "unfortunate deaths."]
Missing memories indicates that she spent the time as a poltergeist, unable to form coherent thoughts or record experiences. Your time with Hauntless has allowed you to memorize the passage in your handbook about |pInfo>[poltergeists]:
(click:?pInfo)[
(box:"==XXXXXXXXXX==")+(border: "double")+(border-color: #741f1d)[A poltergeist can move wherever it wants, touching items and interacting with them, unhindered by doors or locks. Many still gravitate toward processes, possessions, and places (the ''Three P's'') they were fond of in life.]
In Vivian's case, this means her poltergeist was likely capable of performing any special skills related to her performance.
(box:"==XXXXXXXXXX==")+(border: "double")+(border-color: #741f1d)[One at full strength is easily capable of overpowering a human, and even manipulating other weapons or objects while fighting with or restraining them.]
[[Better hurry->Central Clearing]]. You're losing daylight and you have a bus to catch.](set: _showInfo to false)\
|homeOpt>[Head home.]\
(click:"Head home")[(hide:?homeOpt)(hide: ?UB)(set: _showInfo to true)\
(if: visits is 1)[You leave the circus, submitting your report about Vivian and the details of her murder. The property should be in adequate condition for clearing and development.]\
(else-if: $rmSolved and $ilSolved and $ftSolved and $acSolved and $shSolved and $ltSolved)[Everyone is free. You leave Cirque Deliria in peace, the grounds themselves ready to move on. Your report is lengthier than is strictly necessary, but the property is nonetheless in adequate condition for clearing and development.]\
(else:)[You feel like you've done enough. Vivian is free, resolving the main complaint. You leave the circus and submit your report on the bus ride home. The property should be in adequate condition for clearing and development.]
(link: "End game", (button: "=X="))[
<script>window.close()</script>]]\
(unless: (visited:"Unfinished Business"))[|UB>[
[[I have unfinished business->Unfinished Business]].]]
(event: when _showInfo is true)[==\
---
A note from the author.(click: "A note from the author")[
These characters aren't a monolith for any communities of which they are a part. Anyone individually can be problematic, that doesn't mean a community as a whole can be accused of the same. Literally no one at Cirque Deliria is a good person, that's just how it shook out.
(link: "Yeah, but—")[Nope! Vivian is not a general insight into the behavior of bisexual people or women. Roscoe, Winn, and Casper are not solely indicative of the behavior of trans people. Josephine is not the guide book for the behavior of sex workers, women, or lesbians! Better luck next time.]]
(box: "X")+(border: "double")+(border-color: #741f1d)[\
||=
Investigate me:\
=|||=
(link-rerun: "itch.io", (button: "=X"))[(open-url: "https://abbyblenk.itch.io/")]\
=|||=
(link-rerun: "bluesky", (button:)+(align: "=><="))[(open-url: "https://bsky.app/profile/abbyblenk.bsky.social")]\
=|||
(link-rerun: "website", (button:"X="))[(open-url: "https://www.abbyblenk.com")]\
|=|
]{(if: visits is 1)[\
<!--TICKET STUBS-->\
(set: $seeStubs to (macro:[(out:)[
You also notice faded ticket stubs, littering the dirt like confetti. Some have been scattered by wind, but most are cemented to the ground by some past rainstorm. You stoop to pick one up and find it to be still legible:\
(font: "Lekton")[
1 Ticket For Entry
CIRQUE DELIRIA
$date]\
(if: $hints)[
Looks like there were people in here, getting settled for the show.]]\
]))
]}\
<div class="header"><img src="images_jpg/HighTop.jpg" alt="High Top"></div>
###High Top
(set: $currentPerception to ($roll: $perceptionBonus)+(visits-1))\
(if: visits is 1)[\
Stepping inside, you meet a semicircle of bleacher seating, facing away from you. At the center of the space is a sort of stage space: once, it would have been reduced to dust and packed dirt, but now creeping sprouts of green spiderweb their way across the dry, cracked earth.
On either side of the ring, rickety scaffolding rises ten, twenty, thirty feet off the ground to narrow platforms. Torn patches from the roof allow sunlight to spill in, offering a poor imitation of what you imagine the space must have been like when properly lit.\
{(if: $location does not match $l1 and $seenStubs is false and $currentPerception is >=13)[(set: $seenStubs to true)($seeStubs:)
]}\
---
Several curtained exits line the walls of the tent. Behind you is the door you came in, leading back to the central clearing and the entrance. On the [[left->Chamber of Flame]] and [[right->Illusion Gallery]] are drooping canvas tunnels leading to other, smaller tents.\
(if: $currentPerception is >= 10)[(set: $backTopExit to true) At the far end of the tent, a well-concealed performers' entrance leads out [[behind the High Top->Sleeping Caravans]].]]\
\
(else:)[\
You re-enter the High Top. The space is as you remember it, cavernous in the absence of its customary crowds.\
(if: ($seenWhip is false) and (visits is >=2))[(set: $seenWhip to true)
($whipInfo:)]\
(else-if: $seenWhip is true)[
($whipSeen:)]{
}(if: not ($isGuilty: (passage:)'s name))[\
(if: $seenStubs is false and visits is >=3)[(set: $seenStubs to true)
($seeStubs:)]
(else-if: $seenStubs is true)[
You still have the ticket stub in your pocket from earlier. <br>(click: "ticket stub")[(font: "Lekton")[
1 Ticket For Entry
CIRQUE DELIRIA
$date]]]\
]{
}<!--IF HIGH TOP IS GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
(if: $seenVivianBones is false)[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
This time, you also notice a flash of white beneath the bleachers: bones. You hate this part, but it shows up often in your job. Squatting, you start to pull the pieces out from beneath the bleachers. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and (visited: "Illusion Gallery"))[
A single flash of light sparks in the corner of your eye as you turn your head. Something reflective is in the ring. You kneel, patting in the dirt and grass until you come up with a sliver of glass. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and (visited: "Fortune Stall"))[
You get distracted when, tucked up against the base of the scaffolding, one piece of fabric tugs at your intuition. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]\
<!--END GUILT-->\
---
Exits lead [[north->Chamber of Flame]](if: (visited: "Chamber of Flame"))[ to the Chamber of Flame], [[south->Illusion Gallery]](if: (visited: "Illusion Gallery"))[ to the Illusion Gallery], and [[west->Entrance]] back to the central clearing and the entrance.\
(if: $backTopExit is true)[ There’s also the performers' entrance leading [[east->Sleeping Caravans]].]\
(else:)[\
(if: $currentPerception is >= 10+(round: (visits/2)-0.1))[(set: $backTopExit to true) This time, you notice another flap at the far end of the tent: a well-concealed performers' entrance leads out [[behind the High Top->Sleeping Caravans]].]
]
]{(if: visits is 1)[\
<!--LITTLECAT FLAVOR-->
(set: $littleCatFlavor to (macro: [\
(if: not $seenLittleCatFlavor)[(set: $seenLittleCatFlavor to true)(out:)[\
Peeking through ruined strips of leather on one of the chests, you catch sight of a slip of paper. It's just a note:
(text-size: 0.7)[\
Hey O,
Hope you like the necklace. Looks can be deceiving, little cats are dangerous too.
- Ford]\
(if: $seenTrinketSheet)[
Olive kept the note Ford left when dropping off her necklace.]\
]]\
(else:)[(out:)[\
|showCat>[Ford's note] is still in the chest.
(click: ?showCat)[(text-size: 0.7)[\
Hey O,
Hope you like the necklace. Looks can be deceiving, little cats are dangerous too.
- Ford]\
(if: $seenTrinketSheet)[
Olive kept the note he left when dropping off her necklace.]]\
]]\
]))\
]}\
<div class="header"><img src="images_jpg/AnimalCages.jpg" alt="Animal Cages"></div>
###Animal Cages
(set: $currentPerception to ($roll: $perceptionBonus))\
(if: visits is 1)[Tucked behind the Menagerie and (if: (visited: "Snake House"))[the Snake House](else:)[another tent] is a sprawling, rectangular tent. It can only really be considered a tent in name: the canvas is shredded— where it still exists— giving the effect of maypole ribbons dangling loose around the supports. The roof is still partially intact, keeping off the bulk of past rains, but the entire back wall of the tent is missing. Even terming the space as inside feels too generous.
Wheeled cages occupy the large majority of the tent(if: (visited: "The Menagerie"))[, far smaller than the enclosures in the Menagerie, but still spacious.](else:)[, more spacious than you'd expect for a traveling troupe.] The cages are still functional, wood- and metal-barred doors swing loose on creaky hinges. There are a few trunks pushed up against the perimeter of the tent and the sides of cages, splitting along their leather tops. Presumably, they held supplies for caring for the animals. One trunk is shoved up to the edge of a cage, forming a sort of stepstool.\
(if: $currentPerception is >=17 or $seenLittleCatFlavor is true)[
($littleCatFlavor:)]
As you venture farther into the collection of cages, they come alive with motion. The doors swing on their hinges in an absent breeze, the bars rattle in their fittings, the wheels shake on their axles. Everything moves in an accelerating rhythm, as if it's trying to shoo you away.
Looking at the cages, you're reminded of |scStatementReveal>[something from the snake charmer's statement] in your assignment file.\
(click:?scStatementReveal)[(set: $scStatement to true)(rerun: ?footerUpdate)]]\
<!--OTHER VISITS-->\
(else:)[\
(if: $ltSolved is false)[The cavernous space that houses the animal cages is quiet until you approach, when it comes alive with the clattering of doors and bars and wheels. The trunks, at least, remain quiet.]\
(else:)[The cavernous space that houses the animal cages is eerily silent without Olive rattling the cages to greet you.]\
(if: $currentPerception is >=17 or $seenLittleCatFlavor is true)[
($littleCatFlavor:)]\
]\
<!--IF ANIMAL CAGES ARE GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
(if: $seenVivianBones is false)[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
In a wheelbarrow to the left of the largest cages, something white flashes in the sun: bones. You hate this part, but it shows up often in your job. You start to pull the pieces out from amidst the leaves and rocks collected in the wheelbarrow. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and (visited: "Illusion Gallery"))[
A single flash of light sparks in the corner of one of the cages as you turn your head. There's something reflective caught in the old straw. You kneel in the cage, patting in the mess until you come up with a sliver of glass. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and (visited: "Fortune Stall"))[
You get distracted when, wedged beneath the corner of one of the trunks, a piece of fabric tugs at your intuition. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]\
<!--END GUILT-->\
---
The absent wall of the tent opens out to the rest of the back yard. Nearest you is (if: (visited: "Mess Tent"))[[[the mess tent->Mess Tent]]](else:)[what seems to be some sort of [[mess tent->Mess Tent]]].{(if: visits is 1)[\
<!--AGENT RELEASES-->
(set: $releaseRM to (macro: [\
(replace: ?submissions)[\
(if: $rmGuess matches $rmDeath)[(set: $rmSolved to true)\
You visit Casper in their caravan-office. For once, you're greeted by barely even a ruffle from the paper storm.
Kneeling beside the bones, you explain:
→|selfStyling>["Hello, Casper.
(if: $agent matches $rm)[After you killed Vivian, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist. In her anger at being dead, she killed you and several other troupers. You died when her ghost attacked you with a sandbag, crushing your skull. Know this and be free of it."]
The records lift, a static paper asteroid field. You hold your breath, but there's no reason to worry. Dumping the papers unceremoniously, Casper's spirit slides out through the door.
Casper is gone.]\
(else:)[($releaseFail: $rm, $rmGuess)]\
(out:)[]]]))
(set: $releaseIL to (macro: [\
(replace: ?submissions)[\
(if: $ilGuess matches $ilDeath)[(set: $ilSolved to true)\
You debate talking to Roscoe in the medical tent, but eventually decide that he felt more present in the Illusion Gallery. It's rare that you speak face to face with a non-corporeal spirit, but you address Roscoe's photo directly:
→|selfStyling>["Hi, Roscoe.
(if: $agent matches $il)[After you killed Vivian, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist. Angry about her death, she came after you and several other troupers. Her ghost attacked you in the medical tent with a sword. She forced it down your throat, ripping through your esophagus and other organs. You died on the doctor's cot. Know this and be free of it."]
The photo's eyes flick back and forth for a minute, brow furrowing. It takes him a moment to understand— as distanced from human language as a poltergeist is— but the frame eventually clouds over. When it clears, both the image and the spirit are absent.
Roscoe is gone.]\
(else:)[($releaseFail: $il, $ilGuess)]\
(out:)[]]]))
(set: $releaseFT to (macro: [\
(replace: ?submissions)[\
(if: $ftGuess matches $ftDeath)[(set: $ftSolved to true)\
Crouching among the ashes of Winn's caravan, you speak to their ghost:
→|selfStyling>["Winn.
(if: $agent matches $ft)[After you killed Vivian under the influence of a possessing spirit, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist and, consumed with anger, came after you and several other troupers. You died when her ghost trapped you in your caravan and sparked the incense cones within to life. I believe she also formed a perimeter of the caravan, ensuring it would burn in its entirety. Know this and be free of it."]
(opacity: 0.5)["Is she free, too?"] Winn's spirit clings to the curve of your face and the strap of your backpack, scrambling for purchase to ask their question.
→|selfstyling>["She is."]
(opacity: 0.5)["Thank you, $yourname."] Gentle as a sigh, their spirit slips away.
Winn is gone.]\
(else:)[($releaseFail: $ft, $ftGuess)]\
(out:)[]]]))
(set: $releaseAC to (macro: [\
(replace: ?submissions)[\
(if: $acGuess matches $acDeath)[(set: $acSolved to true)\
You sit cross-legged on the rug in the Snake House to speak with Ford:
→|selfStyling>["Hey, Ford.
(if: $agent matches $ac)[After you killed Vivian, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist. She leveraged her anger to kill you and several other troupers. You died when her ghost attacked you with a chemical-soaked rags, restraining you until you asphyxiated on them. Know this and be free of it."]
The room echoes with a distant humming, and gentle fingers run a few more strokes through the dirt on their way to the exit. He leaves through the tent flaps, disturbing them with his invisible approximation of a body.
Ford is gone.]\
(else:)[($releaseFail: $ac, $acGuess)]\
(out:)[]]]))
(set: $releaseSH to (macro: [\
(replace: ?submissions)[\
(if: $shGuess matches $shDeath)[(set: $shSolved to true)\
You fight your way back into the Gun Stage to talk to Josephine. It could have been done from outside, but it feels like the coward's way. Gritting your teeth, you speak to her:
→|selfstyling>["Josephine, I'm going to take your body down now. Please stay calm, I will treat it with respect."]
She actually listens, though you feel her pressing against your shoulder as you heave at the sword pinning her corpse to the target. Eventually, it comes free and you're able to lay her out on the ground beside the stage.
→|selfStyling>["Thank you, Josephine.
(if: $agent matches $sh)[After you killed Vivian, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist and in her anger she hunted you down, as well as several other troupers. You died when her ghost skewered you to your target with one of her swords. Know this and be free of it."]
Her spirit is swirling up through a slit in the roof almost before you finish speaking, pulling a pillar of dust in her wake.
Josephine is gone.]\
(else:)[($releaseFail: $sh, $shGuess)]\
(out:)[]]]))
(set: $releaseLT to (macro: [\
(replace: ?submissions)[\
(if: $ltGuess matches $ltDeath)[(set: $ltSolved to true)\
You set out for Olive's bones in the mess tent, but find yourself stalled out in The Menagerie. Olive wants to be spoken to here, and you have no intention of arguing with her.
→|selfStyling>["Hello, Olive.
(if: $agent matches $lt)[After you killed Vivian, ](else:)[After (trimmed: (p:"(", string, ")"), $agent) killed Vivian, ]she became a poltergeist. She was upset, to say the least, and used her anger to attack you and several other troupers. You died when she breathed fire over you in the mess tent, burning you alive much faster than it would ordinarily take. Know this and be free of it."]
You can't tell when Olive leaves, but after five minutes of standing beneath the leaning roof of The Menagerie, you're certain she's moved on.
Olive is gone.]\
(else:)[($releaseFail: $lt, $ltGuess)]\
(out:)[]]]))\
]}\
|submissions>[{
|table4>[
|column1>[$rm:]
|column2>[(if: $rmSolved is false)[(dropdown: 2bind $rmGuess, ...$otherDeaths)](else:)[$udStyling[$rmDeath]]]
|column3>[(if: $rmSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $rmSolved is false)[(link: "Submit", (button:))[\
($releaseRM:)]]\
(else:)[$udStyling[Solved]]]
|column1>[$il:]
|column2>[(if: $ilSolved is false)[(dropdown: 2bind $ilGuess, ...$otherDeaths)](else:)[$udStyling[$ilDeath]]]
|column3>[(if: $ilSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $ilSolved is false)[(link: "Submit", (button:))[\
($releaseIL:)]]\
(else:)[$udStyling[Solved]]]
|column1>[$ft:]
|column2>[(if: $ftSolved is false)[(dropdown: 2bind $ftGuess, ...$otherDeaths)](else:)[$udStyling[$ftDeath]]]
|column3>[(if: $ftSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $ftSolved is false)[(link: "Submit", (button:))[\
($releaseFT:)]]\
(else:)[$udStyling[Solved]]]
|column1>[$ac:]
|column2>[(if: $acSolved is false)[(dropdown: 2bind $acGuess, ...$otherDeaths)](else:)[$udStyling[$acDeath]]]
|column3>[(if: $acSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $acSolved is false)[(link: "Submit", (button:))[\
($releaseAC:)]]\
(else:)[$udStyling[Solved]]]
|column1>[$sh:]
|column2>[(if: $shSolved is false)[(dropdown: 2bind $shGuess, ...$otherDeaths)](else:)[$udStyling[$shDeath]]]
|column3>[(if: $shSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $shSolved is false)[(link: "Submit", (button:))[\
($releaseSH:)]]\
(else:)[$udStyling[Solved]]]
|column1>[$lt:]
|column2>[(if: $ltSolved is false)[(dropdown: 2bind $ltGuess, ...$otherDeaths)](else:)[$udStyling[$ltDeath]]]
|column3>[(if: $ltSolved is false)[by (dropdown: bind _viv, "Vivian","Vivian","Vivian","Vivian","Vivian","Vivian")](else:)[$udStyling[by Vivian]]]
|column4>[(if: $ltSolved is false)[(link: "Submit", (button:))[\
($releaseLT:)]]\
(else:)[$udStyling[Solved]]]
]
}]\
\
(event: when $rmSolved and $ilSolved and $ftSolved and $acSolved and $shSolved and $ltSolved)[\
[[It's done->Success]].]{(set: _saved to false)
(set: _confirm to false)
(set: $saveName to (prompt:[Please name your save file:
], $saveName, "Keep Default", "Confirm Name"))\
<!--this is so ugly but the parser was NOT allowing my else statements or my else-if statements so we had to brute "for"ce our way through-->
}{\
(if: $saveName matches "")[
(dialog:[You cannot name a save file nothing.], "Ok")]
(else-if: (saved-games:) contains $saveName)[
(set: _confirm to (confirm:"Do you want to overwrite "+$saveName+"?", "Cancel", "Confirm"))
(if: _confirm is false)[(dialog:[Game could not be saved.], "Ok")]]
(if: (saved-games:)does not contain $saveName or _confirm is true)[
(set: _saved to (save-game: $saveName))
(if: _saved is true)[
(dialog:[Game saved!], "Ok")
]
(if: _saved is false)[
(dialog:[Game could not be saved.], "Ok")
]
]}(if: (saved-games:) is an empty)[]\
(else-if: (dm-names: (saved-games:))'s length is 1)[\
(set: _load to (dm-names: (saved-games:))'s 1st)
(link: "Load "+_load, (button: "X=="))[(load-game: _load)]]\
(else:)[==(set: _load to "")
(dropdown: bind _load, ...(dm-names: (saved-games:)))
{(if: (saved-games: ) contains _load)[
(link: "Load game", (button: "X=="))[(load-game:_load)]
]}{(if: visits is 1)[\
<!--FOS CARDS-->
(set: $fosCards to (macro:[\
(unless: ($agent does not match $ft) and ($location matches $l5))[(out:)[]]\
(out:)[\
(if: $seenFOSCards is false)[(set: $seenFOSCards to true)
Scattered on the floor in the center of the tent is a deck of tarot cards, water-stained and ridden with holes courtesy of passing beetles. The main deck has become a jumbled pile, with cards bent and sticking together, but the half-finished reading itself(if: $hints)[, a simple past-present-future,] is intact:
---
|=
Five of Wands<!--argument, discord, people unable to reach a consensus-->
=|=
=><=
Ten of Swords<!--betrayal, a harsh ending-->
=|
==>
Death, Reversed<!--limbo + resisting change-->
|==|
---
]\
(else:)[
The card reading(if: $hints)[, a simple past-present-future,] has changed since your first visit to the tent.
---
|=
Ace of Swords<!--beginning a new endeavor, expanding your knowledge-->
=||=
=><=
Seven of Cups, reversed<!--carefully considering your options, making a choice with insight rather than impulse-->
=|
==>
The Fool<!--freedom, a new beginning-->\
|==|
---
]]\
]))\
]}\
###Feats of Strength
<!--FIRST VISIT-->\
(if: visits is 1)[\
Despite its position next to the Contortionist's Tent, Feats of Strength is nearly three times the size, horizontally.
Holes in the battered canvas ceiling leave it open to the sky, and the low roof magnifies the opening, almost as though you could step out into the air above. The deep blue lining fabric has long since been abandoned to the effects of gravity, creating a velvet ring around the perimeter of the space for the silver stripes to emerge from. On the whole, it appears as though the tent is attempting to ascend to the heavens, only held down by the circle of velvet and a few well-driven poles.
But, the tent is… empty? A few freestanding benches wobble at the edges of the room, but— similar to the High Top— it's mostly just a large, open space.
($fosCards:)\
(if: $seenFOSCards)[This reminds you of |smStatementReveal>[something from the strongman's statement] in your assignment file.]\
(else:)[You kick through the velvet lining for any possible evidence, but are left wanting. At least there was a |smStatementReveal>[statement from the strongman] in your assignment file.]
(click:?smStatementReveal)[(if: $smStatement is false)[(set: $smStatement to true)](rerun: ?footerUpdate)]\
]\
<!--OTHER VISITS-->\
(else:)[\
The ethereality of Feats of Strength is in no way diminished by your previous visit. You marvel at the way its disrepair has made it far more elegant than it could ever have been in its heyday.\
($fosCards:)
There's still little of note in the tent, but there was an interview with the strongman included in your file.]\
---
Feats of Strength faces directly into the [[Contortionist's Tent->Contortionist Tent]] and the [[Chamber of Flame]].{(if: visits is 1)[\
(set: $acBody to (macro:[\
(if: $acSolved)[(out:)[
Scratches in the dust are the only sign of Ford's spirit.]]\
(else:)[(out:)[\
(if: $seenACBody)[
Between two of the glass tanks, you found |acCorpse>[a body].]\
(else:)[
A |acCorpse>[skeletal body] rests between two of the glass tanks.]\
(click: ?acCorpse)[
The arc of the corpse curls neatly around an open first aid kit. Gauze and adhesive tape clings to the sides of the abutting tanks, displaced from its casing by wind and insects. Coarse strips of fabric loop three times around the skull, neatly covering the nose and securing the jaw. They're unlike the bandages in the first aid kit(if: (visited: "Medical Tent"))[, or those you saw in the medical tent], and have stiffened with some sort of long-dry liquid. Nothing that left a stain, though.(if: $hints and (visited: "Chamber of Flame"))[ They almost remind you of the linen rags in Vivian's tent.]
(if: $agent matches $ac)[One hand is wedged beneath a layer of the fabric around the head. The fingerbones of the other are curled around a small pot of congealed antiseptic ointment.
(if: $seenACBody)[The dusty ground swirls during your examination, hestitant shapes appearing as indents traced with an unseen finger. It's almost words but not quite, as if the spirit is trying to communicate but has lost their hold on language. They materialize faster and faster— but no clearer— until something sweeps across the surface in a fit of frustration.]\
(else:)[The rubbed-out leftovers of shapes in the dust shiver with unresolved energy.]]\
(else:)[The coarse cloths have kept the skull protected and well-preserved. Despite that, thin fracture lines shoot through the left cheekbone. Not so broken as to split into pieces, the crevice is still deep enough to stand out with years of collected grime. You'd bet a significant amount of money that it happened prior to death.
Whispery fingers drag through the dust around you, leaving malformed shapes almost adjacent to letters.]]\
(if: $seenACBody is false)[(set: $seenACBody to true)]\
]]]))\
]}\
###Snake House
<!--FIRST VISIT-->\
(if: visits is 1)[\
A circle of glass tanks lines the perimeter of the Snake House, many of them cracked and empty. A few have the misfortune of being filled with rainwater, clouded with age and algae. Aside from a few damp spots from the trickling rainwater deposits, the floor of the Snake House is packed dirt, blanketed in a thick layer of dust.
In the center of the room, three concentric semicircles of decaying chairs look over a round, threadbare rug. Four clay pots in various states of intactness create a square shape on the rug.]\
<!--OTHER VISITS-->\
(else:)[\
On reentry to the Snake House, your feet kick up clouds from the thick layer of dust. Of all the tents, this one is the closest to "show ready," with its semicircles of chairs still intact and in position. Even so, the damp patches in the dirt, threadbare rug, and broken clay pots ruin any dramatic effect it may have once had. A council of glass tanks follows the shape of the tent, peering inward to the performance space.
($venomSpot:)]\
($acBody:)\
---
Tucked behind the largest glass tank (labeled "$signSubtitle[Giant Constrictor Snake]") is an exit to the tent, leading [[backstage->Animal Cages]]. The main entrance leads back to [[The Menagerie]].{(if: visits is 1)[\
(set: $incidentLog to (macro: str-type _animal, [(out:)[\
(set: _logStyle to (font:"Lekton")+(box: "=XXXXXXXXXXX=")+(text-size: 0.7))\
(if: $seenIncidentLog)[A clipboard with the Menagerie's |showLog>[incident log] swings from a nail in the post closest to the back entrance.]\
(else:)[(set: $seenIncidentLog to true)You traverse the main walkway with cautious steps, ending up beneath a pair of posts at the rear. A clipboard with |showLog>[some sort of log] hangs from one of them, secured by a nail.]\
(click: ?showLog)[ Most of the log has been cemented together by moisture, only the top page is intact. Even so, the ink has bled, making it hard to read.
_logStyle[''MENAGERIE INCIDENT LOG''
---
(if: _animal is "lions")[\
Date: $date
''Incident'':
Lalla and Sultana playing aggressively. Concerned about Lalla's hips, needed to separate them. Aggressive play from lions also puts the horses on edge.
|||=
Solution
---
Moved Lalla to front left enclosure in Menagerie and Sultana to the other corner. They'll stay there until opening show and return afterward. Visitors will be disappointed they are not together, but it's necessary.
=|=
Animals
---
Lions, horses
=|
Staff
---
Olive
|==|
]\
(else:)[\
Date: (print: (trimmed: digit, $sansYear)) (print: (num: (trimmed: "March", $sansYear))-8), $year
''Incident'':
Port Marlroe had a bear cub come wandering out of the woods. Shot by a local, nonlethally, and left to die in the road.
|||=
Solution
---
Picked up and brought back to CD for treatment. Will release into a more appropriate wooded area when recovered. In the meantime, feed unseasoned vegetables and meat, supplement with insects and grasses where applicable.
=|=
Animals
---
Bear cub, temporary
=|
Staff
---
Olive
|==|
]\
]]\
]]))\
(set: $oliveManifesto to (macro:[(out:)[\
(if: $seenManifesto)[Beneath a rock in one of the enclosures, you found a slim metal box containing what you can only describe as |showManifesto>[a manifesto].]\
(else:)[With the chaos settled, you look at the room again, more skeptical than before. One of the large rocks in the front left enclosure sits high on the ground, puzzlingly so. Wiggling between a few remaining wires on the fence, you're able to study it from a closer vantage point.
Rain has caused a significant amount of the dirt around the rock to erode, leaving it stranded on top of a once-hidden |showManifesto>[slim metal box]. You pry it out from beneath the rock and fumble open the top.]\
(click: ?showManifesto)[|hideManifesto>[
Cramped handwriting spills across the front and back of a handful of papers.\
==|||==
<==>
$notebookStyling[
Casper is really pushing their luck. For the third time this week, they asked me about my thoughts on a fire show with the animals. I don't like fire, I don't want to be near it and I don't want any of my animals near it more than can be helped. And, more importantly, Sultana and Lalla don't like fire, it's in their nature. There's a certain amount that they're used to from the main show, but jumping through flaming hoops? Absolutely not. I can't even imagine what absurdities the two of them would ask for next if I indulged that request.
Besides, what happens when they're in a show with Vivian? I show off the horses? Not without the acrobats, doing their show. I could show the dogs, but that doesn't pull half the crowds as the lions. It's like Casper is trying to force me out of the animal show. What then? I leave //my// animals with people I don't trust and find a new job? I'm forced into some sort of perverse dwarf show? I've said it before and I'll say it again: I do not like to be looked at. I tolerate it, for the sake of showing the animals in a way that makes them feel safe, but I am not and will never be the main attraction of any sort of side show. Casper and I are going to have words if they suggest it one more time.
I used to trust Casper, but I don't anymore. They've been dishonest about their intentions with me, my animals, and my show. They pay well, but even that's been tighter these past few months. I might even consider leaving if not for Ford, $sm, and $sc (but there's a good chance she'd come with me, if I asked.) I swear, those three are the only people around with a spark of sense. Speaking of trust, I certainly don't trust Vivian. She's nosy. She's sparkly. She's fake. She can't leave well enough alone. I don't understand her and I don't want to, it's not like she makes an effort to understand me. I will never understand what good Josephine sees in her. There's no world in which I'd trust her to even do me a favor, let alone to come within ten feet of Sultana and Lalla.(if: $agent matches $lt)[ And, I swear, if she tests me one more time, I don't know what I'll do.]]
|==|
The writing goes on for four more pages, detailing Olive's other issues with Cirque Deliria alongside her distaste for subpar meat vendors, most customers, taxes, and men— among other things. You skim it, but you're pretty sure you get the idea.
(if: $seenManifesto)[(link: "Put it away")[(hide:?hideManifesto)]]\
(else:)[(set: $seenManifesto to true)The whole thing fits neatly in your bag, once you seal the document back in its box.]]]\
]]))\
]}\
###The Menagerie
(set: _showMore to true)\
<!--FIRST VISIT-->\
(if: visits is 1)[(set: _showMore to false)\
|entrance>[By far one of the largest tents, The Menagerie is nearly wilting. There's no sign of a lining in here (probably wise) and the canvas walls are little more than ribbons suggesting a division between inside and out. Several of the supporting poles have buckled, leaving the roof to slump precariously across one half of the tent. Most notably, the ground in the Menagerie has been artificially stratified, creating the illusion of a craggy landscape. You can only imagine the effort required.
A raised walkway runs from one end of The Menagerie to the other, breaking the space in half. On either side, the space is divided further by narrower strips of planks and snapped wire fences that stretch to the ceiling. Each of the six enclosures has been furnished with a pair of troughs, a few large rocks, and a couple of toys. The nature of the toys differs between the cages: a few hold leather fist-sized balls and lengths of knotted rope, another one features a single large ball and a pair of surprisingly whole salt licks, and the rest are strewn with stretches of rope as thick as a human arm and cracked bones— for once, not your problem. They clearly belong to animals. A clumsily-wrought fabric bird hangs from a fishing rod into one of the cages, positioned so that customers could wiggle the "bird" at the animals inside.
You get about thirty seconds to scrutinize the tent, uninterrupted, before it stirs to life. First, the troughs, shuddering against each other. Then, the broken fence wires start to flick, batting at you with metal tails when you get too close. The supporting poles strain against their moorings toward you, creaking like an old door.
You take a step backward, then another, before one of the wires catches you across your wrist, leaving a stinging welt in its wake. (if: not (visited: "Gun Stage"))[Vivian's assessment that the property only held "wispies" seems to be an understatement. This spirit, some variety of sentiment-bound poltergeist, is present enough to be angry at your approach. It's easily |unwelcome>[dealt with], though and the posts and wires start to slacken when you scatter (if: $seenILBody)[another ]one of your salt packets. (if: $hints)[ In this condition, it's still likely to dissipate when they clear the property. Even so, it's an inconvenience and could make removing the structures difficult. You may have to circle back to this one.]](else:)[Like at the Gun Stage, this spirit clearly doesn't welcome you, but isn't strong enough to do more than scare you. It's easily |unwelcome>[nullified], and the posts and wires start to slacken when you scatter (if: $seenILBody)[another ]one of your salt packets.]\
(click: ?unwelcome)[(hide:?entrance)(set: _showMore to true)]]]\
<!--OTHER VISITS-->\
(else:)[(set: _showMore to true)\
The wires fences in The Menagerie start to snap back and forth when you cross the threshold, but it takes little more than the threat of a salt packet for them to settle out again. The six enclosures do little to live up to their names with the external walls sliced to ribbons and the interior fencing snapped and broken in most places. Several of the supporting posts have buckled, throwing the roof into a precarious list.
(if: $location matches $l3 and $method does not match $w3)[($incidentLog: "lions")]\
(else-if: $agent does not match $lt)[($incidentLog: "bear cub")]
]\
(event: when _showMore is false)[(hide: ?theRest)(event: when _showMore is true)[(show: ?theRest)]]|theRest>[($oliveManifesto:)\
---
At the right edge of the tent, above an arrow directing visitors outside, a handwritten sign reads "[[Snake House]]." At the rear, closed tent flaps lead [[backstage->Animal Cages]].]{(if: visits is 1)[\
(set: $ilBody to (macro:[\
(if: $ilSolved)[(out:)[\
For once, Roscoe's body seems to be at peace, no longer arching in some long-ended pain.\
]]\
(else:)[(if: $seenILBody)[(out:)[\
|ilCorpse>[The corpse] on the cot makes no effort to evade you this time.\
(click: ?ilCorpse)[
Stains of old blood spill across the bedding and the strip of decaying bandages around the skeleton's chest. A strange, wide-hilted sword runs parallel to the spine: from just above the jawbone to the bottom of the ribcage. The carved dove trinket stands guard from where you left it, near the pillow.\
(if: $hints)[The corpse is missing finger bones, but you'd be hard pressed to tell if that happened before or after it died.\
]]\
]]\
(else:)[(out:)[\
There's |ilCorpse>[a corpse] on the cot closest to the door. It's hard to imagine how you missed it earlier but, even now, your eyes swim and cloud when you move toward it.<!--EVEN IN DEATH ROSCOE IS UNCOMFY BEING LOOKED AT WAH--> A wave of nausea washes over you, wiping the cot from your vision in its entirety. Dizziness mounts, setting the tent swaying. Deploying(if: (visited: "The Menagerie"))[ another] one of the salt packets from your pocket around your feet, the sensation recedes.\
(click: ?ilCorpse)[(set: $seenILBody to true)
The body is laid out, still a patient, even in death. Long-rusted stains spill across the linens of the cot and the decomposing bandages around the corpse's chest. What strikes you as most unusual is the long strip of metal running parallel to the spine. Closer examination reveals it to be a sword, the wide hilt initially concealed by the angle where it rested under the jawbone. The point strikes just below the bottom of the ribcage.
When you step back from the cot, you catch a firm, slippery lump beneath your boot: A carved dove, strung on a long cord, presumably slipped from the bed in the violence of this death.\
]]]\
]]))\
<!--DOC BOOK-->
(set: $docBook to (macro:[(out:)[\
(if: $seenDocBook)[\
The doctor's old logbooks stare at you from a shelf. The |cueDBook>[most recent record] sits open where you left it, on the sideboard.]\
(else:)[\
A lineup of notebooks stand at attention on a shelf above the doctor's cot. The oldest ones (if: $seenWinnJournal)[predate even Winn's time at Cirque Deliria](else:)[predate the incident by almost twenty years], logging injuries and orders for performers whose names you don't recognize. The |cueDBook>[most recent] is open on the sideboard.]
(click: ?cueDBook)[
|docBook>[Only a few entries pique your interest.
==|===
$notebookStyling[|db1>[Cirque Deliria welcomes a new performer under unusal circumstances. Roscoe impressed Casper well enough in his demonstration, but collapsed immediately after he was hired on. I initially assumed some variety of dehyration, but my examination was… enlightening.
Roscoe displays a large array of injuries, many of which have been ill-treated:
* Recent facial laceration. Healing as expected with no signs of infection.
* Fractured wrist, signs of malunion and incorrect rotation. Not enough to merit rebreaking his arm, but enough that I worry for future complications.
* Missing little finger on right hand. Open wound has healed over nicely, but I'm concerned nonetheless.
* Extensive bruising across entire body.
* Presumed broken rib.
It's likely he exacerbated the problem by limiting his own breathing with certain dressing choices. Upon awakening, he displayed deep distress at the thought of having been examined, but calmed when I reassured him of my discretion.]]
|==|
|dbFlip>[Flip through]
|seenBook>[(if: $seenDocBook)[(link: "Finish reading")[(hide: ?docBook)]]]\
(click: ?dbFlip)[==(replace: ?db1)[\
|db2>[Stiches for Ford. He claims he had a shaving accident, but the state of his hair (or rather, the absence of much of it) indicates it's likely something of that nature. That boy needs to be more careful.]]\
(click: ?dbFlip)[==(replace: ?db1)[\
|db3>[Roscoe returned. His ribs seem far better, bruising has largely faded, but the wrist continues to vex both of us.]]\
(if: $agent matches $ft)[(click: ?dbFlip)[==(replace: ?db1)[\
|dbWinn>[Casper is behaving the fool, and Winn has paid the price. Some sort of new seancè show gone awry during rehearsals when Vivian went to peek.
Luckily it's only Winn affected, but I have no knowledge of this type of ailment. Bodily, there is nothing wrong with them. The closest condition I can compare it to is some sort of psychosis, but even that assessment seems innacurate. All I can suggest is rest.(if: $location does not match $l5)[ Casper says they'll send Cook to keep an eye on the Fortune Stall tonight so that no one breaks in. That seemed to put Winn at ease, but only marginally. I wish I could stay with them tonight, but there are always last minute injuries and strains. The most I can do is get them tucked up in bed now.]]]]\
(click: ?dbFlip)[==(replace: ?db1)[\
|db4>[(if: $agent matches $il)[\
(if: $method matches $w3)[\
Roscoe arrived with rope burns up both forearms. (if: $hints)[Similar to previous treatments for Olive from lion leashes.]]\
(else-if: $method matches $w1)[Roscoe rebroke his wrist. I don't want to know. I set it, and he intends to perform tonight, anyway.]\
(else:)[Roscoe arrived with new injuries. A broad swath of scratches and fresh bruising. I don't want to know.]]\
(else:)[The complications as a result of Roscoe's injuries are ongoing. He's experiencing severe pain from the old break on his right arm. I'll need to continue bracing his wrist before opening each night for the forseeable future.]\
(if: $seenDocBook is false)[(set: $seenDocBook to true)(rerun:?seenBook)]]]\
(click: ?dbFlip)[(rerun: ?docBook)]
]]\
]]))\
]}\
###Medical Tent
<!--FIRST VISIT-->\
(if: visits is 1)[\
Warmth radiates through the medical tent, making you sleepy as soon as you step inside. The heat is in no way supernatural, but simply the effect of hours of afternoon sun filtering through thinning canvas.
Two patient cots have deteriorated against the right wall. Wood and canvas shelves hold an array of tools, tinctures, and pill bottles on the left. A sagging curtain does little to divide the space, offering the suggestion of privacy to a third, sturdier cot that must have belonged to the doctor.]\
<!--OTHER VISITS-->\
(else:)[\
The sweltering medical tent welcomes you back. Familiar wood and canvas shelves hold the bulk of the doctor's equipment, but the majority of the space is occupied by two disintegrating patient cots.
($ilBody:)]
($docBook:)
---
The [[sleeping caravans->Sleeping Caravans]](if: (visited: "Casper Office"))[, including [[Casper's Office->Casper Office]]] sprawl across the field north of the Medical Tent. (if: (visited: "Mess Tent"))[The [[mess tent->Mess Tent]]](else:)[[[Another tent->Mess Tent]]] sits farther south.(text-size: 0.66)[\
<!--FOR THE SAKE OF THIS PAGE, SET STATEMENTS TO TRUE WHEN THEY ARE DISCOVERED, NOT WHEN THEY ARE READ. PEOPLE MAY DISCOVER THEM AND THEN LEAVE WITHOUT READING THEM. THAT IS FINE. THEY SHOULD STILL BE ACCESSIBLE FROM HERE-->\
###Cirque Deliria File
####Note: The cook and doctor refused allow their interviews to be shared with Hauntless by law enforcement
---
(if: $smStatement is true)[''Strongman's Statement'' -- |smClose>[(link: "open")[|smCloser>[close]
(rerun: ?scClose)(rerun: ?acClose)
==|||||=
[<!--this statement is a spaghetti mess. dreadful. at least it seems to work-->\
|smStatement>[\
''Q'': Would you state your name and responsibilities at Cirque Deliria for the record?
''$sm'': I'm $sm, I'm the strongman, do shows lifting heavy things and whatnot.
''Q'': Did you work in conjunction with any other performers to perform your show?
''$sm'': Not really. If they have down time, they might come watch, but usually I'm the show.
''Q'': Okay, $sm, would you be able to talk about what happened on $sansYear?\
(if: (visited: "Fortune Stall"))[
''$sm'': (if: $agent matches $ft)[I was s'posed to have a card reading from Winn, but they were laid up with something or another after the test run of their new show. Didn't even tell me themself that they couldn't do it. Casper had to tell me. But I guess if it's bad enough they were gonna keep the stall shut down tonight, I'm prob'ly being too hard on them not telling me. Do you know if they're feeling alright now, though?]\
(else:)[I was doing a card reading with Winn that night in (if: $location matches $l5)[my show tent](else:)[the Fortune Stall]. Or at least, we were gettin' ready to do one.]
''Q'': What was this card reading for?
''$sm'': Oh. There was, uh, there was a real pretty fella I was hoping to impress an' I wanted Winn to tell me if I had a chance or if I shouldn't be gettin my hopes up.
''Q'': Was this "fella" a member of the circus, or was it an audience member?
''$sm'': I don't see how that's important.
''Q'': Please just answer the question.
''$sm'': Audience. He'd been back to my show every day for a week, wasn't sure if I was imaginin' it.
''Q'': Thank you. (if: $agent does not match $ft)[Did you receive the card reading from Winn?
''$sm'': Why're you being so nosy about this reading?
''Q'': Please, just—
''$sm'': Yeah, fine. Got halfway through. Winn started tellin' me about it, then decided something wasn't workin' and they wanted a different deck'a cards. Back at their caravan or something, so I waited for them. Weren't gone more'n two minutes when people started screaming and I started smellin' smoke.]\
(else-if: (visited: "Feats of Strength"))[Anything else happen that night?]\
]\
(if: (visited: "Feats of Strength"))[(if: (visited: "Fortune Stall") and $agent does not match $ft)[
''Q'': Did anything else happen that night?](if: $agent matches $lt)[
''$sm'': Well, Olive showed up lookin for me before the opening show.(if: (visited: "Fortune Stall") and $agent does not match $ft)[<!--really does not necessitate part of these if statements bc olive and winn can't both be guilty but… whatever--> I was with Winn, and that was when they left to go get the cards. Said it would give us a chance to talk in private.] She was a mess, real panicky about something. She makes a lotta quick decisions, does a lotta unpredictable stuff. It's not real weird that she turned up like that, wasn't the first time. I told her to take a breath an' go get some water. The type of problems she gets into, both of us were going to be late if we dealt with it then. Told her (if: (visited: "Fortune Stall") and $agent does not match $ft)[I was gonna do my cards with Winn and ]we'd handle it after we closed up for the night. (if: (visited: "Fortune Stall") and $agent does not match $ft)[She left too, and that was when all that screaming kicked up.]
''Q'': Did she tell you what she did?
''$sm'': Nah. If I let her tell me then, I woulda been worrying about it all night. Better to handle it when I get to it.
''Q'': Thank you, $sm. I think that's all.]\
(else:)[\
(if: (visited: "Fortune Stall"))[
''$sm'': Nothin' of note.
''Q'': Did anything else happen that night?
''$sm'': I just—! You're really gettin' on my nerves.
''Q'': I apologize, $sm. It's my job to be thorough. ](else:)[ ]Did you notice any members of the circus behaving erratically or unusually that night?
''$sm'': No more so'n usual. Olive is always a loose cannon, but she seemed like she was doing good that night.
''Q'': What do you mean Olive is a loose cannon?
''$sm'': Nothin' crazy. Olive is impulsive, and I've helped her outta a few tight spots. She doesn't think before she talks or acts and it gets 'er into trouble. She's put herself in danger before and I'd bet she'll do it again in a second, but she wouldn't ever do anything to hurt anyone else.
''Q'': Thank you, $sm. I think that's all. I'll leave you my information in case you think of anything else we should know.]]
|==
---
=|=
=><=
Interview Terminated
==|
---
|==|
Notes: Subject offered to assist in investigation. We're obligated to refuse, unfortunately.<!--I've decided its funny as hell to loosely imply that the questioner is thirsty for hardy lmfao-->]]]\
(click: ?smCloser)[
(rerun: ?smClose)[]]]
]\
(if: $scStatement is true)[''Snake Charmer's Statement'' -- |scClose>[(link: "open")[|scCloser>[close]
(rerun: ?smClose)(rerun: ?acClose)
==|||||=
[\
|scStatement>[\
''Q'': Would you state your name and responsibilities at Cirque Deliria for the record?
''$sc'': Hi, yes, my name is $sc. I work as an assistant to Olive, the animal tamer at Cirque Deliria. As a performer, I deal with the snakes and am advertised as a snake charmer.
''Q'': How long did you work with Cirque Deliria?
''$sc'': Just under three years, but I've owned my snakes for seven.
''Q'': Great, thanks, $sc. What kind of animals did you and Olive work with?
''$sc'': Olive manages lions, horses, and dogs for the circus. We also rotate through a few different wild animals when we find them sick, but Olive usually nurses them back to health and releases them, so they aren't permanent additions. And then, like I said, the snakes are my babies. Olive doesn't mess with them.
''Q'': Are your snakes venomous?
''$sc'': That's a complicated question. Technically, yes, but I have a process to extract their venom before I do shows with them in case of any accidents. So by the time the audience sees them, there's not much they could do to hurt me. It's part of the smoke and mirrors.
''Q'': What do you do with the extracted venom?
''$sc'': …I've been trying to figure out a good system for that. I know it can be useful for medicine, so I've been holding on to it, but I'm not sure how much would be needed so I haven't done anything with it yet.
''Q'': Where do you keep the venom?
''$sc'': In the Snake House, hidden and secured so there aren't any accidents.\
(if: $method matches $w5)[
''Q'': Does anyone else know where you keep it?
''$sc'': I assume so. I've had other members of the circus watch me extract the venom before, and I don't really keep it a secret from them. Obviously the audience doesn't know where I keep it.]
''Q'': Do you keep anything else stashed in your tent?
''$sc'': Um, just an emergency medical kit. It doesn't have much, just some bandages and antiseptic ointments in case there's a biting incident.
''Q'': But no type of antivenom?
''$sc'': Definitely not. It's quite hard to get any, and I don't have the ability to make it myself.
''Q'': Don't you think that's an oversight?
''$sc'': No. Like I said, I extract the venom regularly and it poses no real danger to anyone but me.
''Q'': Would you be able to talk about what happened on $sansYear?
''$sc'': (if: $location does not match $l3)[\
I was mucking out the animal cages prior to the show. It's the best time to do it since most of the animals have been moved over to the Menagerie or the High Top in preparation for opening. (if: $method does not match $w3)[The lions stay in there until the opening show, so I was mucking around them and getting their dinner ready as well.]\
(if: $agent does not match $lt)[
I think Olive was in the mess tent. She picked up an injured bear cub a few weeks ago at one of our other stops and she was preparing something for it.]]\
(else:)[\
I was getting a snack in the mess tent and heard some banging in the tent with the animal cages. That's not really unusual since the lions can be feisty and they stay in their cages until the opening show. We usually move them to the Menagerie afterward and Olive does her shows in there. (if: $method does not match $w3)[The weird thing is, though, that the lions weren't actually in the cages at that point. Olive had to put them out in the Menagerie early because they were playing too aggressively with each other.]\
(if: $agent does not match $lt)[
Olive was in there, too. I'm not sure if she heard the banging, though. She picked up an injured bear cub a few weeks ago at one of our other stops and she was preparing something for it.]]
''Q'': Can you tell us where Olive was? We have yet to locate her.
''$sc'': (if: $agent does not match $lt)[Like I said, (if: $location does not match $l3)[I think ]Olive was in the mess tent. (if: $location does not match $l3)[I can't be sure, though. Even if Olive says she's going to be somewhere, that doesn't always mean that's true.
''Q'': Was— Is she prone to lying?
''$sc'': Oh, nothing like that. She's just easily distracted, she changes her mind quickly and even if she started something in the mess tent, she may have wound up elsewhere. Or vice versa.]](else:)[I'm really not sure, I'm sorry. She tends to hop from one thing to another quickly, and while there's a lot to get done before opening each night, she never really had a predictable routine for it. There's a chance she was in the mess tent, though? We picked up an injured bear cub a few weeks ago and she's been preparing special meals for it to help it recover.]
''Q'': Did Olive have any enemies in the troupe?
''$sc'': Sorry, what?
''Q'': Anyone that she would've attacked, or anyone that would have wanted to hurt her?
''$sc'': Is that what happened? Is Olive okay? I know you said you haven't found her, but you do think she's alive, right?
|==
---
=|=
=><=
Interview Terminated
==|
---
|==|
Notes: Subject became distressed and could not continue]]]\
(click: ?scCloser)[
(rerun: ?scClose)[]]]
]\
(if: $acStatement is true)[''Acrobats' Statement'' -- |acClose>[(link: "open")[|acCloser>[close]
(rerun: ?smClose)(rerun: ?scClose)
==|||||=
[\
|acStatement>[\
Movement descriptions, denoted with "--" are included in this interview record as interactions between the subjects may be relevant to the investigation.
''Q'': Would you state your names and responsibilities at Cirque Deliria for the record?
''$ac2'': I'm $ac2, this is $ac1 and $ac3. All three of us are acrobats for Cirque Deliria.
''Q'': I'm afraid I'm going to need you each to state your name and role yourself, as a formality.
''$ac2'': Right. $ac2, acrobat.
''$ac1'': $ac1, acrobat.
''$ac3'': $ac3, acrobat.
''Q'': Thanks. How long have you three been working together and working at Cirque Deliria?
''$ac1'': We've been friends since we were teenagers. I joined Cirque Deliria almost five years ago, and $ac2 and $ac3 joined together about three years ago.
''$ac3'': Yeah, $ac1 taught $ac2 and I how to fly when we joined.
''Q'': Were there other acrobats prior to the three of you? $ac1, did you do the trapeze show alone before $ac3 and $ac2 joined?
-- $ac2 opens her mouth to speak, but is cut off by $ac1--
''$ac1'': There were other acrobats I worked with before $ac2 and $ac3. A couple, who left to start a family. Then these two came along, you can't really do a trapeze show alone.
''Q'': And the three of you worked with Ford Simmons, a fourth acrobat, correct?
--$ac2 rolls her eyes--
''$ac3'': That's correct.
''Q'': Would you say that you were close with Ford?
''$ac2'': As close as anyone could be with him. Ford wasn't a great guy. He wasn’t a team player and he never really engaged with the rest of us.
''$ac1'': Thought he was so special because he double dipped as the contortionist, even though he was a newer member of the troupe. $ac2 was way more qualified. The job should've gone to her.
''Q'': The contortionist is a newer attraction for Cirque Deliria, correct? But Ford was a performer even before that position, yes?
''$ac2'': That's correct. The position was added eight months ago. Ford started…
''$ac3'': A year and a half ago.
''Q'': I see. Would you be able to tell me about your evening on $sansYear?
(if: $location matches $l1)[\
''$ac2'': Well the High Top was closed. All the tent flaps were secured, everything shut down, even though we were due to start warming up in there.
''$ac1'': Seriously, even the early bird customers were waiting outside with us. It's not a good look for the circus when stuff like that happens.
''$ac3'': We were warming up anyway, though. Outside. It was odd, but not that big of an issue.
''Q'': Were you not able to open the High Top for yourselves and the customers?
''$ac3'': We could, but usually if a tent is closed, it's for a reason. We planned to leave it alone, distract the crowd with our warm ups, and talk to Casper when we were done if it still wasn't open.]\
(else:)[\
''$ac3'': We were in the High Top, warming up for the evening's opening show and (if: $method does not match $w2)[trying to check](else:)[checking] all of our equipment.\
(if: $method does not match $w2)[
''$ac1'': One of the other performers threw Casper's whip up in the trapezes, which is deeply unprofessional. We were trying to establish the culprit and retrieve it when all the screaming started.
--$ac3 cuts her eyes sideways at $ac1--
''$ac2'': It was probably Ford, being spiteful.
''Q'': Was he prone to spiteful behavior?
''$ac3'': Not spiteful, exactly. Like $ac1 said, he just wasn't really a team player.
--$ac1 rests a hand on $ac3's knee. She speaks more quickly when he does so.--]]
''Q'': So, was Ford with you, warming up that night?
(if: $agent matches $ac)[\
''$ac1'': Yes—
''$ac3'': No.
(if: $location does not match $l1 and $method does not match $w2)[--$ac3 winces, squirming under $ac1's hand.--](else:)[--$ac1 laughs loudly. $ac2 pokes or pinches $ac3, unclear.--]
''$ac1'': Right, sorry. I forgot. So many shows, they all blend together, don't they?
''$ac2'': Yeah, he wasn't there. We waited forever, too. Started warming up later than usual and he was still missing when we had to leave.
''Q'': Do you know where he may have been?
''$ac1'': No idea. Practicing for his own special show, maybe, or sleeping with someone, probably.
''$ac2'': He was never very communicative with us, just liked to do his own thing. I'll never understand why he thought he was a good fit as an acrobat. Lots of trust involved in what we do, and he wasn't trustworthy.
''Q'': …Right. ]\
(else:)[\
''$ac2'': Yes.
''Q'': But he didn't exit the property with you when a body was discovered. Why not?
--$ac1 and $ac2 look at each other--
''$ac3'': There was a minor disagreement. Ford needed to go cool off.
''$ac2'': Yes! Just a little altercation, nothing major.
''Q'': $ac1, I see that you have some bruising on your eye. Does that have anything to do with this "altercation?"
''$ac1'': …Yes.
''Q'': Please, explain.
''$ac2'': Ford was having some money troubles. He got pushy about borrowing from us. $ac1 shut it down, Ford didn't like that. That's all. We don't know where he ran off to after that.
''Q'': And did Ford leave this encounter with any injuries?
''$ac1'': Nope.
''$ac3'': I mean, it happened so fast.
''$ac2'': Come on, $ac3. He was completely fine.
''Q'': Well. ]\
I think that's all the questions I have for you. I may reach back out individually for more details or clarifications.
|==
---
=|=
=><=
Interview Terminated
==|
---
|==|
(if: $hints)[Notes: Suspicions that $ac1, $ac2, and $ac3 have not been entirely forthcoming.](else:)[Notes: May be worth interviewing all three separately to compare answers.]]]]\
(click: ?acCloser)[
(rerun: ?acClose)[]]]
]]{(if: visits is 1)[\
(set: $ltBody to (macro:[\
(if: $ltSolved)[(out:)[
Without the weight of Olive's spirit, her bones look almost like something she might have given her animals. It's morbid, but when you consider what you know of Olive, you think she'd enjoy it.]]\
(else:)[(if: $seenLTBody)[(out:)[
You found |ltCorpse>[a body] (if: $agent matches $lt)[beneath the rack of cups.](else:)[at the camp stove.]\
(click: ?ltCorpse)[
The arm and leg bones are short and thick— moreso than you would expect from an adult human— and bowed in places.(if: $hints)[ According to your assignment file, there were no child or adolescent casualties.] There's nothing about the body for you to work off of besides the bones, not even a scrap of fabric from clothing(if: $seenTrinketSheet)[, or any sign of one of Ford's trinkets].
You also found a clublike torch beneath the counter, the top wrapped in a strip of singed cloth.
]]]\
(else:)[(set: $seenLTBody to true)(out:)[
The metal frame of a step stool stands before the camp stove, wooden treads long since decayed to nothing. Crumpled inside the structure of the stool, a |ltCorpse>[jumble of bones] retreats into the grass.\
(click: ?ltCorpse)[
The bones of this skeleton are human, but unlike most you're familiar with from previous hauntings. The arms, legs, even fingers and toes, are short and thick, moreso than you would expect from any adult human. (if: ((($agent matches $rm) and $seenPaycheckCOF) or ($seenCasperMail)) and $hints)[A line about "that dwarf" from Casper's mail prods your brain.] The nose bridge has a deep depression, and the skull is proportionally larger than the rest of the body. It's only bones, you notice after finishing with your examination. There's not even a scrap of fabric from clothing(if: $seenTrinketSheet)[, or any sign of one of Ford's trinkets].
In your current position, crouched to examine the bones, you notice |somethingElse>[something else] rolled beneath the countertop.\
(click: ?somethingElse)[
The footlong, clublike shape is confusing for a moment, until you spot the strip of lightly singed cloth wrapped around the top: it's a torch.]
]]]\
]]))\
]}\
###Mess Tent
<!--FIRST VISIT-->\
(if: visits is 1)[\
Three of the four walls of this low tent are drawn back and secured to the tent poles, leaving it largely exposed. The interior has been swallowed by knee-high grass, with scrubby moss creeping over each of the six spindly tables and the longer surface along the closed edge that seems to have been used as a countertop. A few determined hooks along the upper beam support pots and pans, but a far larger number lie rusting in the grass.
Canvas sags above the dining area, heavy with the kind of old rain and damp leaves that never truly dry. Skirting the inverted puddle, you venture toward the back of the tent, where you can decipher the shape of a scorched camp stove on the countertop beneath a rack of cracked mugs and glasses.]\
<!--OTHER VISITS-->\
(else:)[\
The open-air mess tent provides little relief from the late summer weather other than shade. A moss-gilded dining area is overshadowed by a sagging pouch of old rain and damp leaves, a breeding ground for mosquitos. Beyond the tables, a makeshift countertop hosts the camp stove in addition to shelves and hooks for kitchen supplies.\
(if: $method matches $w4)[
($crowsNest:)]\
(else-if: visits is >=3)[
($crowsNest:)]\
(if: $method matches $w5)[
($knifeGap:)]\
]\
($ltBody:)\
---
The [[sleeping caravans->Sleeping Caravans]](if: (visited: "Casper Office"))[, including [[Casper's Office->Casper Office]]] sprawl across the field(if: (visited: "Medical Tent"))[ north of the [[Medical Tent]]](else:)[, just past [[another tent->Medical Tent]] bearing a large medical cross]. Venturing out the side entrance, (if: (visited: "Animal Cages"))[you can access the [[Animal Cages]]](else:)[[[a teetering arrangement->Animal Cages]]— more tent poles than canvas— waits for you] to the west.{<!--3.9.25 i am,,, experiencing concern that i'm making it too easy if they get the clues immediately but too hard if they don't and idk how to handle that bc i do NOT wanna randomize more? i want it to involve actual investigation….
3.12.25 I FIGURED IT OUT, IT'S BASED ON WHERE YOU'VE BEEN-->
<!--GUILT CHECK-->
(set: $isGuilty to (macro: str-type _roomIn, [
(if: _roomIn matches $location)[(output-data: true)]
(else:)[(output-data:false)]
]))
<!--ALL MACROS BELOW HERE ARE TO BE CALLED IN THE GUILTY ROOM ONLY-->
<!--SEE VIVIAN REMAINS--
this macro can be used anywhere and asks about lion guilt and adjusts perception requirement accordingly. if the lions are guilty, it is more important for the player to find the bones, so the req is lower.-->
}{(set: $seeBonesAsk to (macro:[\
(if: $method matches $w3)[
(if: visits is >=2)[(output-data: true)]
(else:)[(output-data: false)]]
(else-if: visits is >=3)[(output-data: true)]
(else:)[(output-data: false)]
]))
}<!--REMAINS DESCRIPTION-->\
{(set: $bonesDesc to (macro:[(out:)[\
The remains are human, and largely skeletal at this point. You're easily able to identify them as Vivian's from the short left arm(if:$seenTrinketSheet is true)[ and the carved sword and torch necklace](else:)[ and a necklace with a carved sword and torch].\
(if: $method matches $w3)[ They're scratched and gouged extensively, even cracked in places. One femur has deep markings along it, as if it's been chewed on.]\
(else-if: $method matches $w6)[ The skull is cracked and concave on one side, as if it's been struck by something large.]\
(else:)[]]
]))}{
<!--SEE CRYSTAL BALL BAG-->
(set: $guiltRoomBag to (macro:[(out:)[(set: $seenCBBag to true)\
It's a bag, made of a soft, thick material, so purple it's almost black. (if: $seenCrystalBall)[It looks like the correct size for the crystal ball you found in the Fortune Stall.](else:)[It looks about the right size for a bowling ball, or something similar.] As you turn the cloth over in your hands, your fingers skim across something crusted on the bottom corner. Examining closer, you find a dark stain. Moreover, the substance has managed to cling to two or three tangled strands of mid-length dark hair.
Uneasily, you tuck it into your backpack.]\
]))
(set: $guiltRoomBagSeen to (macro:[(out:)[\
|bagClick>[The bag] you found in here is still in your backpack.\
(click: ?bagClick)[
It's a bag, made of a soft, thick material, so purple it's almost black. (if: $seenCrystalBall)[It looks like the correct size for the crystal ball you found in the Fortune Stall.](else:)[It looks about the right size for a bowling ball, or something similar.] The dark stain looms ominously as you re-examine the bag. Even after spending time in your backpack, it's still managed to cling onto the strands of dark hair.]]\
]))
<!--SEE BROKEN MIRROR SHARD-->
(set: $guiltRoomShard to (macro:[(out:)[(set: $seenShard to true)\
The fragment— no larger than a fingernail— is reflective, jagged on the top edge but the smooth leaf-texture of chipped glass on the bottom. It’s marred across its silver surface with rust-brown residue. Blood. Carefully, you slide it into a small, outer pocket on your backpack.]\
]))
(set: $guiltRoomShardSeen to (macro:[(out:)[\
The sliver of glass you found in here is still in your backpack.\
(click: "sliver of glass")[
The fragment— no larger than a fingernail— is reflective, jagged on the top edge but the smooth leaf-texture of chipped glass on the bottom. It’s marred across its silver surface with rust-brown residue. Blood.]]\
]))}{<!--W1: PISTOL-->
(set: $pistolAlibi to (macro:[
(if: $seenPistol)[(out:)[\
|pistolDesc>[The pistol] is where you left it, on the shelf behind the stage.\
(click: ?pistolDesc)[
The carbon paper form wrapped around it indicates that Josephine's Renette pistol is in need of a new lock, is unable to fire, and will be unusable until one can be commissioned when the circus gets to a bigger city.]]]\
(else:)[(set: $seenPistol to true)(out:)[\
Sitting on your heels to scan the room, you jostle the shelf behind you and dislodge an object about the length of your forearm. The string- and paper-wrapped shape thunks against the dirt beside you. You untie the string and loose the paper, depositing a pistol in your lap. It's unlike any gun you've seen before, with an octagonal barrel and intricate floral scroll engraving.
When you go to replace the pistol on the shelf, you notice faint writing lining the creased paper: It's a carbon paper form indicating that Josephine's Renette pistol is in need of a new lock, is unable to fire, and will be unusable until one can be commissioned when the circus gets to a bigger city.]]\
]))
(set: $pistolGuilt to (macro:[
(if: $seenPistol)[(out:)[|pistolDesc>[The pistol] is where you left it, resting on the edge of a bench.\
(click: ?pistolDesc)[
It's unlike any gun you've seen before, with an octagonal barrel and intricate floral scrollwork. Rust blooms out along the path of the engravings, following a cloudy stain of dried blood.]]]\
(else:)[(set: $seenPistol to true)(out:)[\
Light flashes along something metallic beneath one of the benches. You follow the glints to a shape embedded in the dirt and manage to pry free the missing pistol.
It's unlike any gun you've seen before, with an octagonal barrel and intricate floral scrollwork. Rust blooms out along the path of the engravings, following a cloudy stain of dried blood. It rests in your hands with a weight disproportionate to its size. You can't set it down fast enough, laying it on the edge of a bench in case you need to find it later.]]\
]))
(set: $pistolInfo to (macro:[\
(if: $method does not match $w1)[(out:)[($pistolAlibi:)]]\
(else:)[(out:)[($pistolGuilt:)]]\
]))
<!--W2: WHIP-->
(set: $whipAlibi to (macro:[(out:)[\
Glancing up, you notice the trapezes hanging in air. In someone's idea of an elaborate idea of a prank, the ringmaster’s whip has been looped around the trapezes, tethering the apparatuses together above center stage. You can’t begin to imagine how they got it up there, or how someone would approach getting it down. Certainly not alone, for either endeavor.]\
]))
(set: $whipGuilt to (macro:[(out:)[\
(if: $backTopExit is true)[\
You notice a shape hiding in the shadows beside the performers' entrance: it seems to be a long, thick, leather whip coiled to hang neatly on a nail in the post beside the entrance. ]
(else:)[\
Hiding in the rear of the tent, behind the ring, a long, thick leather whip hangs on a wobbly nail.]
You pull it down, running your hands along the length. It's well taken care of— or was at one point— but your fingers snag on harsh ridges about halfway down the whip. Looking closer, they seem to be a row of scratches several inches long, and each about the width of a human fingernail.]\
]))
<!--the parent function whipInfo checks role for the whipAlibi and whipGuilt macros, must be done within whipSeen function once they've initially seen it-->
(set: $whipSeen to (macro: [(out:)[\
(if: $method does not match $w2)[\
The whip is still out of your reach, unless you plan to learn to fly. Even a trained performer would've needed help to put it up there— or get it down, for that matter.(if: $acStatement is true and $hints is true)[
Now that you think of it, $ac1 was complaining about the whip in the acrobats' interview. They claimed Ford must have thrown it up there to be spiteful, but looking at the complicated knot of trapeze and leather, it certainly doesn't seem like it was thrown. And if the other three acrobats together couldn't get it down, there's no way he put it up there by himself.]]\
(else:)[\
The whip is hanging where you left it. The fingernail scratches are long and deep, five lines angled in the same direction as if they came from a single hand.\
(if: $hints)[
The whip wouldn't be scratched like that under normal use, and certainly not with only one hand.]]]\
]))
<!--W3: LIONS-->
<!--W4: MIRROR SHARD-->
(set: $nestGuilty to (macro:[(out:)[\
(if: $seenNest)[
Aside from a trio of speckled crow's eggs, there are lots of shiny trinkets, but nothing of significance.]\
(else:)[(set: $seenNest to true)
Several mother-of-pearl buttons, (if: $seenFTBody)[one of Winn's fire-mangled rings,](else:)[a fire-mangled ring,] an out of production penny, seven aluminum can tabs, and a bus token are carefully tucked beside a trio of speckled crow's eggs. Fascinating, but unhelpful.]\
]]))
(set: $nestInnocent to (macro:[(out:)[\
(if: $seenNest)[
Aside from a trio of speckled crow's eggs, there are lots of shiny trinkets, including a handful of large shards from (if: (visited: "Illusion Gallery"))[the broken mirrors in the Illusion Gallery.(if: $hints)[ Thinking back on it, the fragments you've found here would about cover what's missing from there.]](else:)[a time-spotted broken mirror].]\
(else:)[(set: $seenNest to true)
You poke through a treasure trove of shiny objects carefully tucked beside a trio of speckled crow's eggs. You identify an out of production penny, several mother of pearl buttons, at least seven aluminum can tabs, (if: $seenFTBody)[one of Winn's fire-mangled rings,](else:)[a fire-mangled ring,] and a handful of large shards from (if: (visited: "Illusion Gallery"))[the broken mirrors in the Illusion Gallery.(if: $hints)[ Thinking back on it, the fragments you've found here would about cover what's missing from there.]](else:)[a time-spotted broken mirror.]]\
]]))
(set: $crowsNest to (macro:[(out:)[\
(if: not $seenNest)[Nestled in the crook of the upper beam above the sheltered cooking area, is |insideNest>[a nest].]\
(else:)[You recall the |insideNest>[crow's nest], built into the upper beam.]\
(click: ?insideNest)[\
(if: $method matches $w4)[($nestGuilty:)]\
(else:)[($nestInnocent:)]]\
]]))
<!--W5: VENOM-->
(set: $knifeGap to (macro:[<!--ONLY CALLED IF KNIFE IS GUILTY-->\
(if: $seenKnifeGap)[(out:)[\
(if: $seenVenom)[There's an empty slot in the molding knife block. Judging by the style of the knives, the unaccounted for one is the knife you found in the Snake House.]\
(else:)[There's still an unaccounted for knife absent from the molding knife block.]\
]]\
(else:)[(set: $seenKnifeGap to true)(out:)[\
A molding knife block sits on the far corner of the makeshift countertop. Two slots are empty. You locate one of the knives— unused, near the camp stove— and return it to its place, but the six tables are utterly empty and you don't spot another knife anywhere on the ground.\
(if: $seenVenom)[ Judging by the style of the knives, the unaccounted for one is the knife you found in the Snake House.]]\
]\
]))
(set: $venomSpot to (macro:[(out:)[\
(if: $seenVenom)[\
Hidden inside one of the pedestals, you found several vials of |showVenom>[snake venom].]\
(else:)[\
A few of the glass tanks are smaller, resting on pedestals. One of the pedestals casts reflections like metal, where the rest seem to be flaking wood. On your approach, a soft click emits from the back side<!--ty fordddd-->. Circling the pedestal, you can discern the outline of a door and a keyhole. It opens easily, in spite of its age and the lock. You nod to the bones in thanks. Within, the first thing you spot is a collection of |showVenom>[small, screw-top vials].]\
(click: ?showVenom)[
Neat handwriting labels the foremost vial:
$notebookStyling[Viper Venom, collected October (print: (num: $year)-1) to (print: (trimmed: digit, $sansYear)) $year]
Next to it, a clean and unlabeled vial sits uncapped, waiting to be filled. The rest follow a similar pattern, dating back almost seven years.
(if: $seenVenom is false)[You lift each vial, shaking and inspecting it. ]\
(if: $method matches $w5)[\
(if: $seenVenom)[\
Venom only measures to the bottom of the October to (print: (trimmed: digit, $sansYear)) label— halfway down the bottle— and sloshes when you lift it.(if: $hints)[ If the label is completed and a new vial is waiting, why would this one be half empty?] Moreover, behind the rest of the vials, you unearthed a knife jammed between the bottom and back wall of the cavity. (if: $seenKnifeGap and $hints)[The style is similar to those you saw in the Mess Tent.](else:)[It's simple, little more than a wooden handle with a blade screwed in.]]\
(else:)[Venom only measures to the bottom of the October to (print: (trimmed: digit, $sansYear)) label— halfway down the bottle— and sloshes when you lift it.(if: $hints)[ If the label is completed and a new vial is waiting, why would this one be half empty?] Moreover, when you shift the rest of the vials to check them, you unearth a knife jammed between the bottom and back wall of the cavity. (if: $seenKnifeGap and $hints)[The style is similar to those you saw in the Mess Tent.](else:)[It's simple, little more than a wooden handle with a blade screwed in.] Poorly cleaned streaks follow the line of the blade.]]\
(else:)[\
(if: $scStatement is true)[As $sc promised, the vials are well-secured. On top of the caps, she's knotted scraps of floral fabric over the filled vials.](else:)[ The vials are well secured, with scraps of floral fabric knotted over the cap of each filled vial.] All of them are full, barely even making noise when you tip them to move the liquid.]\
(if: $seenVenom is false)[(set: $seenVenom to true)]]\
]]))
<!--W6: CRYSTAL BALL-->
(set: $crystalBall to (macro: [(out:)[\
(if: $seenCrystalBall is false)[(set: $seenCrystalBall to true)It's a crystal ball, about the size of a cantaloupe. The ball is still smooth and it sits in your hand without scratching or catching on your skin, but it's clearly damaged. Cracks— so thin you can't feel them— marble the surface. The interior is more opaque than transparent from the sheer volume of spidery lines branching through it to create clusters of warped light.]\
(else:)[The surface of the crystal ball is marbled with cracks. It's more opaque than transparent from the sheer volume of spidery lines branching through the inside of the ball.]]\
]))}<!--i'm in too deep to turn back now, but using macros as a workaround for avoiding 50 thousand passages or a bajillion instances of copy and pasting feels like maybe perhaps a mistake in light of this note on my question from reddit oopS. guess i just need to check that my bugs form is open and working when i post this…
"Due to how the Passage Transition Visual Effect is implemented the Hook or Arguments associated with either of the "output" related macros may be executed twice for each calling of the Custom Macro they are associated with. So the general advice is to do as much as possible within the body of the custom macro before using one "output" related macros to "output" the custom macro's result."-->\
{
<!--RANDOMTYPE
i legit and straight up borrowed this macro directly from the harlowe documentation and altered it with the help of GREYELFD (spent too many hours on twine forums, now fangirling about greyelf)-->
(set: $randomType to (macro: str-type _str, [
(set: _mixedcase to (folded: _char making _out via _out + (either: (lowercase: _char), (uppercase: _char)), ..._str))
(output:)[{
(for: each _char, ..._mixedcase)[(text-size:((random: 8, 13) / 10))[_char]]
}]
]))
}{<!--INTERLACED NOTES-->
(set: $interlaceNotes to (macro: [(out:)[\
|interlacedLoop>[You have |viewInterlace>[both sides] of a correspondence between Vivian and Josephine.
(click: ?viewInterlace)[==
|interlaced>[\
{|tablenotes>[
|col>[Vivian,<br>
If you aren't busy tonight, come to my caravan. I'd bet we have some shared interests.<br>
Josephine]
|col2>[<br>]
|col>[<br>]
|col2>[Josephine,<br>
Up for an encore? I enjoyed our activities last night.<br>
V]
|col>[<br>]
|col2>[<br>]
|col>[<br>]
|col2>[Jo,<br>
Same place, same time as always. <br>
♡ V]
|col>[<br>]
|col2>[<br>]
|col>[Viv,<br>
I know it started casually, but things have changed. In my previous line of work, sex was used as a commodity, or leverage, or payment. That's not what this is to me. I want to be more than a liaison on nights when we're both bored. I'd like to take you out, do something more special.<br>
Jo]
|col2>[<br>]
|col>[<br>]
|col2>[Jo,<br>
I know. Of course this is more than casual, I've just been waiting for you to be ready.<br>
♡ V]]}
The notes aren't dated, but the paper and ink changes between these and the rest.
{|tablenotes>[\
|col>[Viv,<br>
Why won't you talk to me?]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[What's going on?]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[Vivian,<br>
You knew what this was to me. I made it clear how significant it was for me to truly care for someone the way I care for you. You could have ended it, if you didn't feel how I do. You used me, just like I told you I'd been before. And you won't even condescend to talk to me about it.<br>
Josephine]]}\
(link: "Stop reading")[(hide: ?interlacedLoop)]]
]]]))
}{
}{<!--TALLY HINTS-->
(set: $makeTallies to (macro: num-type _visits, [(out:)[\
(set: _tallied to "")\
(set: _counter to 0)\
|rerunTally>[\
(if: _counter is < _visits)[\
(set: _counter to it+1)\
(set:_interim to "")\
(set: _tallied to it + "|")\
(set: _interim to (trimmed: "|||||", _tallied))\
(if: _tallied does not match _interim)[\
(set: _tallied to "~~||||~~ "+_interim)]\
(rerun: ?rerunTally)\
]\
(else:)[(opacity: 0.5)[(print: _tallied)]]]\
]]))}{<!--OK SO I'VE SET UP A BASE FOR THESE, BUT INCRIM OR ALIBI MAY NOT BE ONE MACRO. THERE MAY BE A MACRO FOR EACH SEPARATE PIECE OF AN ALIBI OR INCIMINATION FOR SOMEONE (EG. WINN'S CALENDAR, TAROT CARDS IN FEATS OF STRENGTH. THIS IS JUST A TEMPLATE)-->
<!--RM: CASPER-->
<!--IL: ROSCOE-->
<!--displays all Roscoe backstory content-->
(set: $allRoscoeContent to (macro: [(out:)[\
You have Roscoe's |rLetterReveal>[letters], his |rPhotos>[photos], a |rNewspaper>[newspaper clipping], and the |rCertifs>[birth certificates].|content>[]\
<!--3.12.25 i wouldn't be opposed to having these be rerun-able but there are better uses for my time than figuring that out right now-->\
(click: ?rLetterReveal)[(replace: ?content)[
($roscoeMail:)]](click: ?rPhotos)[(replace: ?content)[
($roscoePhotos:)(click: ?rPhotoFin)[(replace:?content)[]]]](click: ?rNewspaper)[(replace: ?content)[
($roscoeObit: "obit")(click:?rObitFin)[(replace: ?content)[]]]](click: ?rCertifs)[(replace: ?content)[
($roscoeObit: "certifs")(click:?rObitFin)[(replace: ?content)[]]]]\
]\
]))
<!--displays only Roscoe's mail. hook is called rMail because i'm stupid and didn't think about roscoe having letters when i named casper's hooks-->
(set: $roscoeMail to (macro:[(out:)[\
(if: $seenRoscoeMail is false)[The bottom of one of the upturned chairs catches your eye. The paper covering the void beneath the seat is indented outward, bearing the outline of a rectangle. Inspecting closer, the paper was once thick, but has gone brittle with age and exposure. Some curious insect or mouse has already chewed a hole in one corner, near where the paper is nailed into the frame of the chair. The nails in this corner are different than the rest, a smaller variety, secured less deeply. You reach into the hole and tear the bottom free to reveal a bundle of letters. Many of them are too worn to read, others are simply friendly correspondence, but a few |rLetterReveal>[catch your attention].]\
<!--(else-if: $seenRoscoeMail and $seenRoscoeObit and $seenRoscoePhotos)[
You extract |rLetterReveal>[the letters] from your bag.]-->\
(else:)[Roscoe's |rLetterReveal>[letters] are in your backpack.]\
(click: ?rLetterReveal)[==
|rMail>[\
|rMail1>[
=|||||==
Roscoe,
Your sister is pulling another of her stunts. She has run away from home and we expect that, sooner or later, she’s going to turn up at your apartments. Please set her in order when she arrives, as you have before. Do your best to avoid any permanent indicators, this time. If you would, also deliver her the enclosed letter, and let us know so that we can come fetch her.
|==|
The bottom where the signature would be is torn off, leaving a jagged edge.]
Next page\
(if: $seenRoscoeMail)[
|rMailFin>[Finish reading]]
(click: "Next page")[==(replace: ?rMail1)[|rMail2>[
This appears to be the "enclosed letter" mentioned in the first letter.
=|||||==
(text-style: "double-strike")[Noelle],
Your father and I cannot pretend to understand why you cut your hair, or your need to dismiss propriety and dress yourself like a man. Those behaviors, you will outgrow with time. You must come home, though. You cannot keep up this childish performance of running away. You are embarrassing yourself, you are embarrassing us, and more importantly, you risk casting a shadow over your brother’s future.
Think of Roscoe and come home, (text-style: "double-strike")[Noelle].
|==|
Again, the bottom is torn off. The rest of the letters are the same.]]\
(click: "Next page")[==(replace: ?rMail2)[|rMail3>[
=|||||=
Roscoe,
Your advisors report that you’ve stopped attending classes or meeting with your professors. You are on the verge of dropping out of school. We expect this type of behavior from your sister, but you are supposed to be the responsible one. If you cannot get your act together, we will be forced to bring you home.\
|==|
]]\
(click: "Next page")[==(replace: ?rMail3)[|rMail4>[
The last letter is more worn than the rest, as though someone read it over and over.
=|||||==
Roscoe,
Noelle’s ring has been delivered to us along with her finger. Investigators say this likely means the worst, that she will not be returning home and has met her end in whatever grim corner of the world she found herself in after running away. I only wish we had been able to talk sense into her first. She was not prepared to be out in the world like that. We have not yet decided about a service for her.
If you had managed to return to your classes, you would know that in light of this situation, the school has written your father about a leave of absence for the remainder of the term. We will be in touch soon, take care of yourself.
|==|
]]\
(click: "Next page")[(rerun: ?rMail)]\
(if: $seenRoscoeMail is false)[|rMailFin>[Finish reading]]]\
(click: "Finish reading")[(replace: ?rMail)[(if: $seenRoscoeMail is false)[
You pack the bundle carefully into your bag, in case you need to look it over again later. (set: $seenRoscoeMail to true)]\
(else:)[]\
]]\
]\
]))
(set: $roscoePhotos to (macro:[(out:)[\
(if: $seenRoscoePhotos is false)[If Roscoe hid his letters, there may be other things hiding around the tent. It only takes a moment for you to pick up on the eyes of one of the framed photos watching, watching, watching as you move through the space.
The thing about spirits is that they tend to give away their own secrets. You approach the frame. This one is among the largest and heaviest strung up, and hangs nearly to eye level at the nadir of the clothesline. It's a photo of a narrow-faced young man, no older than his mid-twenties, with a frightening scar twisting down the left side of his face. It stretches all the way from his temple to curl under his jaw, next to his chin.
There’s a bump in the scrollwork at the base of the frame. Sliding your fingers over it just right, it feels like a latch. When you wedge a fingernail behind the latch, loosing the catch, |rPhotoReveal>[two photos drop] from inside the frame and drift to the ground.]\
(else:)[Tucked between the letters are |rPhotoReveal>[Roscoe's photos].]\
(click: ?rPhotoReveal)[==
The first photo is old, so faded you need to hold it close to your face to truly examine it. It’s a well-posed photo of two toddlers, similar in age and even more similar in appearance. On the left is a squalling girl, stuffed into a ruffled dress. On the right is a serious-faced boy, his plump hands resting on the knees of his tiny suit. Spidery handwriting on the back reads "Noelle and Roscoe, aged 3."
The other photo is that of a young man, much like the photo(if: $seenRoscoePhotos is false)[ still in the frame that you now realize must be Roscoe himself(set: $seenRoscoePhotos to true)](else:)[ behind which you found these pictures]. It’s pasted onto an identification card for Roscoe’s college, and identifies him as nineteen years old. This younger Roscoe has no scar on his cheek, and poses proudly for the camera. A family ring flashes on his pinkie finger.
|rPhotoFin>[Put the photos away]]\
]))
(set: $roscoeObit to (macro: str-type _howMuch, [(out:)[\
(if: $seenRoscoeObit is false)[|tableA>[The tables on either end of the central rug snag in your vision. They're something you've overlooked before, but they really are beautiful. You feel no spiritual pushback approaching the table on the left, only the eyes in Roscoe's photo. But when you turn to the table on the right, you're struck with a wave of dizziness. It's all you can do to keep yourself upright and moving in the right direction, and you narrowly avoid falling by catching yourself on the edge of the table.]
(click: "edge of the table")[(replace: ?tableA)[|tableB>[The wooden surface is nested beautifully together, a fine example of craftsmanship that you almost can’t believe has survived the dilapidation. Drumming your fingers over the surface, you realize that a few of the insets can be twisted in place. You do so, loosing the sections next to each rosette so that the rest of the surface can be painstakingly rearranged by sliding the pieces. Dust and dirt lay thick on the table, but by paying careful attention to the grain you can almost see which |rDocsShow>[pieces fit together.]]]]\
(click: ?rDocsShow)[==
It takes time, but at last the pieces slot together, revealing a knob that allows you to lift off the top of the table and you’re able to see the contents. It’s less than you would’ve expected for such lengths of secrecy. Two sheets of paper and a newspaper clipping.]\
(else:)[The paper is so delicate, you almost don't want to breathe when you |rDocsShow>[take it out].]\
(click: ?rDocsShow)[==\
|rObitHide>[(if: _howMuch is "certifs" or "both")[
The papers are birth certificates are for a Roscoe Devlin and a Noelle Devlin, twins, born on February 7, (print: (num:$year)-21).]\
(if: _howMuch is "obit" or "both")[
The newspaper clipping is a fragment of an obituary. There is no photo.
|==
[
==|
<==>
November 2, (print: (num:$year)-1)
The Devlin Twins
Roscoe Devlin, beloved son and brother, perished in a brutal home invasion this past week. He is preceded in death by his twin sister, Noelle, who disappeared last month and is presumed dead. Both twins are survived by their parents—]
==|
|==|
The clipping cuts off here, presumably omitting information about a service.]\
(if: $seenRoscoeObit is false)[(set: $seenRoscoeObit to true)
You add the documents to your |rObitFin>[growing dossier] on Roscoe.]\
(else:)[
You |rObitFin>[return the documents] to your collection.]
(if: $seenCaravanPaper and $hints)[
<!--you only see the caravan paper if you've BEEN in roscoe's caravan AND if roscoe is GUILTY-->
Might be worth revisiting that newspaper in Roscoe's caravan…]\
]]\
]))
<!--FT: WINN-->
<!--AC: FORD-->
<!--SH: JOSEPHINE-->
(set: $handkerchiefEtc to (macro:[\
(if: $seenHandkerchief)[(out:)[\
You still have the contents of Josephine's pockets in your bag: a floral embroidered handkerchief and |readNapkin>[cocktail napkin].
(click: ?readNapkin)[
(text-size: 0.7)[I thoroughly enjoyed meeting you, Josephine. If I arrive early to the show tomorrow night, could we meet in the gun stage again? xx]]\
(if: $hints)[
It seems like Josephine was caught unawares on the way to meet her note-writer.]\
]]\
(else:)[(set: $seenHandkerchief to true)(out:)[\
You unearth a handkerchief, still fluttering with the long-stale remnants of some type of perfume, and a |readNapkin>[cocktail napkin] with looping handwriting.
(click: ?readNapkin)[
(text-size: 0.7)[I thoroughly enjoyed meeting you, Josephine. If I arrive early to the show tomorrow night, could we meet in the gun stage again? xx]\
(if: $hints)[
It seems like Josephine was caught unawares on the way to meet her note-writer.]]\
]]\
]))
(set: $nudiePics to (macro:[\
(if: $seenSketch)[(out:[\
You still have the contents of Josephine's pockets in your bag: a full package of cigarettes, still sealed, and |examineSketch>[a sketch].
(click: ?examineSketch)[
It's a drawing of Vivian in disarray, lounging on someone's cot wearing nothing but a sheet. A scribbled signature adorns the bottom right corner of the sketch. You can make out (if: $currentPerception is >16 or $signatureView is >1)[(set: $signatureView to 2)most of Ford's name.](else-if: $currentPerception is >13 or $signatureView is >0)[(set: $signatureView to 1)a capital F and S.](else:)[a large F.]]
])]
(else:)[(set: $seenSketch to true)(out:)[\
You unearth a full package of cigarettes, still sealed, and a |examineSketch>[sheet of paper] folded into quarters.
(click: ?examineSketch)[
It's a drawing of Vivian in disarray, lounging on someone's cot wearing nothing but a sheet. A scribbled signature adorns the bottom right corner of the sketch. You can make out (if: $currentPerception is >16)[(set: $signatureView to 2)most of Ford's name.](else-if: $currentPerception is >13)[(set: $signatureView to 1)a capital F and S.](else:)[a large F.]]
]]\
]))\
<!--LT: OLIVE-->
<!--FAILED RELEASE-->
(set: $releaseFail to (macro: str-type _who, str-type _guess, [(out:)[\
You visit (trimmed: (p:"(", string, ")"), _who) \
(if: _who is $rm)[in their office ](else-if: _who is $il)[in the medical tent ](else-if: _who is $ft)[at their caravan ](else-if:_who is $ac)[at the Snake House ](else-if: _who is $sh)[at the Gun Stage ](else-if: _who is $lt)[in the mess tent ](else:)[]\
to explain that Vivian killed \
(if: _who is $rm or _who is $ft)[them, and they(unless: _guess matches $rmDeath)[ were _guess](else:)[ had their _guess].]\
(else-if: _who is $sh or _who is $lt)[her, and she(unless: _guess matches $rmDeath)[ was _guess]\
(else:)[ had her _guess].](else:)[him, and he(unless: _guess matches $rmDeath)[ was _guess](else:)[ had his _guess].]
Nothing happens. (if: $hints)[If the answer provides no relief, it's not the right answer.]
[[Keep looking->Central Clearing]]
]]))
}_ newspaper article _
Cirque Deliria, a semi-permanent circus show based out of TOWN NAME, has crashed and burned— literally— in record time. The
(birthdayEarring)(set: _go to "firstVal")(set: _loading to "firstVal")(set: $noGraphic to true)\
"You're sure, this time, huh? Then why don't I feel any better? Why can't I leave?"
Sarcasm bites at each one of Vivian's words. The sun feels a little hotter. A pair of crows, pecking at some bug beyond the entrance, decide now is a good time to find a different hunting ground.
|arA>[→] |selfstyling>["It just means I got something wrong. That happens, sometimes, with difficult cases. Let me go check a few more things and I'll get it sorted out."]
(click: ?arA)[==
"This is your //job//. After three tries, I should be able to expect you to get it ''RIGHT''. You got my hopes up. I'm bored, and I'm lonely, and more than anything I'm //angry//."
Vivian swells, leaching color out of the grass beneath her, the ticket booth beside her, the very sky. A wind you can't feel sets her skirts fluttering. Her already-hazy form ripples at the edges, pieces fizzing out into nothing before popping back in, brighter than before. You slowly, slowly slip off your backpack, unzipping it. You feel for the(if: $seenILBody or (visited: "The Menagerie"))[ remaining] salt packets, positioned for easy access next to a twist of iron. If you could just get to those, you might be able to contain her anger long enough for a traditional exorcism.
|arB>[→] |selfstyling>["I mean, it isn't an exact sci—"]
(click: ?arB)[==
"Yes, ''CLEARY NOT''!"
A sound like thunder rolls over Cirque Deliria, alarming in the clear sky. The backpack is torn from your hands before you reach your goal, slamming itself to the ground and spilling out the papers you've found, but not the equipment you were searching for. She stands taller than you, now, towering over the booth.
"I didn't //ask// you to come here and stir everything up. You //chose// to do that. You don't get to just keep taking stabs in the dark. I may be dead, but I'm still a person. You //clearly// aren't a professional, and you keep raking everything over until it hurts again! I. Want. You. GONE!"
|arC>[→] |selfstyling>["I understand your frustration, bu—"]
(click: ?arC)[==
Vivian's shimmering edges fail, and she scatters to pieces like a dandelion in the wind. Visual irregularities hang in the air, reflecting nothing. In the stillness, you debate running, but the bus stop is so far. There's nothing to do but wait. The pieces of Vivian's spirit start to consolidate, and you can trace the path of the reflections through the air even as each irregularity fades from view.
|arD>[→] |selfstyling>["Shit."]
(click: ?arD)[==
A crack like thunder shaking the ground, and you can feel the weight of a malicious spirit settle over Cirque Deliria. She's a poltergeist.
Any words she's still saying have deepened into a crackling growl, a language you can't speak.
The force that was once Vivian knocks you on your back, holding you by your wrists and ankles to keep you down. You open your mouth to reason with her, but realize you've never been in a position like this with a spirit. You're at a loss. Just as you realize that, something whips out from the main grounds into the clearing, hovering a little outside your peripheral vision.
|arE>[→] |selfstyling>[Escape. Escape. You have to get out of here.]
(click: ?arE)[==
Blind panic eats away at your training. Human survival instincts start to kick in, and you find yourself squirming beneath Vivian, yanking at your own wrists in an attempt to free yourself. The unidentified something is moving, a blur too fast for your eyes to track until it comes to a stop above (if: $noGraphic is false)[your left shoulder, one of Vivian's wide-hilted swords. Your desperate wriggling is no match for the power holding you in place. Another sword materializes above your right shoulder, a lingering mirror to its counterpart.
|arF>[→] |selfstyling>[What is she waiting for? Is she enjoying watching you struggle?]
(click: ?arF)[==
Even as you think it, you acknowledge that she doesn't have enough control over her anger to relish in it.
The third sword comes from nowhere, appearing between blinks, dried blood crusted along its length. The final weapon levels itself with your eyes, the point tipping back and forth between them.
|arG>[→] |selfstyling>[Oh.]
(click: ?arG)[==
As if waiting for a cue, the swords tilt almost imperceptibly toward each other. Vivian growls. They plunge.
||=
---
=|=
=><=
####Game Over
=||
---
]\
(else:)[you, one of Vivian's wide-hilted swords. Mercifully, this is when everything goes black.
||=
---
=|=
=><=
####Game Over
=||
---
]{
(click: "Game Over")[|rerunLoad>[(dialog: bind _go, "What next?", "Exit", "Load Save")]]
(event: when _go is "Exit")[\
<script>window.close()</script>]}\
(event: when _go is "Load Save")[\
(dialog: bind _loading, [Select save file:
(dropdown: bind $saveLoader, ...(dm-names: (saved-games:)))
], "Stay on this page", "Load")\
(if: ((saved-games: ) contains $saveLoader) and (_loading is "Load"))[
[(load-game:$saveLoader)]\
(else-if: _loading is "Load")[(dialog: "Could not load save file")(rerun: ?rerunLoad)]
]]{(if: visits is 1)[\
(set: $newspaper to (macro:[\
(if: $agent does not match $il)[(out:)[The mess is appalling, but there's nothing revelatory about Roscoe's caravan.]]
(if: $seenCaravanPaper is false)[(out:)[\
The edge of |paperReveal>[a newspaper] pokes out from beneath a sweater.\
(if: (visited: "Illusion Gallery"))[(click: ?paperReveal)[(set: $seenCaravanPaper to true)<!--not "seen" until here bc otherwise the else statement would be confusing-->
The newspaper is folded open to the obituaries, displaying (if: $seenRoscoeObit)[the same Devlin Twins obituary you found in the Illusion Gallery](else:)[an obituary for the Devlin Twins]. Digging through a little farther, you find the puzzles page, half-filled with answers(if: $seenFromVivNotes or $seenNoteForRoscoe)[ in Vivian's handwriting].(if: $hints)[ This must be Vivian's paper.]]]
]]\
(else:)[(out:)[\
The |paperReveal>[newspaper] you uncovered stares at you from the side table.
(click: ?paperReveal)[
It's folded open to the obituaries, displaying (if: $seenRoscoeObit)[the same Devlin Twins obituary you found in the Illusion Gallery](else:)[an obituary for the Devlin Twins]. Digging through a little farther, you find the puzzles page, half-filled with answers(if: $seenFromVivNotes or $seenNoteForRoscoe)[ in Vivian's handwriting].(if: $hints)[ This must be Vivian's paper.]]
]]\
]))\
(set: $noteForRoscoe to (macro:[(out:)[\
(if: $seenNoteForRoscoe)[|nfrReveal>[Vivian's note] greets you on the inside of the door.]\
(else:)[The door swings outward, revealing |nfrReveal>[a note] pinned to the inside.]
(click: ?nfrReveal)[==(set: $seenNoteForRoscoe to true)
(text-size:0.7)[\
==|===
Can we talk before opening tonight? Found something interesting while I was doing puzzles in an old newspaper. Left it for you to peruse…
-V\
|==|
]]\
]))\
(set: $ftBody to (macro:[\
(if: $ftSolved)[(out:)[\
Winn's body is nestled in the ash, now more a blanket than a prison.]]\
(else:)[(if: $seenFTBody)[(out:)[\
Nestled in the weather-worn remains is |ftCorpse>[Winn's body].
(click: ?ftCorpse)[==
A telltale vibration thrums through your body as you handle the bones— the antsy energy of a restless spirit. Lumps of what must have once been rings encircle the corpse's fingerbones, and there's a snarl of tangled metal near the jaw— layered necklaces, collapsed to a sculptural lump by the heat of the fire.(if: $seenTrinketSheet)[ There's no way one of Ford's wooden trinkets could have survived a fire, but you don't really need its help to identify the body.] You can't imagine this would be anyone else but Winn.
]]\
(else:)[(out:)[(set: $seenFTBody to true)\
As you step gingerly through the charred remains, you hit your toe on something hard. The powdery ash shakes off easily enough to reveal bones. A telltale vibration thrums through your body as you handle the bones— the antsy energy of a restless spirit. (if: (visited: "Fortune Stall"))[the resonant quality of this spirit reminds you of the power that spoke to you in the Fortune Stall.](if: $location does not match $l4 and $agent does not match $ft)[
(opacity: 0.5)["$firstName… not here. she's not here."]
The whisper is spoken directly into your ear. Another poltergeist, maybe. Or a standard haunting, passed beyond corporeality. But in the case of a standard haunting, Vivian would know they were here. "Wispy" seems unusually apt in this situation.]<!--Winn *is* a poltergeist because they're angry at vivian, but because of their abilties, they're way more controlled than any other one. they're trying to be helpful bc they know vivian is the Center of the problems (they probably think she's causing more problems and needs banished), but they don't know hauntless has already found vivian and needs to solve her death-->
Cursory examination of the corpse reveals fingerbones encircled with lumps of what may once have been rings, as well as a snarl of tangled metal near the jaw— layered necklaces, collapsed to a sculptural lump by the heat of the fire.(if: $seenTrinketSheet)[ There's no way one of Ford's wooden trinkets could have survived a fire, but you don't really need its help to identify the body.] You can't imagine this would be anyone else but Winn.
]]\
]]))\
(set: $notesFromViv to (macro: [\
(out:)[\
|fromVivContents>[(if: $seenFromVivNotes)[\
You found notes in here earlier that seemed to be |cueNotesFV>[from Vivian].]\
(else:)[\
Several wadded-up balls of paper languish in the corner. They're fragile, and it takes several minutes to |cueNotesFV>[flatten them] without the paper flaking apart.
(set: $seenFromVivNotes to true)]
(click: ?cueNotesFV)[==\
{|tablenotes>[\
|col>[Josephine,<br>
Up for an encore? I enjoyed our evening last night.<br>
V
]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[Jo,<br>
Same place, same time as always. <br>
♡ V]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[Jo,<br>
I know. Of course this is more than casual, I've just been waiting for you to be ready.<br>
♡ V]]}\
(if: $seenFromJoNotes)[
They look like they would line up with |cueInterlaceJ>[the notes from Josephine] that you found in Vivian's cabin.]\
(click: ?cueInterlaceJ)[(replace: ?fromVivContents)[($interlaceNotes:)]]]]
]))
(set: $notesFromJo to (macro:[\
(out:)[\
|fromJoContents>[(if: $seenFromJoNotes)[\
You found notes in here earlier that seemed to be |cueNotesFJ>[from Josephine].]\
(else:)[\
A palm-sized box with cherry-red laquer rests on the windowsill. The latch has rusted to itself, but a few minutes of patient wiggling releases the catch. You almost choke on the smell of old paper from the delicately |cueNotesFJ>[folded notes] within.
(set: $seenFromJoNotes to true)]
(click: ?cueNotesFJ)[==\
{|tablenotes>[\
|col>[Vivian,<br>
If you aren't busy tonight, come to my caravan. I'd bet we have some shared interests.<br>
Josephine]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[Viv,<br>
I know it started casually, but things have changed. In my previous line of work, sex was used as a commodity, or leverage, or payment. That's not what this is to me. I want to be more than a liaison on nights when we're both bored. I'd like to take you out, do something more special.<br>
Jo]]}
The notes aren't dated, but the paper and ink changes between these and the rest.
{|tablenotes>[\
|col>[Viv,<br>
Why won't you talk to me?]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[What's going on?]
|col2>[<br>]
|col>[<br>]
|col2>[<br>]
|col>[Vivian,<br>
You knew what this was to me. I made it clear how significant it was for me to truly care for someone the way I care for you. You could have ended it, if you didn't feel how I do. You used me, just like I told you I'd been before. And you won't even condescend to talk to me about it.<br>
Josephine]]}\
(if: $seenFromVivNotes)[
They look like they would line up with |cueInterlaceV>[the notes from Vivian] that you found in Josephine's cabin.]\
(click: ?cueInterlaceV)[(replace: ?fromJoContents)[($interlaceNotes:)]]]]
]))
(set: $loveNotes to (macro:[\
(if: $seenFromVivNotes and $seenFromJoNotes)[(out:)[($interlaceNotes:)]]\
(else-if: $seenFromVivNotes)[(out:)[($notesFromViv:)]]\
(else-if: $seenFromJoNotes)[(out:)[($notesFromJo:)]]\
(else:)[(out:)[]]\
]))\
<!--WINN'S KEY-->
(set: $keyFinder to (macro:[\
(if: $hasWinnKey)[\
(if: $seenWinnJournal)[You found a key in the wreckage that unlocked a drawer in the Fortune Stall's pigeonhole cabinet.]
(else:)[(out:)[\
You found a key in the wreckage, earlier(if: (visited: "Fortune Stall") and $hints)[. Maybe it would fit that drawer in the Fortune Stall?](else:)[, but nothing for it to unlock].]\
]]\
(else:)[(out:)[(set: $hasWinnKey to true)\
Glinting the ash is a piece of— surprisingly unscathed— metal. A key, but you don't see anything intact enough to merit unlocking.]]\
]))\
<!--BIRTHDAY EARRINGS-->
(set: $birthdayEarrings to (macro:[\
(if: $seenBirthdayEarrings)[(out:)[\
The |earringReveal>[earrings] from under Josephine's pillow are in your backpack.
(click: ?earringReveal)[==
They're gorgeous earrings, made of sparkling metal shards in coppers and golds, with speckles of silvery tin twirling in the center. When you pick them up, they flash like miniature flames.
Tucked in the pouch beside them is a slip of paper:
(text-size:0.7)[\
==|===
Happy birthday, Viv. -J\
|==|
]
]]
(else:)[(set: $seenBirthdayEarrings to true)(out:)[\
An unseen wind sends the pillow from the cot careening toward your head. You dodge it neatly— it's a pillow— and notice a |earringReveal>[velvet pouch] lying on the bed in its wake.
(click: ?earringReveal)[==
You shake the contents into your hand: A gorgeous pair of earrings, made of sparkling metal shards in coppers and golds, with speckles of silvery tin twirling in the center. When you pick one up, it flashes like a miniature flame.
Tucked in the pouch beside them is a slip of paper:
(text-size:0.7)[Happy birthday, Viv. -J]
]]
]))
<!--INCENSE BOX-->
(set: $incenseBox to (macro:[(out:)[\
(if: $seenIncenseBox)[The haunting remains of the stone box remind you of the ring of incense cones that circled Winn's caravan.]\
(else:)[(set: $seenIncenseBox to true)\
A broken stone incense box rests at the perimeter of Winn's soot-drenched caravan. The lid is cracked in two, spilling revealing… nothing inside? Another lap of the burnt caravan allows you to spot a series of half-burnt incense cones, dispersed at two foot intervals around the area of the fire.]]\
]))\
]}\
<div class="header"><img src="images_jpg/SleepingCaravans.jpg" alt="Sleeping Caravans"></div>
###Sleeping Caravans
Wheeled caravans cover the grass and cracked, dry mud behind the show tents, parked at haphazard angles to one another. \
(if: visits is 1)[\
Each caravan is slightly different in size and character, to the point that you can almost tell whose is whose without looking at the initials carved on each door. Except… you can't pinpoint which one might belong to the fortune teller, Winn. Maybe they didn't have one? Unless, wait. You spot charcoal remains sticking up at the east edge of the caravans, half-reclaimed by the earth.]\
(else: )[\
In the afternoon light, they cast long shadows like some assortment of wood and silver sundials, each keeping their own time.]\
<!--CARAVANS ARE GUILTY-->\
(if: ($isGuilty: (passage:)'s name))[\
(if: $seenVivianBones is false)[\
(if: ($seeBonesAsk:) is true)[(set: $seenVivianBones to true)
Scanning the caravans again, you notice a flash of white beneath one of the wheels: bones. This part is miserable, but it shows up often in your job. Squatting, you start to pull the pieces out from beneath the caravan. ($bonesDesc:)]]\
(else-if: $seenVivianBones is true)[
The |boneReturn>[bones] are lying where you left them. (click: ?boneReturn)[($bonesDesc:)]]{
}(if: $method matches $w4)[<!--broken mirror-->\
(if: ($seenShard is false) and (visited: "Illusion Gallery"))[
A single flash of light sparks in the corner of your eye as you turn your head. Something reflective is wedged in the cracked earth. You kneel, scraping through lumps of earth until you come up with a sliver of glass. ($guiltRoomShard:)]\
(else-if: $seenShard is true)[
($guiltRoomShardSeen:)]\
]\
(else-if: $method matches $w6)[<!--crystal ball-->\
(if: ($seenCBBag is false) and (visited: "Fortune Stall"))[
You get distracted when, wedged between the spoked of a caravan wheel, a piece of fabric tugs at your intuition. ($guiltRoomBag:)]\
(else-if: $seenCBBag is true)[
($guiltRoomBagSeen:)]\
]\
]\
<!--END GUILT-->\
<!--USE THE SAME MECHANICS AS FOR THE FILES TO ENTER AND LEAVE EACH (relevant) CARAVAN AS NEEDED
3.20.25 i really don't know why i didn't just do different passages for these. wtf bro.-->\
''Roscoe's Caravan'' -- |ilClose>[(link: "enter")[|ilCloser>[leave the caravan]
(rerun: ?ftClose)(rerun: ?shClose)(rerun: ?vivClose)(rerun: ?animalClose)(rerun: ?acroClose)\
---
(if: $agent matches $il)[($noteForRoscoe:)
]\
(if: $visitedRoscoeCaravan is false)[(set: $visitedRoscoeCaravan to true)Two trunks have been dragged out from beneath the cot to sit in the center of the room. Both lids are thrown open, revealing them to be almost empty. (if: $agent matches $il)[On the cot, a suitcase is half filled with wadded clothing.] Even a tiny writing desk in the corner of the caravan has been swallowed by fabric. ]\
(else:)[The alarming conditions in Roscoe's caravan are unchanged. It still looks as though someone took the whole vehicle and shook it vigorously. Clothing covers every surface, from the cot to the tiny writing desk in one corner of the caravan. ]\
($newspaper:)
---
]
(click: ?ilCloser)[\
(rerun: ?ilClose)[]]]\
''Winn's Caravan'' -- |ftClose>[(link: "approach")[|ftCloser>[leave the remains]
(rerun: ?ilClose)(rerun: ?shClose)(rerun: ?vivClose)(rerun: ?animalClose)(rerun: ?acroClose)\
---
(if: $visitedWinnCaravan is false)[(set: $visitedWinnCaravan to true)The easternmost caravan is little more than a pile of old firewood and twisted metal. When you near where a door would have been, you find the handleplate with a long, skinny, blunt-edged sword wedged across it.
]\
(else:)[\
Returning to the ruins of Winn's caravan hits home how much was destroyed. You can almost make out the twisted metal structure of a cot off to the left, but everything else is virtually indistinguishable.
(if: $seenFTBody)[\
($keyFinder:)]
]
($ftBody:)(if: $hasWinnKey)[\
($incenseBox:)]\
---
]
(click: ?ftCloser)[\
(rerun: ?ftClose)[]]]\
''Josephine's Caravan'' -- |shClose>[(link: "enter")[|shCloser>[leave the caravan]
(rerun: ?ilClose)(rerun: ?ftClose)(rerun: ?vivClose)(rerun: ?animalClose)(rerun: ?acroClose)\
---
(if: $visitedJoCaravan is 0)[(set: $visitedJoCaravan to 1)The door to Josephine's caravan sticks when you go to push it open and howls when you succeed in doing so. Her broken window was once tacked over with long-dissolved newspaper that now flutters limply in the almost still air. You can hardly see the floor. Blankets, clothing, and books are upset across the caravan, covering a thin rug and hanging off of the edge of the cot.]\
(else:)[(if: $shSolved)[The door to Josephine's caravan swings open without resistance now that she's moved on. Blankets and clothing still cover the floor, but no longer attempt to trip you.]\
(else:)[(set: $visitedJoCaravan to it+1)As before, it's a battle to access Josephine's caravan. The door attempts to slam when you open it, the floors creak like they're about to give out, and the mess strewn throughout writhes snakelike around your legs.]
($birthdayEarrings:)]
(if: $seenFromVivNotes)[($loveNotes:)](else:)[($notesFromViv:)]\
---
]
(click: ?shCloser)[\
(rerun: ?shClose)[]]]\
''Vivian's Caravan'' -- |vivClose>[(link: "enter")[|vivCloser>[leave the caravan]
(rerun: ?ilClose)(rerun: ?ftClose)(rerun: ?shClose)(rerun: ?animalClose)(rerun: ?acroClose)\
---
(if: $COFCharm is true)[Vivian's caravan has a similar flair to her performance tent. ](if: $visitedVivCaravan is 0)[(set: $visitedVivCaravan to 1) Dried flowers hang from the ceiling, interspersed with thin metal chains that bounce the light in every direction.(if: (visited: "Chamber of Flame"))[ Like the Chamber of Flame, it has the air of a thunderstorm just passed, though Vivian's caravan displays none of the chaos of her tent.] Absent a layer of dust, you could almost believe someone still lived here.]\
(else:)[(set: $visitedVivCaravan to it+1)A rumpled cot(if: $seenSketch)[ that you recognize from the sketch in Josephine's pocket] is shoved against one wall and two makeshift armoires are bolted to the other. The end near the door is governed by a collection of half-finished puzzle books and old newspaper crosswords from a variety of cities and towns.]
(if: $seenFromJoNotes)[($loveNotes:)](else:)[($notesFromJo:)]
---
]
(click: ?vivCloser)[\
(rerun: ?vivClose)[]]]\
''Animal Staff's Caravan'' -- |animalClose>[(link: "enter")[|animalCloser>[leave the caravan]
(rerun: ?ilClose)(rerun: ?ftClose)(rerun: ?shClose)(rerun: ?vivClose)(rerun: ?acroClose)\
---
(if: $visitedOliveCaravan is false)[(set: $visitedOliveCaravan to true)]\
The caravan where Olive and $sc, the snake charmer, lived is tidy with the exception of a thick layer of dust. A pair of cots mirror each other from opposite corners, with small bags and cases tucked beneath. A greying purple curtain covers a window decorated with spiderwebs.
You have a hard time distinguishing what furnishings might belong to $sc and which belong to Olive besides a stack of bail slips with her name and two marriage certificates clipped to their decrees of annulment.
---
]
(click: ?animalCloser)[\
(rerun: ?animalClose)[]]]\
''Acrobats' Caravan'' -- |acroClose>[(link: "enter")[|acroCloser>[leave the caravan]
(rerun: ?ilClose)(rerun: ?ftClose)(rerun: ?shClose)(rerun: ?vivClose)(rerun: ?animalClose)\
---
<!--no "visited" variable bc statement is revealed through here and can be used the same way-->\
The acrobats' caravan is sparsely furnished. There are so few possessions that you can't even guess how many people lived here, let alone what belongs to who. (if: $acStatement is false)[This reminds you of |acStatementReveal>[the acrobats' statement] in your assignment file.\
(click:?acStatementReveal)[(set: $acStatement to true)(rerun: ?footerUpdate)]]\
(else:)[There was an interview with the acrobats included in your assignment file, though.]
The only items of note are a hoop and pair of fans that look as though they belong to a fire dancer(if: (visited: "Chamber of Flame"))[, but they're nothing like the ones you found in Vivian's tent. These are newer and of a cheaper make, and there's a pair of evenly-worn gloves tucked beneath the fans. You can't even find the customary chemicals and rags of a fire dancer.](else:)[.]\
---
]
(click: ?acroCloser)[\
(rerun: ?acroClose)[]]]
---
(if: (visited: "Medical Tent"))[The [[medical tent->Medical Tent]]](else:)[[[One tent->Medical Tent]], bearing a large medical cross,] is nestled among the caravans and (if: (visited: "Mess Tent"))[the [[mess tent->Mess Tent]]](else:)[[[another tent->Mess Tent]]] sits farther south, behind (if: (visited: "Casper Office"))[](else:)[what appears to be ][[Casper's caravan->Casper Office]].(float-box: "X====","Y")(dialog:
[$notebookStyling[\
####Gifts for everyone:
* Casper: High Top
* Roscoe: Dove
* Winn: The Hermit
** (it's one of their cards, ask to look at it)
* Vivian: Sword and Torch
* Josephine: Shotgun
** (she might not wear it, but it's worth a try)
* Olive: Housecat
** (leave her a note or she'll take it the wrong way, even though she knows what I mean)
* $sm: Maple Tree
* $sc: Coiled Serpent
* Cook: Cup and Spoon
* Doc: --
** (I can't figure it out. Maybe just ask Doc what she wants?)
]], "Finished looking"){(if: visits is 1)[\
(set: $rmBody to (macro: [\
(if: $rmSolved)[(out:)[\
Casper's bones, in the center of the floor, are just that. Bones.\
]]\
(else:)[(if: $seenRMBody)[(out:)[\
|rmCorpse>[Bones] occupy the floor space behind the desk.\
(click: ?rmCorpse)[
The sandbag you removed from their head leans against one leg of cot, slouched in shame. Powdery remnants of a skull almost seem to hover over a dark stain on the floor. Resting beside them is a small pile of possessions: a few metal hoops that could be piercings or hair accessories, a carved wooden necklace of the High Top, and a mangled pair of wire-frame glasses. The rest of the bones point down to the desk, where they were writing in a ledger before they died.]]]\
(else:)[(out:)[\
The most notable feature of the desk is what it hides behind it: A tipped chair and a splayed-out |rmCorpse>[collection of bones].\
(click: ?rmCorpse)[(set: $seenRMBody to true)
You heave the sandbag off of the skull, noting that it's smaller and lighter than those used to secure the tents(if: (visited: "Chamber of Flame") and $hints)[ In fact, it closely resembles the sandbags in Vivian's tent]. Beneath, a heap of cracked, powdery bone does little to hide the dark stain on the floor.
Other than the skull, it's nothing unusual for a skeleton. You find a few metal hoops that could be piercings or hair accessories, a carved wooden necklace of the High Top, and a pair of mangled wire-frame glasses. You right the chair and make an attempt to rearrange the bones so they're less spread eagle. The papers sigh, not quite kindly, but the closest you've heard to it.]]]\
]]))\
(set: $balanceBook to (macro: [(set: $currentPerception to ($roll: $perceptionBonus))(out:)[
(if: $seenBalance)[\
Cirque Deliria's |showLedger>[ledger] and a stack of paychecks dominate the space on the desk, sheltered from the storm of paper by Casper's pen.]\
(else:)[\
There's |showLedger>[a ledger] and a stack of paychecks on the desk, pinned beneath Casper's pen. The last thing they were working on.]\
(click: ?showLedger)[==
<!--TODO future iteration: make an actual ledger here. i just literally cannot be bothered. i am not a business owner. i don't know how to make a ledger that will provide adequate clues.
(box: "=XXXXXXXXXXX=")[awfduhalksdjfhnak.djsnfakjsdnfkajd]-->{
}The numbers don't quite line up(if: $agent matches $rm)[, and it looks like someone was trying to fix them in a hurry. Inkblots freckle the page, clouding over scratched out and rewritten numbers.](else:)[. Paging backward, it's clearly not a mathematical error. Everything is meticulously calculated and recalculated, correctly, until about three months before $sansYear. There, paid out percentages stop lining up with what the employees were owed based on ticket sales or concessions, little shorts here and there.]
(if: $seenBalance is false)[(set: $seenBalance to true)(if: $agent does not match $rm)[A note on the ledger indicates that paychecks are due to the performers after the show on $date and "MUST get done BEFORE opening." They each have a name written, but no payment amount. Shuffling through, you find Vivian's unwritten check about halfway down the stack.]\
(else:)[You shuffle through the stack of paychecks, but fail to find one with Vivian's name on it.]]\
(else:)[(if: $agent does not match $rm)[A note on the ledger indicates that paychecks are due to the performers after the show on $date. They each have a name written, but no payment amount. Vivian's check is about halfway down the stack.](else:)[You weren't able to find Vivian's paycheck in the stack.]]\
]]))\
<!--function displays letters found in Casper Office. the final letter offers the option to "set the letters down," closing the macro, or go to the "next" page, resetting the order back to the first letter
the true final letter only appears here if casper is innocent. otherwise, it appears with vivian's paycheck in the COF-->
(set: $casperMail to (macro:[(out:)[\
(if: $seenCasperMail)[
The |showCLetters>[letters] you found in Casper's desk sit in a neat stack.]\
(else:)[(set: $seenCasperMail to true)
It occurs to you to check through the desk, to see what else Casper might have been hiding. The key is still in the lock, hanging on a loop that Casper must have worn as a necklace. In the top drawer, you find a |showCLetters>[bundle of letters].]\
(click: ?showCLetters)[==
|letters>[\
|letter1>[The first letter is dated just under a year prior to the collapse of the circus.
=|||||==
Mx. Quickteeth,
I’m quite the fan of your Cirque Deliria, and I’d like to make you an offer. With the recent shuttering of your competitor, Robbins and Landry Circus, there’s an opening in the market for your endeavor to grow. I’m prepared to provide you the funds to do this, over the course of the next several months.
Enclosed is the first of several checks. If you choose to cash this check, I’ll take that as an agreement to our collaboration. At present, a silent partnership works well for my interests, but I may put forth a few simple requests in the future.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
It's been annotated by Casper with circles and scribbles in the margins: "would fund new attractions, additional employees" "could solve acrobat tensions." "bring on an illusionist?" "requests?" "no return address…"]
|==|
Next page\
(click: "Next page")[==(replace: ?letter1)[|letter2>[A couple months later, a receipt for cash and the next letter:
=|||||==
Mx. Quickteeth,
You certainly took your time, but I'm pleased to see you accept my offer. I look forward to seeing the illusionist you choose to bring on board. Another check is enclosed. Perhaps you might consider using a portion of the money to invest in new signage.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
The second receipt for cash is attached to the back, dated less than a week after the letter. There also a couple of notes on this letter: "Has the ad gone out yet?" "Has seen signage…" ]]\
(click: "Next page")[==(replace: ?letter2)[|letter3>[\
=|||||==
Mx. Casper,
Your illusionist has certainly made a splash. I have included funds for new wardrobe for your troupe.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>\
]]\
(click: "Next page")[==(replace: ?letter3)[|letter4>[\
=|||||==
Casper,
Enclosed is your next installment. Motivate your Fortune Teller to learn the art of the séance.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
One note on this letter, scrawled at the bottom: "Ask Winn. Offer raise?"]]\
(click: "Next page")[==(replace: ?letter4)[|letter5>[\
=|||||==
Casper,
How goes the séance effort? Do not forget, I can withdraw my support at any time. In the event I do so, you are expected to pay me back. Do not test my patience.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
The cash receipt attached to this note is for less than half the amount of the rest.\
(if: $agent matches $rm)[ An additional envelope is present behind it, but there's no letter inside.
(link: "Set down the letters")[(replace: ?letters)[]]\
]]]\
(click: "Next page")[==(if: $agent matches $rm)[(rerun: ?letters)](else:)[==(replace: ?letter5)[|letter6>[The final letter is dated $date.
=|||||==
Casper,
Well done. I look forward to seeing the crowds this will bring. Now, your animal show is quite solid as it stands, but I think perhaps you could branch out a bit. You already have that dwarf, perhaps put out a search for a bearded lady and others with those sort of strange and jarring features. You could even pull in the fire eater, with that arm.
<div class="inline_image"><img src="images_jpg/Signature.png" alt="signature"></div>
|==|
The check is attached to the back of this letter, untouched. Casper has underlined "strange and jarring features" in a harsh slash, and put a question mark next to "animal show." At the bottom is a note. "I need to stop this. Next they will ask for me to climb on stage and have the audience guess if I am man or woman. But we can't afford to pay back what they've given us…"
](link: "Set down the letters")[(replace: ?letters)[You lay the letters neatly on the desk.]]\
(click:"Next page")[==(rerun: ?letters)]]\
]\
]))\
]}\
###Casper's (if: visits is 1)[~~Caravan~~ ]Office
<!--FIRST VISIT-->
(if: visits is 1)[Paper covers every surface in Casper's caravan, to the point that you almost lose track of the cot, wedged unceremoniously in a corner and stacked high with books and forms and payslips. Despite that, it's not messy. Every paper is filed or stacked neatly, or contained within one of numerous thick record books. A desk governs the space, sitting centered, facing the door. The caravan resembles an office more than a bedroom. At least, until you cross the threshold.
Any unfiled paper flaps up, swirling into a cone of print and handwriting around the desk. The sound hits you in a wave, then changes. Paper brushing against itself turns to an indistininguishable shhh-shhhing noise, turns into a roaring crowd, turns into jaunty music, turns into cracking leather and thudding feet and the sound of your heart in your ears.
Right, then. Despite the showmanship, the miniature storm does little more than momentarily disorient you. In fact, it settles to an easy rustling as you approach it, more bark than bite.
]\
<!--OTHER VISITS-->\
(else:)[\
(if: $rmSolved is false)[The paper hurricane remains much the same, ruffling through the loose sheets and echoing disjointed sounds as though to tell you exactly how much you don't belong in Casper's belongings. The sounds are easy enough to tune out, now that you aren't surprised by them.]\
(else:)[Casper's caravan is less lively without their spirit, just an unmoving blanket of paper and quiet bones.]
($casperMail:)
]\
($rmBody:)\
(event: when $seenRMBody is true)[($balanceBook:)]\
---
Beyond Casper's office, the rest of the [[caravans->Sleeping Caravans]] are scattered across a less crowded section of the field. In the other direction, (if: (visited: "Medical Tent"))[the [[medical tent->Medical Tent]]](else:)[[[a small tent->Medical Tent]] bearing a medical cross] sits in the shadow of (if: (visited: "Mess Tent"))[the [[mess tent->Mess Tent]]](else:)[[[a far larger one->Mess Tent]]]. |conversation>[(set: $bluntness to "Very")(set: _tempAgent to (trimmed: (p:"(", string, ")"), $agent))\
"…Oh. And you're sure?" Vivian looks at you sideways, brow creased with hesitation.
|arrow>[→]|selfstyling>["I am. All evidence pointed to (trimmed: _tempAgent). Everyone else was accounted for. And I found quite a few potential weapons, but this is the only one that made sense. Is there a problem?"]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"I just don't know what I expected. I know that you're right, it feels like a puzzle piece clicking, but I still feel heavy." She wraps her arms around herself.
|arrow>[→]|selfstyling>["Right. Well I would love to dig into that puzzle piece feeling to discuss with future spirits, but I do think I know why you might not be feeling ready to move on yet."]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"You do?" Vivian glances up at you through shimmering, ethereal tears. Spirits can't truly cry, but they can do a rough approximation.
|arrow>[→]|selfstyling>["How blunt do you want me to be?"]\
(click: ?arrow's last)[==(scroll: ?page, 1)
|bQuery>[(cycling-link: bind $bluntness, "Very", "Maybe a little")].
|specialArrow>[→](click: ?specialArrow)[==(set: _showMore to true)(replace: ?bQuery)[$bluntness]\
(if: $bluntness is "Very")[|selfstyling>["I think, Vivian, that you became a poltergeist immediately after you died. As a poltergeist, you attacked anyone you though could be responsible for you dying, and you killed them too. You soaked up their vitality. That's how you've stayed corporeal this long, and why you've never seen another ghost here."]
"I //what//?" Shock sloughs off of Vivian in waves so strong you almost feel surprised, yourself.
|arrow>[→]|selfstyling>["You killed them, as a spirit governed by fear and anger. You weren't yourself, you couldn't control it, and you can't remember it, but it was you. It happens. Often, actually."]]\
(else:)[|selfstyling>["I think, Vivian, that the reason you've persisted so long is that you absorbed the energies of the others who died here."]
"You think I stole their vitality away and that's why they're just wispies and I lasted for//ever//?"
|arrow>[→]|selfstyling>["More or less."]]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"But I didn't mean to."
|arrow>[→]|selfstyling>["I know. You didn't intend to do it. You didn't even know you did it. It happened, though, and some part of you was aware of it. That's why your answer didn't release you."]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"Oh, I feel horribly guilty now." She arcs her shoulders as if trying to avoid the sensation creeping over them.
|arrow>[→]|selfstyling>["Don't. There's nothing you can do for it now. Guilt is going to keep you here. You need to believe you're allowed to move on. I'm sure there are others waiting for you, wherever you go."]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"You think?" Her face brightens a touch. "I won't be alone anymore?"
|arrow>[→]|selfstyling>["You won't."]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"If I can forgive (trimmed: (p: "(", string, ")"), $agent) for killing me, I can move on, even knowing this."
|arrow>[→]|selfstyling>["It's hard when you can't be forgiven in turn, but if you can accept it, it might be enough."]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"In a way, it's almost like a second answer. I wanted to know so badly why I was alone for so long. Just hearing what I did, even though it's terrible, makes me feel lighter. Do you think that's enough?"
|arrow>[→]|selfstyling>["I think it depends on you. Do you have anything left to resolve?"]\
(click: ?arrow's last)[==(scroll: ?page, 1)
"|release>[I don't think so.]"]\
(click: ?release)[==(replace: ?conversation)[==\
Vivian scans Cirque Deliria from her vantage point at the ticket booth.
"It used to be so beautiful. I wish you could've seen it. I wish you could've met them all. Thank you, $firstName. I've been so lonely for so long."
Her little remaining color fades as she speaks, leaving her so transparent you can see through to a pair of crows pecking at an insect in the dirt.
"I don't want to walk away, so I'm going to walk toward it instead."
She doesn't wait for your response, stepping lightly toward the high top. She vanishes, evaporating into reflective particles, before she crosses the clearing.
[[Vivian is gone->Success]].(float-box: "X====","Y")(dialog:
[$notebookStyling[\
####Settings
(box: "=XXXXXXXXXXXX=")[\
(checkbox: 2bind $check, " Notes Assist")
(checkbox: 2bind $hints, " Extra hints")
(checkbox: 2bind $noGraphic, " Filtered Imagery")
* (text-size: 0.7)[Checking this setting **exclusively** filters out violent imagery as experienced in the "present" by you, the player, in one possible ending scenario.]]]], "Close")