,A nice vacation in the snowy mountains miles away from town was all you needed and wanted, and even planned for weeks... only for a sudden blizzard to turn what would be an afternoon of skiing followed by a cozy night of fireplace roasted marshmallows into an impossibility.
Unable to go out to fetch firewood or supplies, you knew you would not last for long enough. At some point, you'd have to be confident enough that you could find your way back and take a hike to the nearest convenience store to get something to last until the blizzard ran itself out.
[[Go out->Lost in the Trail]]Sadly, you barely even knew the way to the nearest convenience store. Not even sure whether you were still on the trail or not, you started considering whether it'd be better to push forward in the hopes you'd find a safe place, or find your way back and try to survive until morning with what you had.
[[Attempt to find your way back->The Cabin]]
[[Walk forward, you know where your are going->The Cabin]]{
(if: (history:) contains "The Cabin")
[You walk away from the cabin, not very safe that approaching an unknown lodging would be wise. But as you keep walking you realize you've been drawing circles as you approach, once again, the familiar wooden porch.]
(else:)
[Your wandering takes you, by chance, to the steps of a cabin in the middle of the snowy woods. You can see its wooden porch sticking out of the white surroundings.]
}
[[Get closer->The Porch]]
[[Continue walking->The Cabin]]The wooden floor of the porch is wet from the melted snow of your boots. |sweepable)[The water turns the dust and dirt on the floor into a slightly muddy mess. ]|from_outside)[You are safe from the snow by the awning above... it feels warmer than the cruel outdoors already. ]
[[A note->The Note]] is attached to the door, written in fine ink and cursive calligraphy. How fancy...
|sweep)[{
(link: "Sweep the Porch")[
(set: $tasks_todo to it - (a:"sweep porch"))
(set: $action_history to it + (a: "You have swept the porch"))
(display: "Sidebar")
(replace: ?sweep)[]
(replace: ?sweepable)[]
]
}
]|note_read)[[[Enter the cabin->The Hall]]
][[Attempt to leave->The Fog]]
{
(if: (history:) contains "The Note")[(show: ?note_read)]
(if: last of (history:) is "The Cabin")[(show: ?from_outside)]
(if: $tasks_todo contains "sweep porch")[
(show: ?sweepable)
(if: $inventory contains "broom")[
(show: ?sweep)
]
]
}(background: yellow + white)+(text-style: "shadow")+(text-indent: 8)[(box:"=XXXXXXXXX=")["To my housekeeper:
As you are reading this note, I am not home at the moment of your arrival. My apologies. Make yourself at home and take care of everything in my absence, and you shall be free to rest from the cold. Otherwise, no misdeed shall be unpunished...
Be well,
-- The Great Grunfledorf"]]
[[...Okay->The Porch]]The entrance hall is small, but so much warmer than the outside. |coat>[There are furry coats hanging from hooks attached to the door].
[[Exit the door.->The Porch]]
[[Go inside->The Living Room]]
{
(unless: $inventory contains "coat")[
(click: ?coat)[
(set: $inventory to it + (a: "coat"))
(set: $action_history to it + (a: "You picked up a fur coat"))
(display: "Sidebar")
]
]
}As you venture further into the wilderness, the cold is biting and the fog is thick. You can't see anything even a measly foot ahead of your nose.(if: not ($inventory contains "coat"))[ There's no way you can press on with just your current garments.]
|fogLevel1)[
The weather turns bitter as snow starts to fall... your coat can keep you warm, but you still can't see much ahead, stumbling blindly through the snow.
]|fogLevel2)[
You're not quite sure if the sky is darkening due to the late hour, or whether that is the snow intensifying... one thing is certain, though, this is turning more and more dangerous by the minute.
]|fogLevel3)[
As the cold bites your cheeks and hope seems lost, you spot in the distance... lights! Small, but surely there, warm soft lights that seem to belong to a warm and well-lit house, somewhere you can find safe lodging, at last!
]|return)[[[Return to the Cabin->The Porch]]
]|continue)[[[Press On->The Fog]]]
{
(if: (history:)'s last is (passage:)'s name)[
(set: $fogLoopCount to it + 1)
]
(else:)[
(set: $fogLoopCount to 0)
]
(for: each _fogLevel, ...(range: 1,3))[
(if: _fogLevel <= $fogLoopCount)[
(show: (hooks-named: (str: "fogLevel", _fogLevel)))
]
]
(if: $inventory contains "coat")[(show: ?continue)]
(if: $fogLoopCount >= 3)[
(replace: ?continue)[[[Go towards the lights->The Elf Maiden]]]
](else:)[
(show: ?return)
]
}The living room is large and furnished|sweepable)[, although the floor is covered with a thin layer of mud and dirt]. A fireplace is embedded on the wall, opposite to a large sofa|dustable)[, covered in dust]. |fire)[The warm light of the fire fills the room.]
|sweep_living)[{
(link: "Sweep Living Room")[
(set: $tasks_todo to it - (a:"sweep living room"))
(set: $action_history to it + (a: "You have swept the living room"))
(display: "Sidebar")
(replace: ?sweepable)[]
(replace: ?sweep_living)[]
]
}
]|dust_living)[{
(link: "Dust Living Room")[
(set: $tasks_todo to it - (a:"dust living room"))
(set: $action_history to it + (a: "You have dusted the living room"))
(display: "Sidebar")
(replace: ?dustable)[]
(replace: ?dust_living)[]
]
}
]|light_fire)[{
(link: "Light the fireplace")[
(set: $tasks_todo to it - (a: "light fireplace"))
(set: $action_history to it + (a: "You have lit the fireplace"))
(display: "Sidebar")
(if: $inventory contains "coat")[
(show: ?sofa)
]
(show: ?fire)
(replace: ?light_fire)[]
]
}
]|sofa)[[[Sleep on the sofa->Sleep (Living Room)]]
][[Go to the kitchen->The Kitchen]]
[[Go to the hall->The Hall]]
[[Go upstairs->The Bedroom]]
{
(if: $tasks_todo contains "light fireplace")[
(if: $inventory contains "firewood")[
(show: ?light_fire)
]
]
(else:)[
(show: ?fire)
(if: $inventory contains "coat")[
(show: ?sofa)
]
]
(if: $tasks_todo contains "sweep living room")[
(show: ?sweepable)
(if: $inventory contains "broom")[
(show: ?sweep_living)
]
]
(if: $tasks_todo contains "dust living room")[
(show: ?dustable)
(if: $inventory contains "duster")[
(show: ?dust_living)
]
]
}The kitchen is wide and long, the floor covered in tiles and the walls lined with cupboards and utilities. A (link-reveal: "fridge")[(show: ?fridge)] stands tall against the farthest corner.|sweepable)[ The tiled floor is covered in a layer of dust and grime.](if: $cooked_plate is "cookies")[ There is a plate of warm cookies on the table.](if: $cooked_plate is "chicken")[ There is a golden roasted chicken sitting delicious on the table.]
|fridge)[(if: $cooked_plate is "chicken")[The fridge is now empty.](else:)[In the fridge, a whole chicken sits plucked and clean, ready for the cooking. (if: $inventory contains "recipe book")[According to the recipe book, it'd really go well with some potatoes...]]
]|sweep_kitchen)[{
(link: "Sweep the Floor")[
(set: $tasks_todo to it - (a:"sweep kitchen"))
(set: $action_history to it + (a: "You have sweeped the kitchen"))
(display: "Sidebar")
(replace: ?sweepable)[]
(replace: ?sweep_kitchen)[]
]
}
]|cook_cookies)[{
(link: "Bake Some Cookies")[
(set: $tasks_todo to it - (a:"cook"))
(set: $action_history to it + (a: "You have baked some cookies"))
(set: $cooked_plate to "cookies")
(display: "Sidebar")
(replace: ?cook_cookies)[]
(replace: ?cook_chicken)[]
]
}
]|cook_chicken)[{
(link: "Roast The Chicken")[
(set: $tasks_todo to it - (a:"cook"))
(set: $action_history to it + (a: "You have roasted the chicken"))
(set: $cooked_plate to "chicken")
(display: "Sidebar")
(replace: ?cook_cookies)[]
(replace: ?cook_chicken)[]
]
}
][[Go to the living room->The Living Room]]
[[Go downstairs->The Basement]]
[[Enter the closet->The Broom Closet]]
{
(if: $tasks_todo contains "sweep kitchen")[
(show: ?sweepable)
(if: $inventory contains "broom")[
(show: ?sweep_kitchen)
]
]
(if: $tasks_todo contains "cook")[
(if: $inventory contains "cookie mix")[
(show: ?cook_cookies)
]
(if: $inventory contains all of (a: "recipe book", "potatoes"))[
(show: ?cook_chicken)
]
]
}The main bedroom is large and rustic, mainly containing a large double bed with heavy blankets and pillows. The rest of the furniture of the place is a wide cupboard, a wardrobe against the wall, a bookcase and a coat rack with nothing on it.
At the wall opposite to the entrance door there is another door, likely a bathroom. |recipe_book>[A large book is slightly dislodged from the book case. On the spine, it reads: "Excellent Recipes For Good Housewives."]
|sweep_bedroom)[{
(link: "Sweep Bedroom")[
(set: $tasks_todo to it - (a:"sweep bedroom"))
(set: $action_history to it + (a: "You have swept the bedroom"))
(display: "Sidebar")
(replace: ?sweepable)[]
(replace: ?sweep_bedroom)[]
]
}
]|dust_bedroom)[{
(link: "Dust Bedroom")[
(set: $tasks_todo to it - (a:"dust bedroom"))
(set: $action_history to it + (a: "You have dusted the bedroom"))
(display: "Sidebar")
(replace: ?dustable)[]
(replace: ?dust_bedroom)[]
]
}
]|pick_book)[{
(link: "Take the Book")[
(set: $inventory to it + (a:"recipe book"))
(set: $action_history to it + (a: "You have picked up the recipe book"))
(display: "Sidebar")
(replace: ?recipe_book)[]
(replace: ?pick_book)[]
]
}
][[Sleep on the bed->Sleep (Bedroom)]]
[[Go in the bathroom->The Bathroom]]
[[Go downstairs->The Living Room]]
{
(if: $tasks_todo contains "sweep bedroom")[
(show: ?sweepable)
(if: $inventory contains "broom")[
(show: ?sweep_bedroom)
]
]
(if: $tasks_todo contains "dust bedroom")[
(show: ?dustable)
(if: $inventory contains "duster")[
(show: ?dust_bedroom)
]
]
(if: $inventory contains "recipe book")[
(replace:?recipe_book)[]
](else:)[
(show: ?pick_book)
]
}The bathroom is surprisingly luxurious for a cabin in the middle of the woods, entirely decorated with tiles, furry carpets by the bathtub and the toilet, and a vanity with a large mirror. |grime)[The bottom of the bathtub is coated in a noticeable layer of grime]
|clean_tub)[{
(link: "Clean the Bathtub")[
(set: $tasks_todo to it - (a:"clean bathtub"))
(set: $action_history to it + (a: "You have cleaned the bathtub"))
(display: "Sidebar")
(show: ?bath)
(replace: ?clean_tub)[]
(replace: ?grime)[]
]
}
]|bath)[[[Fill the Bathtub->Bath]]
][[Go back out.->The Bedroom]]
{
(if: $tasks_todo contains "clean bathtub")[
(show: ?grime)
(if: $inventory contains "bucket")[
(show: ?clean_tub)
]
](else:)[
(show: ?bath)
]
}Going downstairs leads into the slightly damp and chilly basement... not a very pleasant place to be, and a bit cluttered to be honest. |firewood>[ Under the stairs sits a pile of chopped firewood.] |potatoes>[There's a sack of potatoes hanging near the far corner.]
|sweep_basement)[{
(link: "Sweep Basement")[
(set: $tasks_todo to it - (a:"sweep basement"))
(set: $action_history to it + (a: "You have swept the basement"))
(display: "Sidebar")
(replace: ?sweepable)[]
(replace: ?sweep_basement)[]
]
}
]|dust_basement)[{
(link: "Dust Basement")[
(set: $tasks_todo to it - (a:"dust basement"))
(set: $action_history to it + (a: "You have dusted the basement"))
(display: "Sidebar")
(replace: ?dustable)[]
(replace: ?dust_basement)[]
]
}
][[Go back upstairs->The Kitchen]]
{
(unless: $inventory contains "firewood")[
(click: ?firewood)[
(set: $inventory to it + (a: "firewood"))
(set: $action_history to it + (a: "You picked up some firewood"))
(display: "Sidebar")
]
]
(unless: $inventory contains "potatoes")[
(click: ?potatoes)[
(set: $inventory to it + (a: "potatoes"))
(set: $action_history to it + (a: "You picked up some potatoes"))
(display: "Sidebar")
]
]
(if: $tasks_todo contains "sweep basement")[
(show: ?sweepable)
(if: $inventory contains "broom")[
(show: ?sweep_basement)
]
]
(if: $tasks_todo contains "dust basement")[
(show: ?dustable)
(if: $inventory contains "duster")[
(show: ?dust_basement)
]
]
}The broom closet is hardly an interesting place, barely lit by a flickering lightbulb dangling on a cord... There are shelves on the wall opposite to the door, where cleaning tools are supposed to be.
|duster>[There is a duster on the top shelf.] |bucket>[There is a bucket on the lower shelf.] |broom>[There is a broom resting against the wall.] |cookie_mix>[Apparently, someone forgot a box of cookie mixture in here.]
{
(set: $closetEntries to it + 1)
(if: $closetEntries < 3)[
[[Leave->The Kitchen]]
]
(else:)[
[[Leave?->Out of the Closet]]
]
}
{
(unless: $inventory contains "duster")[
(click: ?duster)[
(set: $inventory to it + (a: "duster"))
(set: $action_history to it + (a: "You picked up the duster"))
(display: "Sidebar")
]
]
(unless: $inventory contains "bucket")[
(click: ?bucket)[
(set: $inventory to it + (a: "bucket"))
(set: $action_history to it + (a: "You picked up the bucket"))
(display: "Sidebar")
]
]
(unless: $inventory contains "broom")[
(click: ?broom)[
(set: $inventory to it + (a: "broom"))
(set: $action_history to it + (a: "You picked up the broom"))
(display: "Sidebar")
]
]
(unless: $inventory contains "cookie mix")[
(click: ?cookie_mix)[
(set: $inventory to it + (a: "cookie mix"))
(set: $action_history to it + (a: "You picked up the box of cookie mixture"))
(display: "Sidebar")
]
]
}The door of the closet is somewhat stuck...
(link: "Push.")[====You push at the door with your body, forcing it open, stumbling forward into the kitchen. You hear a raspy male voice laughing.
"Had some problem coming out of the closet, there? Well, I'm glad you're here, anyway."
You're ready to ask who the man is, but the long beard and the robe kind of clues in he must be the fellow with the colorful name that owns the place... but you're actually distracted by the sensation that something is off since you exitted the closet...
(link: "Look at yourself.")[====Looking down, you see your own body and the clothes you are wearing... and you're absolutely stunned.
($wifeImage: "sissy", "The Broom Closet")
You open your mouth to comment with confusion at your sudden change of clothes, and maybe apologize for your intrusion, but the man touches a finger to your lips, shushing you.
"No need to explain anything... this is just a consequence of intruding in a magician's house! But don't worry, I'm sure you can already think of ways you can compensate me for that, don't you?"
Your head is filled with thoughts you didn't want to think, but you were helpless against them. You just followed the man upstairs to the bedroom, and hoped that the carpet was not going to feel too rash against your dainty sissy knees...
<strong>Congratulations! You've succcessfully came out of the broom closet and bloomed into a lovely sissy, submitting yourself to the will of the master of the house!</strong>{
(set: _inventoryIndex to (dm:
"coat", "Fur Coat",
"bucket", "Bucket",
"duster", "Duster",
"broom", "Broom",
"firewood", "Firewood",
"potatoes", "Potatoes",
"recipe book", "Recipe Book",
"cookie mix", "Cookie Mix"))
}
## Inventory
(for: each _item, ...$inventory)[(print: _inventoryIndex's (_item))
](if: (passage:)'s tags does not contain "ending")[(replace: ?sidebar)[
(display: "Endings Gallery")
(display: "Inventory")
(display: "History")
]]{
(set: $inventory to (a:))
(set: $action_history to (a:))
(set: $tasks_todo to (a:
"sweep living room", "sweep kitchen", "sweep porch", "sweep bedroom", "sweep basement",
"dust living room", "dust bedroom", "dust basement",
"clean bathtub",
"light fireplace",
"cook") )
(set: $total_tasks_todo to $tasks_todo's length)
(set: $closetEntries to 0)
}The tub quickly fills with clear water, which aqcuires a rosy and bubbly tone... odd, did you put some product in the water? Not that you remember...
It looks so nice and inviting, and HOT, too... the steaming water beckons you in. You feel like you could just get naked, get in and
(link:"Actually, go elsewhere")[This is very convenient, isn't it? A hot tub or perfumed water, and yet you can't remember opening the hot water tap or even seeing a bottle of bath bubbles...
(replace: ?bathe)[[[You really need to relax...->A Magic Bath]]]
(link:"Yes, this is a weird hot bath...")[...And yet, you seem pulled in by the steam, irresitibly called in by the relaxing aroma...
(replace: ?bathe)[[[Resistance is futile; Just get in...->A Magic Bath]]]]]
|bathe>[[[Enter and relax->A Magic Bath]]]You enter the bath, feeling the relaxign properties of hot water and fancy bath bubbles almost immediately. So relaxing you could even...
(link: "Fall asleep.")[====You wake up still in the bath, hearing sounds of movement coming from the outside. Oh, shit, you fell asleep for how long in this bath? And now someone was coming in and about to find you naked in their bathtub. You need to get up, quick!
(link: "Get up.")[====Lifting your body off the water, you realize it feels lighter. The water drips off it in unfamiliar ways, and when you look at yourself, the shock is so great you fall back in the soapy water.
($wifeImage: "bathtub", "Bath")
The door opens and a bearded men in robes shows up, smiling as he sees you, naked under the suds. Before you say anything, he starts to speak.
"No need to explain anything... this is just a consequence of intruding in a magician's house! But don't worry, I'm sure you can already think of ways you can compensate me for that, don't you?"
You wanted to apologize, but your mind felt light and invaded with new thoughts. Instead of a blank face of shock and shame at being caught in such situation, your mouth widened in a smile, and you relaxed into the water further, one hand coming out making a waving motion.
"Are you coming in or what, honey?" Your new voice asks, and as the man starts to shed off his robes, you realize this bath was letting you clean of more than just sweat and dead cells, as your identity dissolved in the hot perfumed water...
<strong>Congratulations! You've succcessfully cleaned the bathtub and took a nice relaxing bath to get your sore muscles ready to submit yourself to the will of the master of the house!</strong>The sofa is not quite comfy, but it suits you well... you would not want to intrude and sleep in the master bedroom, right?
With the fireplace crackling and the fur coat over your body, you are sure you can handle the cold, at least until you rest your muscles...
[[...Wake Up->The Cold Wife]]The bed is made, so why not sleep? You certainly are tired from all that wandering in the snow, and surely the owner of the house will not mind if you just take a quick nap to recharge your energies...
{
(set: $tasks_done to $total_tasks_todo - $tasks_todo's length)
(if: $tasks_done is 0)[
[[...Wake up!->In The Crib]]
]
(else-if: $tasks_done is $total_tasks_todo)[
(if: $cooked_plate is "chicken")[
[[...Wake up!->The Good Wife]]
]
(else:)[
[[...Wake up!->The Sweet Wife]]
]
]
(else:)[
[[...Wake up!->Work To Do]]
]
}You wake up still in bed with the sound of steps coming up the stairs. As you recover conscience, you feel the bed isn't as comfy as you reember lying on it...
(link: "Get up.")[====You lift your body, with some help from the bars around you, hearing an odd crinkling sound as you move in confusion...
...Wait, bars? Why are there pink bars around this bed, which has, in fact, seemingly become a lot smaller?!
(link: "Look at yourself.")[====You do not recall undressing yourself before going to be, and you certainly do not recall dressing up in a dress and diapers, or putting a pacifier in your mouth, and yet...
($wifeImage: "baby", "Sleep (Bedroom)")
The door opens and a bearded men in robes shows up, smiling as he sees you, look with perplexed confusion.
"Well, you did quite a poor job as a housekeeper, haven't you? Not even a single task was done... I can only suppose the house was kind but wicked enough to attribute your uselesness to inability, and not lack of will, you know?"
You look at him, confused, your slack jaw slightly open but the pacifier still remains. Something in your face clearly comunicated an idiot sense of ignorance, because he sighed and continued to explain further.
"How can I say it in a way you may understand... if you expect to just make yourself at home and sleep without doing your part of the work, you might as well just be a big baby with no obligations, you see?"
He laughs, coming closer and patting you on the head.
"Well, honey, don't you worry. I'm sure a suitable mom will come along to be your caretaker. Maybe I need to take a longer journey, since they will have quite the load of work with all the house chores and also you around, right?"
As he softly laughs and pats you on the head again, you feel your intelligence slipping away, and realize that maybe you just need a longer nap, too...
<strong>Congratulations! You've done absolutely nothing useful, and now you'll never have to worry about that for a long long time, as you've been mercifully adopted by the master of the house!</strong>You wake up, and your realize you're not on the bed anymore. How strange... seemingly, you are kneeling on the cold kitchen floor.
(link: "Get up.")[====You feel the will to get up cross your mind, but instead your hand reach for a sponge...
...and that's when you see you have impeccable nail polish on!
(link: "Get up!")[====Again, your will fails to form into action, but this time you finally catch a glimpse of the bigger picture in what's going on with you, as you notice your reflection on the squeaky clean floor, and you see your bright make-up and your hair, which you did not remember at all having put into curlers!
($wifeImage: "housewife", "Sleep (Bedroom)")
You hear the sound of steps coming into the house and through the living room, and then you see the old man arrive at the kitchen door and smile as he sees you there, on all fours, scrubbing the floor.
"Aren't you such a hardworking beauty? I'm really glad I've found you, with such a strong sense of duty and full of dedication... I could not have wished for a better wife!"
An objection forms in your mind, reaching your throat and then turning around and never surfacing. Instead, you just stayed in place, on hands and knees, and smile with your perfectly painted face, continuing your work of scrubbing the floor, your mind already on the supper later and then on the night ahead as you'd share a bed with your new master and husband...
<strong>Congratulations! You've been very dutiful and dedicated to your house chores, and for that you have the honor of serving the master of the house for ever and ever!</strong>You wake up with a startle, with the sound of steps coming up the stairs. You get up quickly, not wanting to be caught sleeping by the owner of the bed... but as you hit the floor you suddenly lose your balance.
(link: "Hold on to something.")[====You support yourself on the near door frame, leaning against it and regaining balance... something is off about your feet, as if your ankles were inches away from the floor.
As you look down your realize what's wrong: high heeled boots! You do not remember ever wearing them, or ever wearing such kind of shoes.
You are taken by the eerie realization that maybe your footwear is not the only thing that's off about you at the moment, but you fear finding out what else might be...
(link: "Look at yourself.")[====As you give your own body a wider look, you realize the clothes you are wearing now are the black and white frilled uniform that certainly characterizes a maid, and which just perfectly contrast your tan skin...
($wifeImage: "maid", "Sleep (Bedroom)")
The door opens and a bearded men in robes shows up, smiling as he sees you. Before you even speak up, he interrupts, guessing that what's coming up is an apology.
"There is no need to apologize, my dear! I realize the work is not done, but what bad is there in taking a little break? After all, you are all ready to get right back to work, aren't you?"
You stop yourself before retorting, or even wondering aloud what did this all mean... you felt your thoughts reshaping and your attitude relaxing as you realized he was right, and you sure were lucky that he did not mind your little break.
"Go and get yourself finished, darling. After all the chores are done, the house is clean, the fireplace is lit and dinner is ready, you might as well perform some extra tasks for me..."
He finishes his sentence with a wry smile, and you also smile back, blushing gracefully and answering silently with a wink before you head downstairs to continue your hard work.
<strong>Congratulations! You've worked well and you may still continue to do so as a servant of the master of the house!</strong>You wake up some time later, with a delicious sweet aroma in the air... you see yourself surrounded by treats, cakes, bonbons, macarons... oh, just the sight of those sweets made your mouth water so...
(link: "Eat some.")[====You take a baked treat and chew it down, feeling its sweet flavor fill your mouth... after you gulp it down, you take your cream covered fingers to your mouth, to lick them clean, and that's when you realize your nails are finely painted under all that sweet cream.
Your sight goes from your manicured hands to the pastel tones of the lingerie you wear, and although your chubby body fills it with such grace and beauty, you also can't shake off the feeling that you were not wearing any of that frilly stylish lingerie... or had all those pounds, on that matter!
(link: "Eat another slice.")[====You quickly shove those thoughts away with a slice of a cake, the fondant making it so easy to forget your worries as you realize you have now the body of a large and beautiful woman.
($wifeImage: "sweet", "Sleep (Bedroom)")
Then in comes an old man, long beard and cloak and all, and as he comes in he looks at you and smiles.
"Well, aren't you a handful... dilligent, but peculiar! You are not quite all I expected, but much like a plate of sweets for dinner, I'm sure you can fulfill your obligations nicely, can't you?"
Slipping a macaron into your mouth, you smile with your lips, mouth full and sweet taste sending tingles to your brain.
"Since all is ready and done, why don't we see how well you fill a bed, my dear?"
You gladly get up and pick another bonbon before skipping upstairs, taking the sweet confection in but already salivating at the anticipation of a big, thick, sweet candy cane...
<strong>Congratulations! You've performed all your duties, with a slight little twist, and thus your life is now all the more sweet as you submit your will to the master of the house!</strong><!-- Template
<!-- The task-performing link -->
|task_tag)[{
(link: "Do Task")[
(set: $tasks_todo to it - (a:"task description"))
(set: $action_history to it + (a: "You have performed the task"))
(display: "Sidebar")
<!-- Transform the page further here, such as showing new links that were previously invisible -->
(replace: ?task_tag)[]
]
}]
<!-- Showing the task-performing link -->
{
(if: $tasks_todo contains "task description")[
<!-- Transform the page, e.g. showing tags that represent the work to be done -->
(if: $inventory contains "required item")[
(show: ?task_tag)
]
]
}You wake up, feeling colder than you remember as you drifted into sleep. The fire has gone and having the coat wrapped up around your body like a blanket is hardly working as intended.
(link: "Wear the coat properly.")[====As you sit slightly to slip your arms into the sleeves of the coat, you realize what the problem has been the whole time: you certainly remember being dressed, albeit in clotehs that were wet with snow and cold from the freezing air, but now you only had lacy panties and stockings, surely those were not proper for this sort of wheater...
(link: "Freak out.")[====It takes a while, but you finally realize that besides your clothes turning to sexy lingerie, your whole body has also became that of a woman, without explanation or reason.
($wifeImage: "fur", "Sleep (Living Room)")
While you took in that sudden change, the door opened and closed, the wind bringing in a flurry of snow and then stopping, sending a chill down your body and turning your nipples hard.
The man who came in, hidden behind his thick beard and a large furry coat, smiled to you coming closer, his presence feeling so warm for some reason...
"What are you doing sleeping there? That's hardly a proper place to sleep in such a harsh weather... come now, come upstairs and help me regain some heat after coming in from such a blizzard..."
He took you by his hand, his warm gentle hand, and helped you up and up the stairs. Trembling lightly as your coat came off, you couldn't think of anything else you'd like to do more than cuddling under heavy blankets and building up some heat...
<strong>Congratulations! You might've succumbed to exhaustion and the cold, but you are now sure to be safe and sound from the harsh winter as you submit your will to the master of the house!</strong>You approach a quaint log cabin, with a warm glow coming from inside. Eager, you run through the snow, knowing in your heart that there was no way someone could refuse aiding a wanderer in such brutal weather conditions!
(link: "Knock at the door")[==You pound at the door, desperate for heat and shelter. The door opens, but as you storm in and the door closes again, the warmth of the fireplace replacing the chill upon your skin, you realize there was no one at the door at all.
Confused, you look at your surroundings, noticing the cozy hospitality of a table with a mug of steaming hot chocolate and a plate of warm cookies placed beside a folded card with a festive cursive text declaring "Welcome!".
(link: "Walk to the table")[==The sound of jingle bells follows you at every step, eliciting an investigative reaction on you, and looking down you realize your outfit has been changed into something not only more festive, but also... much more feminine.
($wifeImage: "elf", "The Fog")
Confused, you still take the mug for a sip, not wanting to let all that hot sweet goodness go to waste... opening the card, on the other hand, proves a lot more informative in regards to your current situation.
"Welcome, new recruit!
If you are reading this mesage, you have successfully reached one of our off-shore recruitment centers. We hope by the end of your cozy meal you will already feel more at ease with your sudden change of race and, perhaps, sex and age. We simply have specific recruitment quotas and attracting the right people is far more complicated than just changing them into the correct specs by magic!
One of our operatives will soon be arriving to take you to our facilities. In the mean time, make yourself at home and enjoy the jolly feeling that comes with becoming one of our esteemed factory workers.
Merry Holidays,
-- St. Nicholas"
You sit on the sofa wondering what to think of all this... what is there to think, really? As the chocolate washes down the cookies and your objections to this whole scenario, you feel like there's nothing else to do than to rest and wait to be taken into a long life in service of the joy of children and adults around the world...
<strong>Congratulations! You've escaped the fate of submitting your will to the master of the house, but instead found a great new master to submit to! Ho ho ho, darling!</strong>{
<!-- Convert Datamap to JSON string -->
(set: $dmToJSON to (macro: datamap-type _dm, [
(output-data: "\{\n\t" + (joined: ",\n\t", ...(altered: _entry via ("'" + _entry's name + "': '" + (str: _entry's value) + "'"), ...(dataentries: _dm))) + "\}")
]))
<!-- Google Analytics: Send Event -->
(set: $gtagEvent to (macro: string-type _eventName, datamap-type _data, [
(output-data: "<script type=\"text/javascript\">
gtag('event','" + _eventName + "', " + ($dmToJSON: _data) + ");
</script>")
]))
<!-- Google Analytics: Set Persistent Property -->
(set: $gtagSet to (macro: string-type _propertyName, any-type _data, [
(output-data: "<script type=\"text/javascript\">
gtag('set', \{'" + _propertyName + "': '" + (str: _data) + "'\});
</script>")
]))
<!-- Ending Image Macro -->
(set: $wifeImage to (macro: string-type _wifeId, string-type _expectedPrevious, [
(set: _firstVisit to ($endings does not contain _wifeId))
(set: _lastEnding to "")
(if: $endings's length > 0)[(set: _lastEnding to $endings's last)]
(if: _firstVisit)[
(set: $endings to it + (a: _wifeId))
]
(output:)[(print: "<img class=\"ending\" src=\"img/house/" + _wifeId + ".jpg\"></img>" + ($gtagEvent: "twine_ending", (dm:
"game_title", "The House Sitter",
"last_ending", _lastEnding,
"ending_id", _wifeId,
"endings", length of $endings,
"tasks_done", (str: (floor: 100 * (1 - (length of $tasks_todo)/$total_tasks_todo))) + "%",
"first_visit", _firstVisit,
"sidebar", last of (history:) is not _expectedPrevious
)))]
]))
}(if: (passage:)'s tags contains "ending" and $endings's length > 0)[<hr/>
<em>[[Try Again?->New Game+]]</em>
<em>(link: "Care for a hint?")[(display: "Hint")]<em>
](display: "Round Initialization")
(set: $play_count to it + 1)
($gtagEvent: "twine_new_game", (dm:
"game_title", "The House Sitter",
"play_count", $play_count,
"endings", length of $endings))
(goto: "Intro"){
(set: $play_count to 0)
($gtagEvent: "twine_start", (dm:
"game_title", "The House Sitter",
"play_count", 0))
(set: $endings to (a:))
}
(display: "Round Initialization"){
(set: _endingIndex to (dm:
"housewife", "The Good Wife",
"sweet", "The Sweet Wife",
"maid", "Work To Do",
"baby", "In The Crib",
"bathtub", "A Magic Bath",
"sissy", "Out of the Closet",
"fur", "The Cold Wife",
"elf", "The Elf Maiden"))
}
## Endings
(for: each _ending, ...(dataentries: _endingIndex))[
{(if: $endings contains _ending's name)[
(link-goto: _ending's value)
](else:)[
????
]}]{
(set: _lastEnding to "")
(if: $endings's length > 0)[(set: _lastEnding to $endings's last)]
($gtagEvent: "twine_hint", (dm:
"game_title", "The House Sitter",
"play_count", $play_count,
"endings", length of $endings,
"last_ending", _lastEnding))
(cond:
$endings's last is "elf", "Perhaps you should go in and warm yourself. I'm sure it can't get worse than it got already...",
$endings's last is "sissy", "Wandering around can be dangerous, so try to plan carefully and pick everything you need at once instead of going in and out willy-nilly...",
$endings's last is "bathtub", "Now you know hot water is like a narcotic for you, so maybe you should steer clear of the tub...",
$endings's last is "fur", "The sofa really isn't the best place to sleep, is it? I'm sure there's somewhere more appropriate where you could rest yourself...",
"maid" is in $endings and all of (a: "housewife", "sweet") is not in $endings, (print: "You worked very hard, but it seems you have missed some work, dear... " + (cond:
$tasks_todo contains all of (a: "sweep basement", "dust basement"), "You know the basement needs to be cleaned too, right?",
$tasks_todo contains all of (a: "sweep bedroom", "dust bedroom"), "Did you really sleep in that bed with all that dust around?",
$tasks_todo contains all of (a: "sweep living room", "dust living room"), "The living room would be much more cozy with all that dust around, right?",
$tasks_todo contains "sweep kitchen", "It's just reasonable to clean the place where the food is kept, right?",
$tasks_todo contains "sweep porch", "Don't forget to clean all the dirt you dragged into the porch!",
$tasks_todo contains "light fireplace", "This place could be a little warmer, couldn't it?",
$tasks_todo contains "clean bathtub", "Do you think the owner of the place ever cleans that hot tub?",
$tasks_todo contains "cook", "A hearty meal always brings a smile for those who are back home!",
"It's probably something small, maybe you just didn't have the right tool for the job!")),
"housewife" is in $endings and "sweet" is not in $endings, "After doing all that work you still have to bake a whole meal? Maybe there's something else that can be eaten but is a lot easier to bake...",
"sweet" is in $endings and "housewife" is not in $endings, (print: "You did your work well, but maybe cookies for dinner was a bit of cheating, wasn't it? " + (cond:
$inventory contains "recipe book", "With that fancy recipe book you can certainly cook something better...",
$inventory does not contain "recipe book", "Maybe you can cook something better if you find a suitable recipe...")),
$endings contains all of (a: "maid", "sweet", "housewife") and "baby" is not in $endings, "Did you ever wonder if you can go to sleep without doing any work? I'm sure you deserve a rest right after walking in from that bitter cold...",
"fur" is not in $endings, "If you light up the fireplace, the living room might be almost cozy enough to sleep in, too...",
"bathtub" is not in $endings, "A hot bath may be almost as refreshing as a good night of sleep. Maybe you should try it...",
"sissy" is not in $endings, "Wandering around a stranger's house can be fun, but watch out! You never know if you'll come out of a room the same way you came in...",
"elf" is not in $endings, "Maybe it's time to blow this popsicle stand. The only problem is outside is too cold. But if you took care of that...",
"I honestly don't know how I can help you, hon... maybe you should look into the strategy guide?")
}## Action History
(for: each _line, ...(reversed: $action_history))[(print: _line)
]<script type="text/javascript">
gtag = function(op, val, data) {
var logMsg = "GTAG Operation '" + op + "'\n\n'" + val + "'"
if (op == "event") {
logMsg = logMsg + " => " + JSON.stringify(data);
} else {
logMsg = logMsg + " = '" + data + "'";
}
alert(logMsg);
}
</script>