Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<h1><center>Escape from Kettuloch</center></h1>
<center>
A text-based, puzzle-focused, dungeon crawling adventure.
ꕥ Slow-burn human to fox transformation | Optional mental changes ꕥ
</center>
<center><h2>[[Start Game|Variables_List]]</h2>
/* [[Gallery|gallery_menu]] */
</center><<linkappend "Skip Introduction">> <<goto "TwoSix">> <</linkappend>>/* [[Gallery|gallery_menu]]
<<linkappend "TestSkip">> <<goto "falling1">> <</linkappend>> */
<<timed 0.3s t8n>>"Wake up! You don't have much time!"
A woman violently wakes you from your sleep, shaking you as they speak in an urgent tone.<</timed>>
<<timed 2s t8n>>The cold, rough, stone floor of the dimly lit room you find yourself in isn't a terribly comfortable place to rest, so it'd be pretty difficult to fall back asleep now.<</timed>>
<<timed 3s t8n>>"I've already read the instructions," they say, gesturing towards a metal plaque situated between two doors.<</timed>>
<<timed 6s t8n>>An amber colored 7-segment clock above the plaque reads<</timed>> <<timed 7s t8n>>29, <</timed>><<timed 8s t8n>>then 28, <</timed>><<timed 9s t8n>>27, <</timed>><<timed 10s t8n>>26. <</timed>><<timed 11s t8n>> Each second it ticks down by one.<</timed>>
<<timed 13s t8n>>[[Suddenly, the doors open as the clock arrives at zero.]]<</timed>>The woman pushes you into the gateway on the right before you even have the opportunity to fully parse what they've told you, let alone ask any questions about your current situation.
As you cross the dungeon's threshold, you begin to feel the curse's energy flowing throughout your body.
<<timed 1.5s t8n>> "Good luck!" she shouts, as the door locks behind you.<</timed>>
<<timed 2s t8n>> [[With no other options presenting themselves, it looks like you need to attempt to escape this place.|TwoSix]] <</timed>>/* What would you like characters to call you?
Personal pronoun:
<<textbox "$pro1" "they">>
Objective pronoun:
<<textbox "$pro2" "them">>
Possessive pronoun:
<<textbox "$pro3" "theirs">>
*/
<<nobr>>
/* Player stats */
<<set $playing to 0>> /* Toggles the footer */
<<set $timeSpent to 0>> /* Number of turns spent */
<<set $money to 0>>
<<set $bonusAtttack to 0>> /* Weapon stat */
<<set $armorRating to 0>> /* Armor stat */
<<set $health to 50>>
<<set $cheating to 0>>
/* Inventory items */
<<set $potions to 0>>
/* Keys */
<<set $doorKey to 0>>
<<set $keyPart1 to 0>>
<<set $keyPart2 to 0>>
<<set $keyPart3 to 0>>
<<set $unusualKey to 0>>
<<set $glowingKey to 0>>
<<set $mysteriousKey to 0>>
/* Room stats - Puzzles*/
<<set $Puzz15Puzz to 1>> /* 1: No attempts, 2-6: Failed attempts +1, 0: Solved */
<<set $Puzz35Puzz to 1>>
<<set $dialOneMax to random(4, 9)>>
<<set $dialTwoMax to random(3, 8)>>
<<if $dialTwoMax == $dialOneMax>>
<<set $dialTwoMax += 1>>
<</if>>
<<set $dialTurns to random(1200, 1700)>>
<<set $d1 to $dialTurns % ($dialOneMax + 1)>>
<<set $d2 to $dialTurns % ($dialTwoMax + 1)>>
/* Room stats - Monsters */
<<set $Mon16Mon to 1>>
<<set $Mon36Mon to 1>>
<<set $Mon24Mon to 1>> /* Zone 1 */
<<set $Mon44Mon to 1>>
<<set $Mon55Mon to 1>>
<<set $Mon54Mon to 1>>
<<set $Mon43Mon to 1>>
<<set $Mon53Mon to 1>>
<<set $Mon52Mon to 1>>
<<set $Mon42Mon to 1>>
<<set $Mon41Mon to 1>> /* Zone 2 */
<<set $bossMon to 1>> /* Final boss */
/* Random layout */
<<set $deadEnd to random(1)>> /* If 0, then (1,4) was the dead end. Otherwise, (3,4) was. This is no longer used.*/
<</nobr>>
<<timed 1s>><<goto intro>><</timed>><<nobr>>
<<if $timeSpent < 40>>
The gate closed as you entered the dungeon. There's no going back now.<br><br>
<<elseif $timeSpent < 70>>
Hmmm.... It looks like the gate that you entered through has a gap below it.
<br><br>
If you were smaller, you might be able to fit through the gap at the bottom....
<br><br>
<<else>>
It looks like the gate that you entered through has a gap below it, and, you've lost enough height that you should be able to fit beneath the bars, if only by a little bit.<br><br>
[[Squeeze under the bars|Secret Ending]]
<</if>>
<<if $playing != 1>>
<<set $playing to 1>>
<</if>>
<<include "meow_12345">><br>
North<br>
[[West|OneSix]]+[[East|ThreeSix]]<br>
South
<</nobr>><<nobr>>
<div id="meow_foot">
<<if $playing == 1>>
<<if $timeSpent % 2 == 0>> <<set $health += 1>> <</if>>
<div class="meow_fx">
Time Remaining:<<set $timeSpent += 1>><br>
<<print 80 - $timeSpent>>
</div>
<div id="foot_health" class="meow_fx">
Potions:<br>
<<print $potions>> -
<!-- replaces named div when link is activated. -->
<<link "Use potions">><<replace "#foot_health" t8n>>
<<set $health += $potions * 10>><<set $potions to 0>>
Potions:<br>
<<print $potions>> - You gained health!<br>
Health:<br>
<<print $health>>
<</replace>><</link>><br>
Health:<br>
<<print $health>>
</div>
<div class="meow_fx">
Equipment:<br>
<<if $timeSpent < 50 and $armorRating == 2>>Weapon - Sword<<else>>Weapon - Nothing.<br><<if $timeSpent > 50>><span style="font-size:smaller">Foxes like you aren't able to hold swords.</span><</if>><</if>><br><<if $armorRating == 2>>Armor<br><</if>>
Money:<br>
<<print $money>>
</div>
<div class="meow_fx">
Conditions:<br>
<<if $timeSpent < 10>>Unchanged<br><</if>>
<<if $timeSpent == 10>>fuzzy ears<br><</if>>
<<if $timeSpent > 10>>Fox ears<br><</if>>
<<if $timeSpent > 20>>Tail<br><</if>>
<<if $timeSpent > 30>>Fur<br><</if>>
<<if $timeSpent > 40>>Snout<br><</if>>
<<if $timeSpent > 50>>Paws<br><</if>>
<<if $timeSpent > 60>>Digitigrade legs<br><</if>>
<<if $timeSpent > 70>>All fours<br><</if>>
<<if $timeSpent > 80>>100% fox<br><</if>>
</div>
<!--div class="meow_fx">
<br>
<br>
<<if $timeSpent <= 20>><br><</if>>
<<if $timeSpent <= 30>><br><</if>>
<<if $timeSpent <= 40>><br><</if>>
<<if $timeSpent <= 50>><br><</if>>
<<if $timeSpent <= 60>><br><</if>>
<<if $timeSpent <= 70>><br><</if>>
<<if $timeSpent <= 80>><br><</if>>
</div-->
<div class="meow_fx">
Description:<br>
<<if $timeSpent < 10>>You're looking like you always have. That might not be the case for long though.
<<elseif $timeSpent >= 10 and $timeSpent < 20>>While you are otherwise human in appearance, the fuzzy ears atop your head are a concrete reminder that you will need to move quickly if you want to leave as anything but a fox.<br>The ears are kinda cute, but the transformation really messed with your inner ear for a bit.
<<elseif $timeSpent >= 20 and $timeSpent < 30>>First the ears, now a tail? What's next?<br>Well, whatever form the next step takes, it certainly won't be making you look any more human.
<<elseif $timeSpent >= 30 and $timeSpent < 40>>If you can lift the curse, you might return to normal, but if you don't, at least you can look forward to being very popular with furries...<br>...well... You would if it weren't for your face. You'd have a pretty easy time getting cast in "Cats" though. Or, you could be vivisected as soon as you're out of here, but it's probably not a good idea to think about that.
<<elseif $timeSpent >= 40 and $timeSpent < 50>>What a relief. Can you imagine how creepy you would have looked if your face changed last? You'd be like one of those paintings of animals where the artist has clearly only ever painted human faces.<br>You're looking pretty "foxy" right now, what with the ears, tail, muzzle, and fur.
<<elseif $timeSpent >= 50 and $timeSpent < 60>>Paws? Couldn't they have taken just a bit longer to come in? Not having thumbs would make most things harder under normal circumstances, but now you're being left without the ability to use your weapons? Ugh.
<<elseif $timeSpent >= 60 and $timeSpent < 70>>What a miniscule change. Digitigrade legs? After such an inconvenient change, you kinda expected something worse. You're nearing the end of your changes though, so you can expect something along those lines very soon.
<<elseif $timeSpent >= 70>>You're almost entirely indistinguishable from any other fox now. The hair you had prior to the transformation still sits atop your head, still styled just as it was. Along with that, your eyes still appear more human-like than those of most foxes, but you're definitely more fox than human at this point. Actually, you probably passed that threshold a while ago.
<<elseif $timeSpent >= 79>>You're a fox. There is nothing even remotely human left in your appearance. Calling you "foxy" at this point would be a dramatic understatement.
<</if>>
</div>
<span style="color:#111111"><center>nikstlitslepmur</center></span>
<</if>>
</div>
<</nobr>><<set $justTFed to 1>>Suddenly, the world goes completely silent. Dizziness sets in, and it is hard to hold yourself up. After a few seconds have passed you begin to hear your surroundings again. For a few more seconds, your surroundings are muffled, as if your head were underwater. As suddenly as it started, your hearing returns. Whatever was blocking it is gone, but something is different. The sounds coming from in front of you sound much louder than how they did before. Something has obviously changed.
Regaining your balance, you hold your head as the dizziness subsides, suddenly realizing what has happened as you feel two new fuzzy triangles atop your head.
Indeed, your previously human ears have been completely replaced. Where they once were, two fox ears have taken their place.
Great.
At the same time, you feel refreshed. As the curse slowly reconstructs your body it heals the wounds you suffer in combat.
Great!
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $justTFed to 1>>Unlike the previous change, when this one starts, it is immediately obvious what's happening. In the words of the beloved 90's platformer hero Gex, "it's tail time."
Rapidly springing forth from the base of your spine, your large, fluffy tail emerges from beneath your clothing. Thankfully, this change isn't accompanied by any major discomfort, just lots and lots of new vertebrae, some muscle to move it around with, and plenty of very fluffy fur.
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<nobr>>
<<if $timeSpent == 0>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 1>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 11>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 21>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 31>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 41>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 51>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 61>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 71>> <<set $justTFed to 0>> <</if>>
<<if $timeSpent == 10 and $justTFed == 0>> <<goto "TF Stage 1">> <</if>>
<<if $timeSpent == 20 and $justTFed == 0>> <<goto "TF Stage 2">> <</if>>
<<if $timeSpent == 30 and $justTFed == 0>> <<goto "TF Stage 3">> <</if>>
<<if $timeSpent == 40 and $justTFed == 0>> <<goto "TF Stage 4">> <</if>>
<<if $timeSpent == 50 and $justTFed == 0>> <<goto "TF Stage 5">> <</if>>
<<if $timeSpent == 60 and $justTFed == 0>> <<goto "TF Stage 6">> <</if>>
<<if $timeSpent == 70 and $justTFed == 0>> <<goto "TF Stage 7">> <</if>>
<<if $timeSpent == 80 and $justTFed == 0>> <<goto "TF Stage 8">> <</if>>
<</nobr>><<set $justTFed to 1>>Your transformation is progressing again. Pins and needles emanate from the base of your spine, quickly rising along it, before spreading out towards your extremities. Yep, that's fur, and just as expected, it's orange.
As it spreads to your hands (and presumably your feet as well), the orange is replaced by black. You assume that the fur on your chest and neck is white, but you really don't have time to check. As soon as this batch of changes stops, you really need to get back to progressing through the dungeon.
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $justTFed to 1>>The changes are starting again. A force presses in around your nose and chin, almost as if a ghostly hand is holding your mouth shut. This force then begins to pull away from your face, and your face pulls along with it.
Since it's obvious what you're turning into by this point, the new wetness of your vulpine nose isn't as surprising as the ears were. While you wouldn't usually notice your nose, thanks to the fact that your new muzzle takes up so much of your field of view, it's much harder to ignore.
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $justTFed to 1>><<if $armorRating == 2>>The weapon you were holding just a second ago clatters to the ground as you lose your grip on it. Looking down, it quickly becomes apparent why. Where you once sported prehensile hands with opposable thumbs, only near-useless paws remain.
This is definitely going to make combat a lot harder.<<else>>If you had found a weapon by this point it likely wouldn't be of use to you, as your new paws aren't exactly suited to holding anything.<</if>>
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $justTFed to 1>>You let out an inadvertent yip as your eye level suddenly raises by a few inches. It quickly becomes apparent why, as your legs have become digitigrade.
Thankfully, no, gaining digitigrade legs does not mean that your knees have turned backwards. It's a surprisingly common misconception, but plantigrade and digitigrade legs are usually jointed in the same manner. Your ankles are a lot further from your toes than they were, but your knees are in the exact same position that they were before.
Having your knees bend backwards sounds incredibly painful! Thank goodness you're not turning into a bat. An ostrich would be weird too. Four kneecaps? Why would they ever need that many?
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $justTFed to 1>>You kind of knew it was coming, but it doesn't make this part any better.
Unlike the previous stage of your transformation, this time your point of view is rapidly falling closer and closer to the ground. You're shrinking. More concerningly, you're also dropping down onto your forepaws, becoming quadrupedal.
You may still have some of your original features, but this change is a lot to take in.
Taking a few cautious steps in your new position, it becomes clear that you are not quite comfortable with your new form of locomotion.
<<set $timeSpent to $timeSpent - 2>>
[[Return|previous()]]<<set $playing == 0>><<set $justTFed to 1>>The last of your changes are occurring now. Your arms and legs shift, further evening out the length of your limbs and moving the location of your shoulders to a position more fitting of a fox.
You're a fox. There is nothing even remotely human left in your appearance, and calling you "foxy" at this point would be a dramatic understatement.
[[Ending 13]]<<nobr>>
As far as architecture goes, this room has basically no defining features. It's somehow blander than an expired matzah cracker.<br><br>
<<include "meow_12345">><br>
<<if $Mon16Mon == 1>>
<<set $Mon16Mon to 0>>
<<set $monName to "Floating Orb">>
<<set $monHealth to 10>>
<br>
You found 1 potion!<br> <<set $potions += 1>>
You found 2 gold!<br> <<set $money += 2>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "OneSix"]] it. <<if $monHealth >= $health>>Your health is looking a bit low though, so using any potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|OneFive]]<br>
West+[[East|TwoSix]]<br>
South
<</if>>
<</nobr>><<nobr>>
There's a door to the east, <<if $doorKey != 1>>but it appears to be locked.<<else>>and you have the key!<</if>><br><br>
<<set $playing to 1>>
<<include "meow_12345">><br>
<<if $Mon36Mon == 1>>
<<set $Mon36Mon to 0>>
<<set $monName to "Whenwolf">>
<<set $monHealth to 10>>
<br>
You found 1 potion!<br> <<set $potions += 1>>
You found 2 gold!<br> <<set $money += 2>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "ThreeSix"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
<<if $doorKey == 1>>
[[North|ThreeFive]]<br>
[[West|TwoSix]]+[[East|FourSix]]<br>
South
<<else>>
[[North|ThreeFive]]<br>
[[West|TwoSix]]+East<br>
South
<</if>>
<</if>>
<</nobr>><<nobr>>
<<if hasVisited("OneFour") and $Puzz15Puzz >= 1 and $Puzz15Puzz < 5>>The door to the North appears to have been a one-way door.<br><br><</if>>
<<if $Puzz15Puzz >= 1 and $Puzz15Puzz < 5>>
A stone pedestal stands in the center of this room. On it are two dials. The first has notches numbered 0-$dialOneMax, and the second has the numbers 0-$dialTwoMax.<br><br>
A note next to them reads 'Starting with both dials set to 0, just turn each one $dialTurns notches, and you'll be out of here in no time. <br><br>
<<if $Puzz15Puzz >=2>>
''Here's a hint:'' When a 0-3 dial set to 3 is turned one notch more, it is then set to 0.<br><br><</if>>
<<if $Puzz15Puzz >=3>>
''Here's another hint:'' Modulo is very useful here!<br><br><</if>>
<<if $Puzz15Puzz >=4>>
''Two more hints:'' A dial numbered 0-3 has four notches on it in total, not three. Also, you can solve this puzzle with division instead of modulo.<br><br><</if>>
<<if $Puzz15Puzz >=5>>
''One last hint:'' If you use division with a remainder to divide the number of notches to turn a dial by the number of notches on that dial, the remainder will be the correct setting for that dial.<br><br>Example: A dial with 3 notches on it turned 10 notches over would be set to 1. (10/3=3, remainder 1)<br><br><</if>>
What do you turn the first dial to?<br><<textbox "$d1set" 0>><br><br>
What do you turn the second dial to?<br><<textbox "$d2set" 0>><br><br>
[[Check your solution|Puzz15]]
<<else>>
<<if $Puzz15Puzz == 0>>
You've solved the puzzle in this room!
<<else>>
Eventually, you decide to just give in and try every possible combination. It didn't actually end up taking very long, since there were only <<print $dialOneMax * $dialTwoMax>> possible combinations, but every second is precious right now.<br><br>
If you ever end up facing something like this again, a calculator might be helpful.
<</if>><</if>>
<br><br>
<<include "meow_12345">><br>
<<if $Puzz15Puzz == 0 or $Puzz15Puzz == 5>>
[[North|OneFour]]<br>
West+East<br>
[[South|OneSix]]
<<else>>
North<br>
West+East<br>
[[South|OneSix]]
<</if>>
<</nobr>><<nobr>>
<<if hasVisited("OneFive")>>
Oh, good. You're glad that completing that puzzle is leading to somewhere useful instead of just a dead end or something.<br>It would be extremely frustrating if a puzzle like that didn't lead to meaningful progression through the dungeon.<<else>>It looks like this route should take you back to the entrance. The other way would too, but hey, maybe there will be something interesting this way.<</if>>
<br><br>
<<include "meow_12345">><br>
North<br>
West+[[East|TwoFour]]<br>
[[South|OneFive]]
<</nobr>><<nobr>>
<<if $d1 == $d1set and $d2 == $d2set>>
That's it! The two dials click into place, and the wall in front of you opens to reveal a new exit. <<set $timeSpent -= 1>> <<set $Puzz15Puzz to 0>>
<br><br>
[[Great!|OneFive]]
<<else>>
You've spent some time attempting the puzzle, but it doesn't seem like you have the solution.
<<set $Puzz15Puzz += 1>>
[[Dang.|OneFive]]
<</if>>
<</nobr>><<nobr>><<set $doorKey to 1>>
This room seems to be a greenhouse. A sign near where you entered from reads "DO NOT FEED THE PLANTS."
<<if $Mon24Mon == 1>><br>Oh, there's also a very threatening looking plant here. You might want to use a health potion or something.<</if>>
<br><br>
<<if $strangeKey != 1>><br><br>There's also a strange stone door here. If you find a key, maybe it would unlock it!<br><br><</if>>
<<if $mysteriousKey == 0 and $strangeKey == 1>>
The key you got from Ogollo fits! The door to the South opens, sliding into the ground slowly.<br><br><</if>>
<<if $strangeKey == 1 and $mysteriousKey == 1>>
The room to the South has been sealed off now, but you've retrieved the mysterious key it contained.<br><br>
<</if>>
<<include "meow_12345">><br>
<<if $Mon24Mon == 1>>
<<set $Mon24Mon to 0>>
<<set $monName to "Omnivorous Plant">>
<<set $monHealth to 45>>
<br>You found 1 potion!<br> <<set $potions += 1>>
You found 8 gold!<br> <<set $money += 8>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "TwoFour"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
North<br>
[[West|OneFour]]+[[East|ThreeFour]]<br>
<<if $strangeKey == 1 and $mysteriousKey == 0>>
[[South|TwoFive]]
<<else>>
South
<</if>>
<</if>>
<</nobr>><<nobr>>
<<if hasVisited("ThreeFour") and $Puzz35Puzz >= 1>>The door to the North appears to have been a one-way door.<br><br><</if>>
<<if $Puzz35Puzz >= 1>>
A strange creature sits in the center of the room.<br>"Before you try to attack me, think about what you'd need in order to do so," they say.<br>"Yep, in order to attack me, you'd need click "fight." But, as you can see, that's not an option for me, mwahah! So, how about this? If you can guess my name, I'll leave without a fight. If not, you'll be stuck here until that curse of yours has run its course. I'll give you some hints as you guess!
<br><br>If you're not the guessing type, I <i>think</i> I also wrote it somewhere around here in invisible ink."<br><br>
<<if $Puzz35Puzz >=2>>
Have you ever heard a story where someone receives a similar challenge?<br><br><</if>>
<<if $Puzz35Puzz >=3>>
I'm basically the opposite of the character from that story.<br>Or, if you'd rather stop guessing, have you checked <i>everywhere</i> that I might have written my name?<br><br><</if>>
<<if $Puzz35Puzz >=4>>
This puzzle is from Roberta Williams's "King's Quest," and it's infamous for its difficulty.<br>If you're not getting that puzzle, maybe search around for a bit. I hid my name far below where you might think to look for it.<</if>>
<<if $Puzz35Puzz >=4>>
With invisible ink on paper, you usually use a blacklight or heat to reveal it. In this medium a simple "select all" would do the trick.<br>You could also identify me with a simple Google search. If only you had access to a smartphone!<</if>>
"All you need to do is guess my name. Your only hint for now is that it'll be useful to think backwards."<br><<textbox "$nameGuess" "Guess">><br><br>
[[Check your solution|Puzz35]]
<<else>>
You've solved the puzzle in this room!
<</if>>
<br><br>
<<include "meow_12345">><br>
<<if $Puzz35Puzz == 0>>
[[North|ThreeFour]]<br>
West+East<br>
[[South|ThreeSix]]
<<else>>
North<br>
West+East<br>
[[South|ThreeSix]]
<</if>>
<</nobr>><<nobr>><<if $strangeKey != 1>>
<<set $strangeKey to 1>>
A ghostly figure greets you as you enter the room. <br><br>"Hello! Welcome to my shop! I'm Ogollo, the largest supplier of adventuring goods and services in pocket dimension dungeons! I don't have much available for you in this shop, due to the limitations the owner of this dungeon has placed on me, but you can be sure that if it weren't for the rules of this game, you'd have a larger selection of armors and potions available to you in one of my shops than you would find in any other shop across the many worlds I offer my services on.<br><br>
As for right now, my inventory has been artificially limited to a set of 10 coin armor tailored for someone of your current condition. I can assure you that, even as your body changes, this armor will continue to fit well.<br><br>I'll give you a sword too, but don't expect to keep using that once you have paws, haha.<br><br>
Oh, and I also have this strange key for you, but I'm not quite sure what it unlocks. That one's free, courtesy of the dungeon's owner. I thought it might unlock the chest that they put in the other room they let me set up shop in, but it doesn't seem to fit.<br>So, what would you like to buy?"
<<else>>
"Welcome back!"
<</if>>
<br><br>
<<if $money >= 10 and $armorRating == 0>>
<<linkappend "Buy the armor and sword">>
<<set $armorRating to 2>>
<<replace "#meow_foot">><<include PassageFooter>><</replace>>
<</linkappend>>
<br><br>
<</if>>
<<include "meow_12345">><br>
[[North|FourFive]]<br>
[[West|ThreeSix]]+East<br>
South
<</nobr>><<nobr>>
<<set $nameGuess to $nameGuess.toLowerCase()>>
<<if $nameGuess == "ifnkovhgroghprm">>
"Goodness, no. I don't need to sell you a hint guide <i>that</i> badly. That's close enough though!"
<<set $timeSpent -= 1>> <<set $Puzz35Puzz to 0>>
<br><br>
[[Great!|ThreeFive]]
<</if>>
<<if $nameGuess == "nikstlitselpmur" or $nameGuess == "nikstlitslepmur">>
<<if $Puzz35Puzz == 1>>"Wow, you got that almost instantly! Have you done this before or something?" they exclaim as they disappear through the newly opened door to the north.
<<else>>
"That's it! Hopefully you still have enough time to escape, haha." they say, disappearing through the newly opened door to the north.<</if>> <<set $timeSpent -= 1>> <<set $Puzz35Puzz to 0>>
<br><br>
[[Great!|ThreeFive]]
<<else>>
<<if $nameGuess == "rumplestiltskin" or $nameGuess == "rumpelstiltskin">>It's not quite that easy, but you're on the right track!<br><br>Think about the first hint I gave you!<br><br><</if>>
<<if $nameGuess != "nikstlitselpmur" and $nameGuess != "nikstlitslepmur" and $nameGuess != "ifnkovhgroghprm">>
You've spent some time attempting the puzzle, but it doesn't seem like you have the solution.
<<set $Puzz35Puzz += 1>>
[[Dang.|ThreeFive]]<</if>>
<</if>>
<</nobr>><<nobr>>
<<if hasVisited("ThreeFive")>>
Oh, good. You're glad that completing that puzzle is leading to somewhere useful instead of just a dead end or something.<br>It would be extremely frustrating if a puzzle like that didn't lead to meaningful progression through the dungeon.<<else>>It looks like this route should take you back to the entrance. The other way would too, but hey, maybe there will be something interesting this way.<</if>>
<br><br>
<<include "meow_12345">><br>
North<br>
[[West|TwoFour]]+East<br>
[[South|ThreeFive]]
<</nobr>><<set $mysteriousKey to 1>>Inside the hidden room, you find a chest. It contains another key, one even more mysterious than the one you used to enter this room. How exciting!
[[Return|TwoFour]]<<nobr>>
This is the dungeon's kitchen. It's remarkably clean, surprisingly.<br><br>
<<include "meow_12345">><br>
<<if $Mon45Mon == 1>>
<<set $Mon45Mon to 0>>
<<set $monName to "Obligatory Giant Rat">>
<<set $monHealth to 11>>
<br>You found 3 gold!<br> <<set $money += 3>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FourFive"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
North<br>
West+[[East|FiveFive]]<br>
[[South|FourSix]]
<</if>>
<</nobr>><<nobr>>
This room appears to be a barracks of some sort, with beds lining the walls. Do the monsters all sleep here?<br><br>
<<include "meow_12345">><br>
<<if $Mon55Mon == 1>>
<<set $Mon55Mon to 0>>
<<set $monName to "Mer-Owl">>
<<set $monHealth to 13>>
<br>
You found 1 potion!<br> <<set $potions += 1>>You found 2 gold!<br> <<set $money += 2>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FiveFive"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|FiveFour]]<br>
[[West|FourFive]]+East<br>
[[South|FiveSix]]
<</if>>
<</nobr>><<nobr>>
This room appears to be a dressing room and a green room, like you would see at a theater.<br><br>This must be where the monsters get their hair and makeup done before you encounter them.<br><br>
<<include "meow_12345">><br>
<<if $Mon54Mon == 1>>
<<set $Mon54Mon to 0>>
<<set $monName to "Regular Sized Rat">>
<<set $monHealth to 8>>
You found 1 potion!<br> <<set $potions += 1>>
<br>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FiveFour"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|FiveThree]]<br>
West+East<br>
[[South|FiveFive]]
<</if>>
<</nobr>><<nobr>>
'Tis a dead end, but at least there's a chest here!<br><br>
<<if $keyPart1 == 0>>
Opening it up, you find one third of a key.
<<if $timeSpent > 50>>Your paws make it pretty difficult to grasp it, but you manage to pick up the key an put it into your bag. <</if>>
Hopefully this will be useful!<br><br>
<<set $keyPart1 to 1>>
[[Return|FiveFive]]
<<else>>
You've already collected the key part from within it though.<br><br>
[[Return|FiveFive]]
<</if>>
<</nobr>><<nobr>>
This room is in utter disarray.<br>You really should avoid stepping on the broken bits of ceramic on the ground.<br>Those are quite sharp!<br><br>
<<include "meow_12345">><br>
<<if $Mon53Mon == 1>>
<<set $Mon53Mon to 0>>
<<set $monName to "Wearwolf">>
<<set $monHealth to 18>>
You found 1 potion!<br> <<set $potions += 1>>
<br>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FiveThree"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|FiveTwo]]<br>
West+East<br>
[[South|FiveFour]]
<</if>>
<</nobr>><<nobr>>
If this room had a middle name, it would be "Clutter." Unfortunately, none of the clutter looks like it will be very helpful in getting you out of here.<br><br>
<<include "meow_12345">><br>
<<if $Mon52Mon == 1>>
<<set $Mon52Mon to 0>>
<<set $monName to "Wearwolf's Favorite Dress">>
<<set $monHealth to 13>>
<br>
The $monName is here! Before you can move again, you'll need to [[fight][$pastRoom to "FiveTwo"]] it. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
North<br>
[[West|FourTwo]]+East<br>
[[South|FiveThree]]
<</if>>
<</nobr>><<nobr>>
Each of the four walls of this room feature what appears to be an intricate stained glass window depicting frolicking foxes. Light pours into the room from each of them, projecting their designs onto the polished stone floor.<br><br>
<<include "meow_12345">><br>
<<if $Mon42Mon == 1>>
<<set $Mon42Mon to 0>>
<<set $monName to "Largo-morph">>
<<set $monHealth to 15>>
You found 1 potion!<br> <<set $potions += 1>>
<br>You found 5 gold!<br> <<set $money += 5>>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FourTwo"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|FourOne]]<br>
West+[[East|FiveTwo]]<br>
[[South|FourThree]]
<</if>>
<</nobr>><<nobr>>
There is an unlockable door to the west.<br><br>
<<include "meow_12345">><br>
<<if $Mon43Mon == 1>>
<<set $Mon43Mon to 0>>
<<set $monName to "Snow Leopard Shark">>
<<set $monHealth to 13>>
You found 1 potion!<br> <<set $potions += 1>>
<br>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FourThree"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
[[North|FourTwo]]<br>
<<if $keyPart1 == 1 and $keyPart2 == 1 and $keyPart3 == 1>>
[[West|ThreeThree]]+East<br>
<<else>>
West+East<br>
<</if>>
[[South|FourFour]]
<</if>>
<</nobr>><<nobr>>
Everything in this room has been coated in a <i>very</i> thick layer of maroon paint.<br><br>
<<include "meow_12345">><br>
<<if $Mon55Mon == 1>>
<<set $Mon55Mon to 0>>
<<set $monName to "Presto-morph">>
<<set $monHealth to 13>>
<br>
There is a $monName here! Before you can move again, you'll need to [[fight][$pastRoom to "FourOne"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so using any potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
North<br>
West+[[East|FiveOne]]<br>
[[South|FourTwo]]
<</if>>
<</nobr>><<nobr>>
<<if $keyPart3 == 0>>
You collect one third of a key.<<if $timeSpent > 50>>..<br><br>...with some difficulty.<br><br>Your paws are quite cute, but dang, they really do make manipulating small objects difficult.<</if>><br><br>
<<set $keyPart3 to 1>>
[[Return|FourOne]]
<<else>>
You've already collected the key part form this room.<br><br>
[[Return|FourOne]]
<</if>>
<</nobr>><<nobr>>
<<if $keyPart2 == 0>>
You collect one third of a key.<br><br>
<<set $keyPart2 to 1>>
[[Return|FourThree]]
<<else>>
You've already collected the key part form this room.<br><br>
[[Return|FourThree]]
<</if>>
<</nobr>><<nobr>>
It's Ogollo again! It looks like this stall has different items, but one item stands out. Ogollo is intently examining a glowing purple chest. This must be the chest that he thought the strange key might fit.<br><br>
<<if $glowingKey == 0>>
"Oh, hello once again! I don't think you actually want to buy anything from me right now, but if you find the key to this chest, definitely bring it back here!"<br><br>
<<else>>
<<if $unusualKey == 0 or $timespent != 51>>
<<set $unusualKey to 1>>
Indeed, the glowing key fits into the chest! And within it... there's another key.<br><br>You clumsily grab the key in your mouth, and stuff it under your armor with the other keys. You're getting worryingly more foxy by the second!
<<else>>
You already took the key from the chest.<</if>>
<</if>>
<br>
<<include "meow_12345">><br>
North<br>
[[West|TwoThree]]+[[East|FourThree]]<br>
South
<</nobr>><<nobr>>
Hopefully this room is close to the exit.<br><br>
<<include "meow_12345">><br>
[[North|TwoTwo]]<br>
West+[[East|ThreeThree]]<br>
South
<</nobr>><<nobr>>
The room is incredibly dark. Somehow, the light from the adjacent rooms is barely entering into this one.<br><br>
It's probably due to magic or something like that. Hopefully there isn't anything dangerous in this room, because it's really hard to see much here.<br><br>
<<include "meow_12345">><br>
North<br>
West+[[East|Timesink]]<br>
[[South|TwoThree]]
<</nobr>><<nobr>>
The massive stone walls in this room seem to stretch up forever.<br><br>
<<include "meow_12345">><br>
[[North|ThreeOne]]<br>
[[West|TwoTwo]]+East<br>
South
<</nobr>><<nobr>>
There is an etching on the floor of this room. It reads "This room doesn't contain any traps."<br><br>
<<include "meow_12345">><br>
North<br>
[[West|TwoOne]]+East<br>
[[South|ThreeTwo]]
<</nobr>><<nobr>>
At last! The exit to the dungeon is just to the north of here!<br><br>
<<include "meow_12345">><br>
[[North|Ending 3]]<br>
[[West|OneOne]]+[[East|ThreeOne]]<br>
South
<</nobr>><center>Ending 14</center><<set $playing == 0>>
<<timed 0.3s t8n>>At last! You emerge from the dungeon, victorious. The sun shines bright above the grassy hill you now find yourself atop, and as the sun hits your body, you can feel the changes slowing, then stopping, and finally begin to reverse.<</timed>>
<<timed 1.3s t8n>>Something feels off about this whole situation though. Why did this even happen to you? Who, or what, benefits from this?<</timed>>
<<timed 1.8s t8n>>Was there something you missed in the dungeon?<</timed>>
<<timed 2s>>Suddenly, you begin to feel faint, and your body slumps to the ground.<</timed>>
<<timed 2.7s t8n>>As your vision darkens, you feel hard stone replacing the grass beneath your limp body.<</timed>>
<<timed 3.5s t8n>>[[The end?|Bad end epilogue]]<</timed>>
<<nobr>>
<<if $unusualKey == 0>>
You can't quite figure out what this room's purpose is.<br><br>
<<include "meow_12345">><br>
North<br>
West+[[East|TwoOne]]<br>
[[South|OneTwo]]
<</if>>
<<if $unusualKey == 1>>
Oh, so <i>that's</i> what this room is for!<br><br>
<<if $bossMon == 1>>
<<set $bossMon to 0>>
<<set $monName to "Final Boss">>
<<set $monHealth to 26>>
<br>
The $monName is here! Before you can move again, you'll need to [[fight][$pastRoom to "OneOne"]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
<<set $playing to 1>>
<<include "meow_12345">><br>
North<br>
West+[[East|TwoOne]]<br>
[[South|OneTwo]]
<</if>>
<</if>>
<</nobr>>
<<nobr>>
It's faint, but the walls of this room are emitting purple light. A large, ominous door stands to the South.
<br><br>There are three slots for keys next to the door, which are shaped like the key that Ogollo offered to you.<br><br>What secrets could be hidden behind it?<br><br>Do you even have time to find out?<br><br>
<<if $glowingKey == 0>>
<<set $glowingKey to 1>>
A key sits in the middle of the room, glowing just like the walls. It does fit in one of the three keyholes, but without all three keys, the door won't budge, so you take the key. Is there anything you've seen in another room that it might fit?<br><br>
<</if>>
<<include "meow_12345">><br>
<<if $unusualKey == 0>>
[[North|OneOne]]<br>
West+East<br>
South
<<else>>
<<set $playing to 0>>
North<br>
West+East<br>
[[South|OneThree]]
<</if>>
<</nobr>>Within the room, a the subtle blue glow of a monitor acts as the only source of light. Silhouetted against it, you see someone sitting in a chair.
Suddenly, the room's lights are switched on.
[[Continue|falling1]]<<if $Mon11Mon == 1>>
<<set $Mon16Mon to 0>>
<<set $monName to "name">>
<<set $monHealth to 1>>
There is a $monName here. Before you can move again, you'll need to [[fight]] them. <<if $monHealth >= $health>>Your health is looking a bit low though, so any using potions you have right now might be helpful.<</if>>
<<else>>
/*Once the monster is defeated, stuff appears here*/
<</if>> /* Don't forget! */<center>Ending 12</center><<set $playing == 0>>
You've lost the battle, and with it, any hope of successfully escaping.
As your vision fades you know that if you wake up again, you aren't going to be doing so as a human.
[[The end?|Bad end epilogue]]<center>Ending 13</center><<set $playing == 0>>
Well, that's it then. The subtle feeling of the curse gradually re-writing your existence is fading away, and with it, any chance of escaping before it overtakes you entirely.
What happens now is uncertain, but one thing is for sure.
Whatever you do now, you will be doing it as a fox.
[[The end?|Bad end epilogue]]There's still more to explore.
If you want help finding all the endings, there are hints and a walkthrough available in the downloads section at [[snepshark.itch.io|https://snepshark.itch.io/]]!<<nobr>>
You fight the $monName!<br><br>
They deal <<print $monHealth - $armorRating>> damage to you!
<br><br>
<<if $health + $armorRating - $monHealth > 0>>
You emerge victorious, with <<print $health + $armorRating - $monHealth>> health remaining.<br><br>
<<set $playing to 0>>
<<set $timeSpent to $timeSpent - 1>>
[[Return|$pastRoom][$health to $health + $armorRating - $monHealth]]
<<else>>
You have been defeated.
[[Return|Ending 2][$playing to 0]]
<</if>>
<</nobr>>It's woman who was with you when you woke up! "Surprise!" she shouts, before putting on a party hat and blowing into a party horn.
"You made it!" she says, walking over to you and placing a similar --but much smaller-- hat atop your head. "I knew you would. My viewers weren't as confident in you as I was. Like, the <i>average</i> bet was on you taking another 10 tries to get in here.
[[Continue|falling2]]Well, you're here, and just in time too! Just a few more seconds and I would have needed to reset you again. Oh, but I'm getting ahead of myself. I never even told you my name!
I'm XxBunnyDemiGodBunnyxX, and you're on my stream! Say hi to everyone!" she says, waving at something behind you. Turning, you don't see anything, but seeing as you're likely speaking with a god, you make an attempt to wave one of your paws in that direction.
"My generous viewers donated to pick what you'd be turning into as you went through the labyrinth. In the end, the crowd donating souls to make you a kangaroo nearly won, but foxes are always popular."
[[Continue|falling3]]Now viewers, get your donation buttons ready! You're going to decide the fate of our little foxy friend here!
I'll be returning them to their home dimension no matter what, but it's up to you if they return as a fox, a human, or something in-between, and how much of this they'll remember!
Will we let them remember everything? Nobody would believe any of their stories about this, and their attempts to explain what they went through would be *very* funny.
Or, maybe we don't even keep any of their memories of being human intact? That could be pretty good, especially if we send our fox-brained freind back in their human body.
This one never wins, but c'mon, our participant was a good sport. You could send them back fully restored, as if nothing ever happened.
OOOH! New option! What if we sent them back with no memory of this happening, but we made them involuntarily fall into fox mannerisms occasionally? That'd be great!"
She rushes back to the computer to type out the new option, before turning back to you and winking.
[[Continue|falling4]]Giddily hopping up and down at the computer, she tallies up the donations for each option, before excitedly proclaiming "We have a winner! They'll be human, with no memory of their experiences here, and oooh... Neat! Everyone will know them as "Foxy."
They'll still remember their original name, but when they check their ID... bam! "Foxy!" Haha, that'll be great." They giggle, turning back to you, winking again.
And that's our show! Tune in next week for more shenanigans, with our follower requested theme "under the sea!" I love you all!"
They wave at the invisible audience once more, before turning to you.
[[Continue|falling5]]"Don't worry, I'm not going to do any of that. I mean, unless you want me to. I'm a demigod of mischief, but I haven't been that cruel for millennia.
Just hop up here and pick your fate. Oh, wait." their expression suddenly gets more serious as they continue speaking. "Please, if someone asks you why you're not named "Foxy," tell them, I dunno, a fairy fixed you or something. Just, cover for me please. They'll stop donating if they think their donations aren't wrecking people's lives in humorous ways.
Okay, yeah. Just hit the number for each option that you want."
[[Continue|select1]]
<center>PRESETS
1. DONATION WINNER ("FOXY" HUMAN)
2. NEW PRESET (FOX MANNERISMS)
3. CUSTOM RESPONSE
<<textbox "$comp1" "0">>
<<linkappend "Submit">>
<<if $comp1 == 1>><<goto "Ending 4">><</if>>
<<if $comp1 == 2>><<goto "Ending 5">><</if>>
<<if $comp1 == 0>><<goto "Ending 17">><</if>>
<<if $comp1 == 3>><<goto "select2">>
<<else>>
<<goto "select1>>
<</if>>
<</linkappend>>
</center>
<center>BODY
1. FULLY HUMAN
2. ANTHRO FOX
3. FULLY FOX
<<textbox "$comp2" 0>>
<<linkappend "Submit"
<<if $comp2 != 1 and $comp2 != 2 and $comp2 != 3>>
<<if $comp2 != 0>>
<<goto "Ending 17">>
<<else>>
<<goto "select2">>
<</if>>
<</if>>
<<goto "select3">>
<</linkappend>>
</center>
<center>MIND
1. UNALTERED MEMORY
2. NO MEMORY OF STREAM
3. NO MEMORY OF BEING HUMAN
<<textbox "$comp3" 0>>
<<linkappend Submit>>
<<if $comp2 == 1 and $comp3 == 1>> <<goto "Ending 6">><</if>>
<<if $comp2 == 1 and $comp3 == 2>> <<goto "Ending 7">><</if>>
<<if $comp2 == 1 and $comp3 == 3>> <<goto "Ending 8">><</if>>
<<if $comp2 == 2 and $comp3 == 1>> <<goto "Ending 9">><</if>>
<<if $comp2 == 2 and $comp3 == 2>> <<goto "Ending 10">><</if>>
<<if $comp2 == 2 and $comp3 == 3>> <<goto "Ending 11">><</if>>
<<if $comp2 == 3 and $comp3 == 1>> <<goto "Ending 12">><</if>>
<<if $comp2 == 3 and $comp3 == 2>> <<goto "Ending 13">><</if>>
<<if $comp2 == 3 and $comp3 == 3>> <<goto "Ending 14">><</if>>
<<if $comp2 == 0 and $comp3 == 0>> <<goto "Ending 17">><</if>>
<<if $comp2 == 1 and $comp3 == 0>> <<goto "Ending 18">><</if>>
<<if $comp2 == 2 and $comp3 == 0>> <<goto "Ending 15">><</if>>
<<if $comp2 == 3 and $comp3 == 0>> <<goto "Ending 16">><</if>>
<<goto "select3>>
<</linkappend>>
</center><center>EPILOGUE
Ending 10 - A Very Foxy Person</center>
The audience paid for this, and they likely have the power to <i>mess you up.</i> It's probably safer to just give 'em what they want.
Plus, hey, it <i>will</i> be kinda funny.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 11 - OOOH! New option!</center>
XxBunnyDemiGodBunnyxX watches from over your shoulder, and when she sees you pick the second option, she quickly rushes to support your choice.
"Sweet! I <i>really</i> like that one. I wouldn't force it on anyone, but hey, if you like it too, I'm <i>more</i> than happy to honor your request, haha."
Your life back on Earth will be very different, but if that's the specific sort of different you like, this could be a very fun fate.
[[The end|Good end epilogue]]ERROR: INVALID INPUT. DEFAULTING TO ⟨null⟩.
"No mind? Is that really what you meant to pick? Hey, I'm not judging (very much), but I just want to ch--"
Your ability to hear XxBunnyDemiGodBunnyxX suddenly cuts off.
The empty space where your brain used to be isn't <i>exactly</i> capable of thought.
The rest of your anthropomorphic form hollows out quickly, as your head detaches and falls to the ground with a soft *poff*. The faux fur and foam that now makes up your body falls atop your head.
You're a fursuit.
After some time, XxBunnyDemiGodBunnyxX restores your animacy, giving you time to confirm your choice or choose something else.
[[The end|Good end epilogue]]Congrats! You've reached one of the main endings!
You can press the back button in the pull-out menu to see more endings. There are a few secret ones to find! (If you need help, check the walkthrough.)
Thank you for playing, I really hope that you've enjoyed your time with Escape from Kettuloch!
LynxSnowCat made the current version of the map, and added the wonderful contextual shortcut buttons to the sidebar! You can find their Itch.io profile here: https://snow-cat.itch.io/
If you want to hear when my next game (which I've already started making [[art/animations|https://snepshark.itch.io/escape-from-kettuloch/devlog/368626/dogress-bar-new-game]] for!) is out, following me on [[itch.io|https://snepshark.itch.io/]] is a good idea!<center>EPILOGUE
Ending 1 - Fully Restored</center>
You escaped XxBunnyDemiGodBunnyxX's stream, body and mind intact! You might need to deal with another demi-god at some point in the future, but you'll cross that bridge when and if you come to it. For now, you can rest easy for a bit.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 2 - Blissfully Unaware</center>
Completely unaware of your dungeon delving adventure, you were returned to the exact moment that you had been snatched away from your day, allowing you to return to whatever you were doing.
Sure, that's a pretty boring ending, but it's definitely a safe one.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 3 - On All Levels Except Physical</center>
When you arrived back on Earth, everything was foreign to you.
After some adjustment though, your new mind quickly realized that this body was significantly more powerful than its old fox body.
You'd go on to be a very successful fox, albeit one with a 99% human body.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 4 - Anthro at Last!</center>
Your new body is pretty sweet.
C'mon, you've got a tail, that alone makes everything you went through worth it.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 5 - A Very Surprising Turn of Events!</center>
From your perspective, it seems as if you've been inexplicably turned into an anthropomorphic fox.
Since you picked this fate (even if you don't remember doing so), it's likely that you're not <i>too</i> bummed about this.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 6 - Nothing changed?</center>
You were in for a lot of confusion when you arrived back on Earth.
Since you don't remember ever having been human, the fact that nobody else on the planet looks anything like you is utterly baffling.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 7 - Hell yeah, fox time</center>
You're a fox, but you've got full access to all of your human memories and knowledge.
What will you accomplish with your tremendous abilities?
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 8 - Horror Distilled... Being a Fox is Fine, Actually.</center>
One moment, you're peacefully going about your day, the next, you're trapped in the body of a fox.
Since you don't remember that this is exactly what you signed up for, this situation is incredibly startling.
Once you acclimate to your new situation, you'll likely be a very successful fox thanks to your knowledge of human society.
[[The end|Good end epilogue]]<center>EPILOGUE
Ending 9 - The Foxiest Ending</center>
You're a normal fox, with everything that entails. You do normal fox things and live out the rest of your life as a fox would.
[[The end|Good end epilogue]]ERROR: INVALID INPUT. DEFAULTING TO ⟨null⟩.
"Uhhh, what? None? There's no undo button on this thing, but I'm definitely not sending you back without a mind or body. I'll... I'll see wat I can do."
It didn't take very long for your new demigod acquaintance to fix (calling them your "friend" would be a bit disingenuous), but it was a bit of a hassle for both of you.
[[The end|Good end epilogue]]ERROR: INVALID INPUT. DEFAULTING TO ⟨null⟩.
"No mind? Is that really what you meant to pick? Hey, I'm not judging (very much), but I just want to ch--"
Your ability to hear XxBunnyDemiGodBunnyxX suddenly cuts off.
Your brain has become polyester fiberfill, and that fluff isn't <i>exactly</i> capable of thought.
The rest of your feral form quickly fills with stuffing and a tag sprouts from your leg. Your plush body slumps to the ground, showing no signs of ever having been alive.
You're a plush fox.
After some time, XxBunnyDemiGodBunnyxX restores your animacy, giving you time to confirm your choice or choose something else.
[[The end|Good end epilogue]]Neat, you found the <i>most</i> secret ending!
Please, if you're reading this, tell me! It'd totally make my day to know that someone cared enough about my game that they'd open it up and see its inner workings.Notes for anyone downloading this to take some code:
The code for the maps and sidebar were written by LynxSnowCat! You can find their Itch.io page here: https://snow-cat.itch.io/
Open up the JS/CSS passages (in the drop-up menu at the bottom if you're working in Twine 2) to see where most of their work is.
"Variables_List" is where most of the variables are initialized, to keep them consolidated.
The rooms that make up the dungeon are named for their position, from "OneOne" to "FiveSix." If you're looking for something that happens in a specific room, that's probably what you're looking for.
The footer lets the player see stats, use potions, and read a description of their body.
The header triggers the transformation scenes.
The falling action is just story, but if you need to know where that is, those are "falling1" - 5.
The ending selection happens in "select1" - 3.
The two puzzles are located in rooms OneFive and ThreeFive, but the passages titled "Puzz15" and "Puzz35" are also important.[[Back to intro|Variables_List]]<<set _achievements to recall('KettuAchievements', {})>>
<center><h2>[[Ending gallery|ending_gallery]]</h2>
View all of the endings that you have obtained, and get hints for finding the rest!
<h2>[[Transformation gallery|tf_gallery]]</h2>
Read all of the transformation scenes, along with descriptions of what you looked like after each one!
<h2>[[Character gallery|enemy_gallery]]</h2>
Learn more about <<if _achievements['beatgame'] != true>>the dungeon's residents!<<else>>XxBunnyDemiGodBunnyxX and her employees!<</if>>
[[Erase progress]]
</center>ERROR: INVALID INPUT. DEFAULTING TO ⟨null⟩.
"No mind? Is that really what you meant to pick? Hey, I'm not judging (very much), but I just want to ch--"
Your ability to hear XxBunnyDemiGodBunnyxX suddenly cuts off.
The taut plastic of your new form can feel the vibration of her voice reverberating within your hollow body, but it's impossible for the plastic and air that used to be you to interpret those sounds.
After some time, XxBunnyDemiGodBunnyxX restores your animacy, giving you time to confirm your choice or choose something else.
[[The end|Good end epilogue]]It took you <i>two turns</i> to get through that room! Luckily, you're not racing against the clock...
...oh. Yeah.
Well, hopefully you still have time!
[[Continue|ThreeTwo]]/* Written by u/LynxSnowcat on Reddit, clean map */
<<nobr>>
<div style="display:block;font-size:larger;text-align:center;float:left;">
<<include meow_map>>
<p style="font-size:small">@: You
⬜: Explored
⚪: Unexplored </p>
</div>
<</nobr>><<nobr>>
<div style="font-size:larger;border: 1px solid #444">
<<include meow_map>>
<p style="font-size:small">@: You
⬜: Explored
⚪: Unexplored </p>
<!-- Main navigation cluster. -->
<table id="meow_nav" style="transform:rotate(45deg);display:inline-block;margin-top:1em;">
<!-- Checks to see if normal movement possible, does not disable buttons. -->
<<if $('.passage a:contains(\'South\')').length > 0 or $('.passage a:contains(\'North\')').length > 0 or $('.passage a:contains(\'East\')').length > 0 or $('.passage a:contains(\'West\')').length > 0>>
<tr>
<td class="mew_nav" onclick="$('.passage a:contains(\'North\')').click()"></td>
<td class="mew_nav" onclick="$('.passage a:contains(\'East\')').click()"></td>
</tr>
<tr>
<td class="mew_nav" onclick="$('.passage a:contains(\'West\')').click()"></td>
<td class="mew_nav" onclick="$('.passage a:contains(\'South\')').click()"></td>
</tr>
<<else>>
<<script>>
/* When there's only one option forwards; mew_how included for hotkey implementation. */
var _s = '<html><tr><td class="mew_nav mew_how" style="zoom:2;" onclick="$(\'.passage a:contains(\\\'';
if ($('.passage a:contains("eturn")').length>0){
_s +='eturn\\\')\').click()">';
} else if($('.passage a:contains("ight")').length>0){
_s +='ight\\\')\').click()">';
} else if($('.passage a:contains("ontinue")').length>0){
_s +='ontinue\\\')\').click()">';
} else if($('.passage a:contains("reat")').length>0){
_s +='reat\\\')\').click()">';
/*} else if($('.passage a:contains("heck your solution")').length>0){
_s +='heck your solution\\\')\').click()">';*/
/*} else if($('.passage a:contains("ubmit")').length>0){
_s +='ubmit\\\')\').click()">';/*lol*/
} else if($('.passage a:contains("ang")').length>0){
_s +='ang\\\')\').click()">';
} else if($('.passage a:contains("The end?")').length>0){
_s +='The end?\\\')\').click()">';
} else if($('.passage a:contains("nd")').length>0){
_s +='nd\\\')\').click()">';
} else if($('.passage a:contains("Start Game?")').length>0){
_s +='Start Game?\\\')\').click()">';
} else if($('.passage a:contains("Suddenly, the doors open as the clock arrives at zero.")').length>0){
_s +='Suddenly, the doors open as the clock arrives at zero.\\\')\').click()">';
} else if($('.passage a:contains("With no other options presenting themselves, it looks like you need to attempt to escape this place.")').length>0){
_s +='With no other options presenting themselves, it looks like you need to attempt to escape this place.\\\')\').click()">';
} else if($('.passage a:contains("Skip Introduction")').length>0){
_s +='Skip Introduction\\\')\').click()">';
} else{
_s+= 'Use potions\\\')\').click">';
/* todo: integrate function to refresh meow_nav on activation */
}
_s+='</td></tr></html>';
$(output).wiki(_s);
<</script>>
<</if>>
</table>
<!-- Space to left for contextual options, space to right for potions. -->
</div>
<</nobr>><<nobr>>
<!-- Fills in the symbols on a map, and marks each cell with -->
<<set _cn to ['One','Two','Three','Four','Five','Six']>>
<table class="meow_map">
<tr><td colspan=2 rowspan=2></td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
<tr class="meow_tilt"><td>⦑</td><td>⦑</td><td>⦑</td><td>⦑</td><td>⦑</td></tr>
<<for _i to 0; _i lt _cn.length; _i++>>
<tr><td><<print _i>> </td><td class="meow_bal">⦑</td>
<<for _j to 0; _j lt _cn.length-1; _j++>>
<!--td> <<print _cn[_j]+_cn[_i]>> </td-->
<!--td> <<= hasVisited(_cn[_j]+_cn[_i])?"⬜":"◯">> </td-->
<!--td> <<= passage()==(_cn[_j]+_cn[_i])?"@":hasVisited(_cn[_j]+_cn[_i])?"⬜":"⚪">> </td-->
<!--<if _j lt _cn.length-2>><td>‖</td><</if>-->
<td sc-eval:id=(_cn[_j]+_cn[_i])> <<= passage()==(_cn[_j]+_cn[_i])?"@":hasVisited(_cn[_j]+_cn[_i])?"⬜":"⚪">> </td>
<</for>>
<td class="meow_bal">⦒</td></tr>
<</for>>
<tr class="meow_tilt"><td colspan=2></td><td>⦒</td><td>⦒</td><td>⦒</td><td>⦒</td><td>⦒</td></tr>
</table>
<</nobr>><<nobr>>
<b>You've found the new super-secret ending, but I haven't finished writing it! Come back tomorrow, haha.</b>
You test the gate to the left of the one that you just exited from to see if you can fit under it, but it seems unlikely that you'll be able to go through it, even if you wait for your transformation to finish.<br><br>
Another thing catches your attention though. A faintly glowing door<<if $glowingKey == 1>> just like the one you saw on the other end of the dungeon<</if>> sits in the back corner of the room you origninally woke up in.<br><br>
Three locks hold it shut
<<if $unusualKey == 1>>, but the three keys you found within the dungeon fit perfectly, unlcoking each one with a satisfying trio of clicks.<<elseif $glowingKey == 1>>, and the two keys you found remove all but one of them, but the door fails to budge.<<elseif $mysteriousKey == 1>>, and while the key you found unlocks one of the three locks, the other two fail to budge.<<else>>, meaning that you won't
<</nobr>>