''What A Mess!''
Dialogue trees? I'll raise you one and do something with body language trees! A quick and dirty (text-style: "subscript")[(haha)] Twine game for the No Shit Sherlock Jam, written by Celine Oon.
[[Ready?|It Begins]]
So, here you are. You've just made it home from work - put your coat on the coat rack, took your shoes off, all that jazz - and you're tired, as you tend to be at this time of night.
Here you are, tired as tired can be, and look what's here to greet you. Not your dog, cat, mouse, bird, or rabbit. None of your pets.
No, what greets you around the corner is sheer havoc. Bits of shattered terracotta are scattered across the floor like shrapnel, a mound of damp dirt has gotten far too well acquainted with your rug, and the plant - the poor, barely-fruiting tomato plant - the less said about its current state, the better. There is only one thing that could possibly have happened, and that is that one or some or all of your pets have conspired to (text-style: "strike")[ruin your day] make a massive mess.
It's time to track your pets down and bring the one(s) responsible to... (text-style: "expand")[//ANIMAL JUSTICE!//]
Who shall you question first?
[[Your dog, Scruffy]]
[[Your cat, Meowzers]]
[[Your mouse, Meepy]]
[[Your bird, GCC Parroteer]]
[[Your rabbit, Mr Fluffalo]]
(set: $location to (random: 1, 5))
(set: $guilty to (a: (random: 1, 5), (random: 1, 7), (random: 1, 9), (random: 1, 11), (random: 1, 13)))
(if: 1 is in $guilty)[(set: $dguilt to true)](else:)[(set: $dguilt to false)]
(if: 2 is in $guilty)[(set: $cguilt to true)](else:)[(set: $cguilt to false)]
(if: 3 is in $guilty)[(set: $mguilt to true)](else:)[(set: $mguilt to false)]
(if: 4 is in $guilty)[(set: $bguilt to true)](else:)[(set: $bguilt to false)]
(if: 5 is in $guilty)[(set: $rguilt to true)](else:)[(set: $rguilt to false)]You find Scruffy in the {
(if: $location is 1)[kitchen, eating from her bowl]
(else-if: $location is 2)[bathroom, whining at the door]
(else-if: $location is 3)[bedroom, cosying up on the bed]
(else-if: $location is 4)[laundry, barking at some stray lint]
(else:)[living room, hiding under the couch]
}. Resolved, you approach her.
(link-reveal: "**What happened today?**
")[{(if: $dguilt is true)[She raises her hackles and leans forward slightly.]
(else:)[She pricks up her ears and tail.]}]
(link-reveal: "**Did you see who knocked my flowerpot over?**
")[{(if: $dguilt is true)[She holds her head high.]
(else:)[She tilts her head.]}]
(link-reveal: "**Did you knock my flowerpot over?**
")[{(if: $dguilt is true)[She shrinks, baring her teeth.]
(else:)[She shrinks, wagging her tail.]}]
You're done here now. Who shall you question next?
[[Your cat, Meowzers]]
[[Your mouse, Meepy]]
[[Your bird, GCC Parroteer]]
[[Your rabbit, Mr Fluffalo]]
[[You're done with questioning|So Who's Responsible?]]You find Meowzers in the {
(if: $location is 1)[bathroom, trapped in the bathtub]
(else-if: $location is 2)[bedroom, sleeping on the carpet]
(else-if: $location is 3)[laundry, scratching at his litter tray]
(else-if: $location is 4)[living room, sitting between the window and the curtain]
(else:)[kitchen, surveying all that is his]
}. Resolved, you approach him.
(link-reveal: "**What happened today?**
")[{(if: $cguilt is true)[He tucks his tail between his legs.]
(else:)[He blinks at you slowly.]}]
(link-reveal: "**Did you see who knocked my flowerpot over?**
")[{(if: $cguilt is true)[He flattens his ears and twitches his tail.]
(else:)[He stretches and rolls over onto his back.]}]
(link-reveal: "**Did you knock my flowerpot over?**
")[{(if: $cguilt is true)[He raises his tail and arches his back.]
(else:)[He approaches you and curls his tail around your leg.]}]
You're done here now. Who shall you question next?
[[Your dog, Scruffy]]
[[Your mouse, Meepy]]
[[Your bird, GCC Parroteer]]
[[Your rabbit, Mr Fluffalo]]
[[You're done with questioning|So Who's Responsible?]]You find Meepy in the {
(if: $location is 1)[bedroom, chittering quietly in the corner]
(else-if: $location is 2)[laundry, curled up in a heap of clothes]
(else-if: $location is 3)[living room, snoozing on the couch]
(else-if: $location is 4)[kitchen, staring hungrily at a picture of cheese]
(else:)[bathroom, nuzzling up against the placemat]
}. Resolved, you approach her.
(link-reveal: "**What happened today?**
")[{(if: $mguilt is true)[She stands up on her hind legs.]
(else:)[She pricks up her ears and peers at you.]}]
(link-reveal: "**Did you see who knocked my flowerpot over?**
")[{(if: $mguilt is true)[She starts grooming herself vigorously.]
(else:)[She wiggles her whiskers.]}]
(link-reveal: "**Did you knock my flowerpot over?**
")[{(if: $mguilt is true)[She whips her tail back and forth.]
(else:)[She yawns and starts preening herself.]}]
You're done here now. Who shall you question next?
[[Your dog, Scruffy]]
[[Your cat, Meowzers]]
[[Your bird, GCC Parroteer]]
[[Your rabbit, Mr Fluffalo]]
[[You're done with questioning|So Who's Responsible?]]You find GCC Parroteer in the {
(if: $location is 1)[laundry, wrestling with a coat hanger]
(else-if: $location is 2)[living room, perched on the curtain rod]
(else-if: $location is 3)[kitchen, rooting around for sunflower seeds]
(else-if: $location is 4)[bathroom, squawking painfully loudly]
(else:)[bedroom, scuttling around on top of your bed]
}. Resolved, you approach her.
(link-reveal: "**What happened today?**
")[{(if: $bguilt is true)[She shivers.]
(else:)[She ruffles her feathers.]}]
(link-reveal: "**Did you see who knocked my flowerpot over?**
")[{(if: $bguilt is true)[She fans her tail and opens her beak slightly.]
(else:)[She rolls onto her back and then stand up again.]}]
(link-reveal: "**Did you knock my flowerpot over?**
")[{(if: $bguilt is true)[She crouches down and puffs her feathers up.]
(else:)[She bobs up and down.]}]
You're done here now. Who shall you question next?
[[Your dog, Scruffy]]
[[Your cat, Meowzers]]
[[Your mouse, Meepy]]
[[Your rabbit, Mr Fluffalo]]
[[You're done with questioning|So Who's Responsible?]]You find Mr Fluffalo in the {
(if: $location is 1)[living room, watching the blank TV screen]
(else-if: $location is 2)[kitchen, lapping at water]
(else-if: $location is 3)[bathroom, legs splayed on the slippery tiles]
(else-if: $location is 4)[bedroom, hopping up and down on your pillows]
(else:)[laundry, snuffling around the clothes pile]
}. Resolved, you approach him.
(link-reveal: "**What happened today?**
")[{(if: $rguilt is true)[He sniffs loudly.]
(else:)[He grinds his teeth quietly.]}]
(link-reveal: "**Did you see who knocked my flowerpot over?**
")[{(if: $rguilt is true)[He thumps his back foot on the ground.]
(else:)[He nudges your leg and licks it.]}]
(link-reveal: "**Did you knock my flowerpot over?**
")[{(if: $rguilt is true)[He turns his back to you and hops away.]
(else:)[He lies down and splays his feet out behind him.]}]
You're done here now. Who shall you question next?
[[Your dog, Scruffy]]
[[Your cat, Meowzers]]
[[Your mouse, Meepy]]
[[Your bird, GCC Parroteer]]
[[You're done with questioning|So Who's Responsible?]]You've finally (text-style: "strike")[interrogated] questioned all your pets. It's now time to decide... (text-style: "expand")[WHODUNNIT?]
Name the culprit(s), and you can be done with this!
[Is Scruffy (link-reveal: "innocent")[(set: $pdguilt to false)(replace: ?pd)[Scruffy is innocent!]] or (link-reveal: "guilty")[(set: $pdguilt to true)(replace: ?pd)[Scruffy is guilty!]]?]<pd|
[Is Meowzers (link-reveal: "innocent")[(set: $pcguilt to false)(replace: ?pc)[Meowzers is innocent!]] or (link-reveal: "guilty")[(set: $pcguilt to true)(replace: ?pc)[Meowzers is guilty!]]?]<pc|
[Is Meepy (link-reveal: "innocent")[(set: $pmguilt to false)(replace: ?pm)[Meepy is innocent!]] or (link-reveal: "guilty")[(set: $pmguilt to true)(replace: ?pm)[Meepy is guilty!]]?]<pm|
[Is GCC Parroteer (link-reveal: "innocent")[(set: $pbguilt to false)(replace: ?pb)[GCC Parroteer is innocent!]] or (link-reveal: "guilty")[(set: $pbguilt to true)(replace: ?pb)[GCC Parroteer is guilty!]]?]<pb|
[Is Mr Fluffalo (link-reveal: "innocent")[(set: $prguilt to false)(replace: ?pr)[Mr Fluffalo is innocent!]] or (link-reveal: "guilty")[(set: $prguilt to true)(replace: ?pr)[Mr Fluffalo is guilty!]]?]<pr|
[[J'Accuse!|The Outcome]]
Not ready to make accusations yet? Maybe you should re-question someone.
[[Your dog, Scruffy]]
[[Your cat, Meowzers]]
[[Your mouse, Meepy]]
[[Your bird, GCC Parroteer]]
[[Your rabbit, Mr Fluffalo]]You gather all your pets up in the living room and (link-reveal: "accuse some of them of destroying your tomato plant!
")[{(if: $perceivedguilty is $trueguilty)
[It looks like you were right on the money. You sentence the culprits to a stern talking to. Hopefully, they won't do this again.]
(else:)
[Hmm... It seems you made a mistake somewhere. Someone snickers. You can't tell who.]}
Either way, this mystery is over. You go to bed exhausted.
You leave for work in the morning, hoping that last night's fiasco [[won't repeat again tonight.|What A Mess!]]]
(set: $trueguilty to (dm: "Scruffy", $dguilt, "Meowzers", $cguilt, "Meepy", $mguilt, "GCC Parroteer", $bguilt, "Mr Fluffalo", $rguilt))
(set: $perceivedguilty to (dm: "Scruffy", $pdguilt, "Meowzers", $pcguilt, "Meepy", $pmguilt, "GCC Parroteer", $pbguilt, "Mr Fluffalo", $prguilt))