Integrate stats, resources, and cosmetics into adventures via conditional branches gated by game state checks. Each of the 9 adventures now has a secret branch that rewards exploration and encourages replay with subtle hints on locked choices. The endgame box now triggers a Destiny adventure that acknowledges all completed adventures and secret branches, with four ending tiers culminating in an ultimate ending when all 9 secrets are found. Also adds the crafting engine, CLAUDE.md and specifications.md for faster onboarding.
213 lines
9.8 KiB
Text
213 lines
9.8 KiB
Text
// Sentimental Adventure - Open The Box
|
|
// Theme: A box of memories, love, and bittersweet nostalgia
|
|
|
|
character chenda
|
|
name: Chenda
|
|
role: Love Interest
|
|
|
|
character farah
|
|
name: Farah
|
|
role: Best Friend
|
|
|
|
state
|
|
memories: 0
|
|
heartLevel: 50
|
|
chendaClose: false
|
|
acceptedPast: false
|
|
|
|
beat Intro
|
|
Rain taps against the attic window. You're surrounded by dust and the quiet ghosts of years gone by. #intro-rain
|
|
In the corner, half-hidden under a moth-eaten blanket, you find it: a box. #intro-find
|
|
It's not special-looking. Brown cardboard. A little crushed on one side. Held together with tape that's given up on being sticky. #intro-box
|
|
But you recognize the handwriting on the side. It says "Us." #intro-us
|
|
farah: Hey, I thought I'd find you up here. What's that? #farah-find
|
|
farah: Oh. That box. I remember that box. #farah-remember
|
|
|
|
choice
|
|
Open the box #opt-open
|
|
-> OpenMemoryBox
|
|
Ask Farah what she remembers #opt-ask-farah
|
|
-> FarahRemembers
|
|
Put it back -- some boxes should stay closed #opt-putback
|
|
-> PutItBack
|
|
|
|
beat FarahRemembers
|
|
farah: That's the box from the summer Chenda moved in next door. #farah-summer
|
|
farah: You two used to pass notes in it. Back and forth over the fence. #farah-notes
|
|
farah: You called it "Box Mail." You were twelve. It was adorable and deeply uncool. #farah-boxmail
|
|
farah: Chenda still has the other box. The one you sent your notes IN. #farah-otherbox
|
|
heartLevel += 10
|
|
-> OpenMemoryBox
|
|
|
|
beat PutItBack
|
|
You push the box back under the blanket. #putback-push
|
|
farah: You sure? #farah-sure
|
|
A moment passes. The rain gets louder. #putback-rain
|
|
farah: You know, I read somewhere that unopened boxes are just feelings with a lid on them. #farah-feelings
|
|
farah: I didn't read that anywhere. I just made it up. But it sounded wise, right? #farah-wise
|
|
You look at the box again. Maybe some feelings deserve to be unlidded. #putback-unlid
|
|
-> OpenMemoryBox
|
|
|
|
beat OpenMemoryBox
|
|
You open the box carefully. The flaps resist, then give way with a soft sigh. #open-careful
|
|
Inside: a mess of trinkets, notes, and small objects that meant everything once. #open-inside
|
|
memories += 1
|
|
farah: Oh wow. It's all still here. #farah-wow
|
|
|
|
choice
|
|
Pick up the photograph on top #opt-photo
|
|
-> MemoryPhoto
|
|
Read the folded note #opt-note
|
|
-> MemoryNote
|
|
Look at the small wooden figurine #opt-figurine
|
|
-> MemoryFigurine
|
|
Look deeper -- past the objects, into what they meant|||You feel like you could see the invisible threads connecting everything in this box... #opt-truesight [if hasEquipped("eyes", "MagicianGlasses") or hasStat("Wisdom", 10)]
|
|
-> TrueSight
|
|
|
|
beat TrueSight
|
|
markSecretBranch("sentimental_true_sight")
|
|
You look at the box, but not at the things inside. You look at the spaces between them. #true-look
|
|
And you see it -- faint, golden threads. Connecting the photo to the note, the note to the figurine, the figurine back to the photo. #true-threads
|
|
farah: You're doing that thing again. That staring-at-nothing-but-seeing-everything thing. #farah-staring
|
|
Every thread is a moment. The photo connects to the day you laughed so hard you couldn't breathe. The note connects to the night you stayed up talking until sunrise. #true-moments
|
|
The figurine connects to the afternoon you realized this wasn't just friendship anymore. #true-figurine
|
|
farah: What do you see? #farah-see
|
|
farah: You know what, don't tell me. Some things are better felt than explained. #farah-felt
|
|
heartLevel += 30
|
|
memories += 3
|
|
chendaClose = true
|
|
-> CallChenda
|
|
|
|
beat MemoryPhoto
|
|
It's a polaroid. Slightly faded. Two teenagers standing in front of a moving truck. #photo-polaroid
|
|
One is you. The other is Chenda, holding up a cardboard box and grinning like it's a trophy. #photo-chenda
|
|
The day Chenda moved in. The day everything started. #photo-day
|
|
farah: You two became friends because Chenda's parents needed help carrying boxes. #farah-carrying
|
|
farah: Literally. Your entire relationship started because of cardboard boxes. #farah-cardboard
|
|
farah: If that's not fate, I don't know what is. #farah-fate
|
|
heartLevel += 15
|
|
memories += 1
|
|
-> MemoryNote
|
|
|
|
beat MemoryNote
|
|
You unfold the note. The paper is soft from years of being folded and unfolded. #note-unfold
|
|
It reads, in Chenda's handwriting: "Thanks for helping with the boxes yesterday. You're weird, but the good kind of weird. Box Mail is the best invention ever. - C" #note-reads
|
|
heartLevel += 20
|
|
farah: The "good kind of weird." That's the nicest thing anyone's ever said about you. #farah-weird
|
|
farah: And she wasn't wrong. About either part. #farah-notWrong
|
|
memories += 1
|
|
|
|
choice
|
|
Keep reading through the box #opt-keep-reading
|
|
-> MemoryFigurine
|
|
Call Chenda #opt-call
|
|
chendaClose = true
|
|
-> CallChenda
|
|
|
|
beat MemoryFigurine
|
|
At the bottom of the box: a small wooden figurine. A box. Carved from a popsicle stick. #figurine-bottom
|
|
You remember making it in shop class. You gave it to Chenda as a joke. #figurine-joke
|
|
"A box for someone who changed my life with a box." You'd written it on a gift tag. #figurine-tag
|
|
farah: You were so smooth. Like sandpaper, but smoother. #farah-smooth
|
|
farah: I think Chenda kept the gift tag too. I saw it on the fridge last week. #farah-fridge
|
|
heartLevel += 20
|
|
memories += 1
|
|
|
|
choice
|
|
Call Chenda now #opt-call-now
|
|
chendaClose = true
|
|
-> CallChenda
|
|
Sit with the memories a while longer #opt-sit
|
|
-> SitWithMemories
|
|
|
|
beat SitWithMemories
|
|
You sit on the attic floor, the box in your lap, rain on the window. #sit-floor
|
|
farah: You know what the best thing about boxes is? #farah-best
|
|
farah: They keep things safe. Even when you forget about them. Even when years pass. #farah-safe
|
|
farah: The stuff inside doesn't change. It just waits for you to come back. #farah-waits
|
|
heartLevel += 10
|
|
You realize she's not just talking about boxes. #sit-realize
|
|
-> CallChenda
|
|
|
|
beat CallChenda
|
|
You pick up your phone. Chenda's number is still there. Of course it is. #call-phone
|
|
It rings three times. Then: #call-rings
|
|
chenda: Hello? Oh! Hey! I was just... you're not going to believe this. #chenda-hello
|
|
chenda: I'm in MY attic. Looking at MY box. The one with your notes in it. #chenda-attic
|
|
heartLevel += 20
|
|
farah: I'm going to go make tea and pretend this isn't making me emotional. #farah-tea
|
|
|
|
choice
|
|
Tell Chenda you found the box too #opt-tell
|
|
-> SharedMoment
|
|
Ask if Chenda still has the wooden figurine #opt-figurine-ask
|
|
-> AskFigurine
|
|
Invite Chenda over #opt-invite
|
|
chendaClose = true
|
|
-> InviteOver
|
|
|
|
beat AskFigurine
|
|
chenda: The little wooden box you made? Of course I still have it. #chenda-figurine
|
|
chenda: It's on my desk. Right next to my computer. I see it every day. #chenda-desk
|
|
chenda: I never told you that. That seems like the kind of thing I should have told you. #chenda-shouldve
|
|
heartLevel += 15
|
|
-> SharedMoment
|
|
|
|
beat InviteOver
|
|
chenda: I'll be there in twenty minutes. Keep the box open. I want to see everything. #chenda-coming
|
|
chenda: And don't eat the candy at the bottom. I know there's candy. Old candy, but still. #chenda-candy
|
|
farah: There IS candy at the bottom. It's been there for ten years. I would not eat it. #farah-candy
|
|
heartLevel += 10
|
|
-> SharedMoment
|
|
|
|
beat SharedMoment
|
|
chenda: You know, I was thinking about the day we met. #chenda-thinking
|
|
chenda: My parents were yelling about which box went where. I was miserable. New town, no friends. #chenda-miserable
|
|
chenda: And then you showed up. This random kid, offering to carry boxes. #chenda-random
|
|
chenda: You dropped the first one. It had all my books in it. They went everywhere. #chenda-dropped
|
|
chenda: And you looked so mortified that I started laughing. And then you laughed. #chenda-laughed
|
|
chenda: And I thought: okay. Maybe this place won't be so bad. #chenda-okay
|
|
heartLevel += 25
|
|
memories += 1
|
|
|
|
choice
|
|
Say "I still can't carry boxes properly" #opt-still-cant
|
|
-> StillCant
|
|
Say "That was the best box I ever dropped" #opt-best-drop
|
|
-> BestDrop
|
|
|
|
beat StillCant
|
|
chenda: I know. I've seen you try. It's a miracle you function as an adult. #chenda-function
|
|
chenda: But you always show up. Even when you'll definitely drop the box. #chenda-showup
|
|
chenda: That's the thing about you. You show up. #chenda-always
|
|
acceptedPast = true
|
|
-> Ending
|
|
|
|
beat BestDrop
|
|
chenda: Only you would romanticize dropping someone's belongings on the ground. #chenda-romanticize
|
|
chenda: But yeah. It was a pretty good drop. A+ dropping. #chenda-aplus
|
|
chenda: Every time I see a cardboard box now, I think of you. Which is inconvenient. #chenda-inconvenient
|
|
chenda: Boxes are EVERYWHERE. I can't go to the post office without getting nostalgic. #chenda-postoffice
|
|
acceptedPast = true
|
|
-> Ending
|
|
|
|
beat Ending
|
|
The rain slows to a drizzle. The attic feels warmer than it did an hour ago. #ending-rain
|
|
You look at the box. Just a box. Cardboard, tape, scribbled handwriting. #ending-look
|
|
But it held everything that mattered. It kept it safe while you were busy forgetting. #ending-held
|
|
|
|
if chendaClose
|
|
chenda: Hey. Let's not wait another ten years before we open a box together. #chenda-together
|
|
chenda: Deal? #chenda-deal
|
|
heartLevel += 20
|
|
|
|
farah: You two are disgustingly sweet. I mean that as a compliment. Mostly. #farah-sweet
|
|
farah: Memories found today: $memories. Heart level: $heartLevel. Tissues used by Farah: she's not saying. #farah-final
|
|
|
|
if acceptedPast
|
|
You close the box gently. Not to seal it away again, but because the memories are safe now. #ending-close
|
|
They're not just in the box anymore. They're back where they belong. #ending-belong
|
|
|
|
farah: For what it's worth, I'm glad you opened it. Some boxes really are worth opening. #farah-worth
|
|
farah: Even the scary ones. Especially the scary ones. #farah-especially
|
|
-> .
|