,,<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/07/dreamco3.gif" alt="" width="1200" height="1200" />
<<type 30ms>><h2 style="color:#da7c36;">COLTON FLORIS GAMES</h2><</type>>
@@#replace-me; @@
<<nobr>>
/*<<timed .5s>><<replace '#replace-me'>> Loading. <</replace>><</timed>>
<<timed 1s>><<replace '#replace-me'>> Loading.. <</replace>><</timed>>
<<timed 1.5s>><<replace '#replace-me'>> Loading... <</replace>><</timed>>
<<timed 2s>><<replace '#replace-me'>> Done! <</replace>><</timed>>*/
<<timed 3s>><<goto "beginning">><</timed>><</nobr>>
<<nobr>>
<<cacheaudio "gunrat.mp3" "https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-2.mp3">><<cacheaudio "quietsong" "https://www.coltonfloris.com/wp-content/uploads/2021/01/quiet-song-12.mp3">><<cacheaudio "shop" "https://www.coltonfloris.com/wp-content/uploads/2021/02/shop2.mp3">><<cacheaudio "thedomain" "https://www.coltonfloris.com/wp-content/uploads/2021/01/thedomain.mp3">><<cacheaudio "goblin" "https://www.coltonfloris.com/wp-content/uploads/2021/01/goblin.mp3">><<cacheaudio "statuestill" "https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still-3.mp3">><<cacheaudio "Statue-fight" "https://www.coltonfloris.com/wp-content/uploads/2021/10/statue-battle-2.mp3">><<cacheaudio "orb-use" "https://www.coltonfloris.com/wp-content/uploads/2021/05/orb-attack.mp3">><<cacheaudio "explosion" "https://www.coltonfloris.com/wp-content/uploads/2021/05/explosion.mp3">><<cacheaudio "heavyhit" "https://www.coltonfloris.com/wp-content/uploads/2021/05/heavy-hit.mp3">><<cacheaudio "purchase" "https://www.coltonfloris.com/wp-content/uploads/2021/05/purchase.mp3">><<cacheaudio "hit" "https://www.coltonfloris.com/wp-content/uploads/2021/05/hit.mp3">><<cacheaudio "upstairs" "https://www.coltonfloris.com/wp-content/uploads/2021/05/UpStairs8-Bit.mp3">><<cacheaudio "theend" "https://www.coltonfloris.com/wp-content/uploads/2021/06/FIN.mp3">>
<<cacheaudio "404page" "https://www.coltonfloris.com/wp-content/uploads/2021/09/404.mp3">><<cacheaudio "oops" "https://www.coltonfloris.com/wp-content/uploads/2021/09/oops.mp3">>
<<cacheaudio "necro" "https://www.coltonfloris.com/wp-content/uploads/2021/10/necromancer.mp3">><<cacheaudio "wellwellwell" "https://www.coltonfloris.com/wp-content/uploads/2021/11/wellwellwell.mp3">><<cacheaudio "finalintro" "https://www.coltonfloris.com/wp-content/uploads/2021/02/final-battle-4.mp3">><<cacheaudio "finalbattle" "https://www.coltonfloris.com/wp-content/uploads/2021/04/final-battle.mp3">><<cacheaudio "truefinal" "https://www.coltonfloris.com/wp-content/uploads/2021/12/true-battle.mp3">><<cacheaudio "tunnel" "https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel.mp3">><<cacheaudio "rguard" "https://www.coltonfloris.com/wp-content/uploads/2021/12/right-guard.mp3">><<cacheaudio "guard" "https://www.coltonfloris.com/wp-content/uploads/2021/12/guards3.mp3">><<cacheaudio "ambient" "https://www.coltonfloris.com/wp-content/uploads/2021/12/ambient-1.mp3">><<cacheaudio "chest" "https://www.coltonfloris.com/wp-content/uploads/2021/12/chest.mp3">><<cacheaudio "goblin-song" "https://www.coltonfloris.com/wp-content/uploads/2021/04/true-goblin.mp3">><<cacheaudio "battle9" "https://www.coltonfloris.com/wp-content/uploads/2021/02/battle8.mp3">><<cacheaudio "battlethief" "https://www.coltonfloris.com/wp-content/uploads/2021/02/battle9.mp3">><<cacheaudio "burnout" "https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout.mp3">><<cacheaudio "miss1" "https://www.coltonfloris.com/wp-content/uploads/2023/04/miss.mp3">>
<<set $damage to 0>><<set $seconds to 0>>
<<set $battleSec to 10>> /* in seconds, non-integer values are okay */
<<set $dam to 0>>
<<set $atk to 0>>
<<set $itemshop to "no">>
<<set $orb_count to 0>>
<<set $pool_count to 0>>
<<set $fourohfour_count to 0>>
<<set $player_friend to "false">>
<<set $score to 0>>
<<set $gold to 0>>
<<set $level to 0>>
<<set $health to 3>>
<<set $luck to random(1, 10)>>
<<set $plant_number to random(1, 3)>>
<<set $MaxHP to 21>> /* Maximum Hit Points */
<<set $CurHP to 1>> /* Current Hit Points */
<<set $friend_goblin to "false">><<set $friend_skelly to "false">>
<<masteraudio stop>><<audio "404page" volume 0.3 play loop>>
<<set $seconds to 0>>
<<set $MaxHP = 50>> /* Maximum Hit Points */
<<set $CurHP = 0>> /* Current Hit Points */
<<set $maze to 0>>
<<set $defendstate to 0>>
<<set $leftkey to "false">>
<<set $rightkey to "false">>
<<endnobr>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Ahahaha! The ways of old! I set that up years ago as a gateway but as far as I can tell nobody entered through thereuntil now! Glad to see curiousity still lives on in some of us!.. Surprised that portal still holds."
The wizard sees your attention waining.
"Ah, anyways. I need your help with something. A gem of considerable power hides somewhere within the pages of this site... I need it to place a protective seal over this domain to protect it from what's to come. Now I would search for it myself, but my efforts have proved fruitless. I require an ally to help me on this journey. I will pay you accordingly."
The wizard awaits your response.
<span onmouseover="playSound()"><i>
[[I want to go home|Go Home]]
-
[[Sure why not?|THE CHOICE]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Hell yeah brother! So you found my call for an adventurer amongst the marching words that the creator of this site has put in place. Such a brilliant move on my part, hiding it thereThe creator has such little knowledge of how such things work it will take years before he notices."
The wizard looks smug, but his smile quickly fades.
"That being said you keep this little place on the hush all right? Last thing I need is him to notice I'm squatting in his domain and next thing you know I'm house hunting again."
<span onmouseover="playSound()"><i>
[[promise not to say a word|Our Secret]]
-
[[Tell him you might tell the site creator if it comes up|Tell Colton]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Purposeful or not we all end up places we do not expect, you could be a little bit nicer about it as well >:("
...a long awkward silence fills the page.
"Anyways. You're here for adventure are you not? I'll keep it short, I need a gemneed someone to get it for me. Simple as that."
<span onmouseover="playSound()"><i>
[[I want to go home|Go Home]]
-
[[lets get dat gem?|THE CHOICE]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
<<nobr>><i><<if $player_name is "Angelo">>You hear a voice from beyond this realm: Angelo my brother! Thanks for stopping by<<endif>><<if $player_name is "Colton">>You hear a voice from beyond this realm: Colton! Just like me :) You get the royal treatment around here!<<endif>><<if $player_name is "Lucas">>You hear a voice from beyond this realm: What's up Lucas my brother! An honor to have you<<endif>><<if $player_name is "Josh">>You hear a voice from beyond this realm: Josh my man! You are a legend<<endif>><<if $player_name is "Cassidy">>You hear a voice from beyond this realm: Hey Sister :) (if you're name is also cassidy hello to you too haha)<<endif>><<if $player_name is "Sierra">>You hear a voice from beyond this realm: What's up Sierra! Thanks for stopping by!<<endif>><<if $player_name is "Braden">>You hear a voice from beyond this realm: Hey Bro! Thanks for playing! :)<<endif>><<if $player_name is "Penis">>You hear a voice from beyond this realm: Wow, real mature freak :/<<endif>><<if $player_name is "Butts">>You hear a voice from beyond this realm: Wow, real mature<<endif>><<if $player_name is "Hotdogs">>You hear a voice from beyond this realm: Hotdogs rule baby!<<endif>><<if $player_name is "Wizard">>Another wizard?!<<endif>><<if $player_name is "Tyler">>You hear a voice from beyond this realm: What's up roomie! (Tyler is my roomate if your name is also tyler)<<endif>><<if $player_name is "boobies">>You hear a voice from beyond this realm: Wow, real mature<<endif>><<if $player_name is "Lauren">>You hear a voice from beyond this realm: Hey Lauren :) Go through the right door once you get the orb<<endif>><<if $player_name is "Jake">>You hear a voice from beyond this realm: Hey Jake!<<endif>><<if $player_name is "Steph">>You hear a voice from beyond this realm: Howdy Steph!<<endif>><<if $player_name is "Alex">>You hear a voice from beyond this realm: Alex you legend! Thanks for making some monsters for me! Hope you enjoy the game!<<endif>></i><</nobr>>
"Nice to make your acquaintance, <<print $player_name>>
...
I look forward to working with you."
He offers up an orb that glows faintly.
<span onmouseover="playSound()"><i>
[[Accept the orb|Choose Orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Disappointing, but I can understand."
...
The wizard opens a portal in the top left corner of the screen. It looks like his face, you can click and go home.
...
"If you change your mind just look for one of my portals, it will bring you back if my power still holds."
<span onmouseover="playSound()"><i>
[[...Actuallyyyyyy|accept-adventure]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"HAHAHAAAA! I KNEW I COULD TRUST YOU! We're gonna go far together you and me!"
You've never seen someone so happy
"Now, about this adventure. I have been searching for a gem that will grant me the power needed to protect this realm. All my searching has come up vain, I need someone else to aid me in my hunt. I will reward you handsomely upon our success. Sound intriguing?"
The wizard awaits your response.
<span onmouseover="playSound()"><i>
[[I want to go home|Go Home]]
-
[[ADVENTURE AWAITS|THE CHOICE]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Hmm I suppose that's fine, you're only looking out for yourself here I guess. You know what I'll save you the trouble, why don't you just send him a little email right now? Get things over withSaves me the trouble of worrying."
The wizard places a link before you, it seems he's written a little message down already.
<a href="mailto:[email protected]?subject=I'm_a_little_snitch Subject&body=There's nobody squatting on your site that's for sure! Just thought it would bring to clarity & peace of mind to know that. Love someone that HATES wizards apparently!">Send Colton an email</a>
The wizard looks disgruntled
"Now. I need someone to aid me, a gem of power rests in the depths of this site. I need it to grant me the power to place a seal over this place to protect it from attacks. You interested?"
<span onmouseover="playSound()"><i>
[[I want to go home|Go Home]]
-
[[ADVENTURE AWAITS|THE CHOICE]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2.gif" alt="" width="400" height="400" />
The wizard mutters something that sounds like your name and the orb appears in your hand.
It's warm to the touch, it fizzes and pops with an arcane energy.
You feel <b>powerful.</b>
...
The wizard has vanished.
...
The tower looms ahead of you.
...
the orb weighs heavy in your hand.
<span onmouseover="playSound()"><i>
[[Ponder the orb|orbponder]]
-
[[Approach the tower|tower-approach]]
</i></span><<audio "purchase" play>>
<<set $item to "orb">><<set $score to $score + 100>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/bffs.gif" alt="" width="400" height="400" />
You choose the bracelet.
<<set $item to "bracelet">>
The wizard places it your hand. It's heavier than you expected.
You look closer, it says "best friends" on it and nothing about it feels special or helpful... you're starting to regret your choice.
...
You look up and the wizard is gone. Two doors stand where he once stood.
The right door looks as if it has been left untouched for generations. Grass and moss poke through the cracks in the wood.
From the left door you hear a quiet humming.
<span onmouseover="playSound()"><i>
[[Go through the left door|left door]]
-
[[Go through the right door|right door]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You travel through the left door.
The humming grows louder... The tune feels familiar.
The room is dim, aside from a dull glow from screen in the middle of the room. Illuminated by the screen is a goblin, he stares blankly at the monitor as numbers scroll past. He then looks at his notebook, and back at the screen. The goblin looks very busy.
Suddenly he turns and looks over your direction
"Hey! how did you get back here? This place is off limits to the likes of you!"
<span onmouseover="playSound()"><i>
[[There was this wizard...|wizard-gob]]
-
[[Just looking around|looking-gob]]
</i></span>
<<masteraudio stop>><<audio "upstairs" play>><<audio "goblin-song" volume 0.3 play loop>><<set $level to "2">>You make your way up the staircase.
Something scurries towards you!
<span onmouseover="playSound()"><i>
[[Brace yourself!|rat-attack1]]
</i></span>
<<audio "upstairs" play>>
<<set $level to "2">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"I count the amount of visitors on this site for the people that need to know, write 'em down in this book here. My job would be a LOT easier if the visitors stayed on the front end of the site instead of wandering around back here and bugging me!"
The goblins eyes dart between you and the numbers.
<span onmouseover="playSound()"><i>
[[Seems like a lot of work|goblin-fight]]
-
[[fight to computer|computer-fight]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"What? You want to HELP me?! You don't even know where you are or what I'm doing! Big help you'll be!"
The goblin looks very annoyed and stressed.
"Listen I dunno how you got here but I'm too busy to deal with you right now, now scram!"
<span onmouseover="playSound()"><i>
[[Keep watching|keepwatching-gob]]
-
[[I have to leave|leave-gob]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Ah that freakin wizard! Always so eager to let visitors in for his grand quest! He rope you in to that little journey? Hate to spoil the surprise but there ain't no 'Gem of Power' around here so he's just got you running some fool errand. Sorry you had to find out from me! Oh and one more thin-"
The goblin trails offhe looks pretty distraced by that computer.
<span onmouseover="playSound()"><i>
[[...Well that's all I'm here for so...|keeplooking-gob]]
-
[[Hey check out this cool orb he gave me!|keeplooking-gob-orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Looking around?! Nobody does that around here, people come here for very specific reasons."
The goblin is trying to focus on the numbers, adding to them every so often and checking a little book in his right hand. He looks distracted, it might be a good time to strike.
<span onmouseover="playSound()"><i>
[[fight goblin|goblin-fight]]
-
[[fight computer|computer-fight]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" margin-bottom="-50px"/>
<h3><div id="bounce"><b><w>N</w><w>A</w><w>S</w><w>T</w><w>Y</w><w>!</w><w> </w><w>A</w><w> </w><w>R</w><w>A</w><w>T</w><w> </w><w>A</w><w>T</w><w>T</w><w>A</w><w>C</w><w>K</w><w>S</w><w>!</w></b></div></h3>
AND he's got a gun! This guy means business!
<span onmouseover="playSound()"><i>
[[Battle!|gunrat-battle-main]]
</i></span>
<<masteraudio stop>><<audio "gunrat.mp3" volume 0.5 play loop>>
<<set $gunrat_hp to 3>> <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
Gun rat is looking for a fight!
It looks trigger happy
<span onmouseover="playSound()"><i>
[[Shoo the rat away|rat-attackshoo]]
-
[[Yell at the rat|rat-attackyell]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b>
<w>B</w><w>A</w><w>N</w><w>G</w><w>!</w><w> </w><w>B</w><w>A</w><w>N</w><w>G</w><w>!</w></b>
</div></h3>
As you get closer to shoo him the rat fires a couple shots at you!
He missed by a mile, rats aren't good shots
<span onmouseover="playSound()"><i>
[[Kick the rat|rat-attackkick]]
-
[[Use the Orb|rat-attackuseorb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You yell at the rat, he is small - perhaps yelling will scare him off.
<h3><div id="shake">"HEY!"</div></h3>
...
He is unmoved. The rat lines you up in his sights, you can see his little paw squeezing ever tighter on thr trigger.
<span onmouseover="playSound()"><i>
[[Run!|rat-attackrun]]
-
[[Dodge!|rat-attackdodge]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You get your kicker ready and try to kick the rat, but it's too quick!
You try one more time, but re-evaluate how you should kick.
<span onmouseover="playSound()"><i>
[[kick harder|kick-harder]]
-
[[kick faster|kick-faster]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<h3><div id="shake">PEW PEW!</div></h3>
-
bullets whiz past you as you run from the rat.
<span onmouseover="playSound()"><i>
[[Keep running|rat-attackkeeprun]]
-
[[Hide|rat-attackhide]]
</i></span>
<<set $ratrun to "True">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
The rat fires two bullets at you!
<h3><div id="shake">BRAP! BRAP!</div></h3>
Direct hit! You take 1 damage.
It's a tiny little rat gun so it doesn't hurt too much, but maybe dodging wasn't the best idea...
The rat is reloading.
<span onmouseover="playSound()"><i><<if $health is 0>>[[You black out!|404]]<<else>>
[[Punch the rat|rat-attackpunch]]
-
[[Pretend to die|rat-attackfakedeath]]
<<endif>></i></span>
<<set $health to $health - 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You run up and punch the rat very hard.
<h3><div id="shake">BAM!</div></h3>
Rat takes 8 damage!
He's still got some life in him!
<span onmouseover="playSound()"><i>
<<if $item is "orb">>
[[Use the Orb|rat-attackuseorb]]
<<endif>>
[[Punch it again|rat-attackpunchagain]]
</i></span>
<<audio "hit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You choose to pretend to die, it's always seemed like a good idea in your head.
<span onmouseover="playSound()"><i>
[[Die a lot|rat-pretendeath-lot]]
-
[[Die a little|rat-pretendeath-little]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You run for what feels like forever. Looking back the rat is nowhere to be seen.
You stop to catch your breath.
<h3><div id="shake">BANG! BANG!</div></h3>
Two shots ring out from the silence.
You take 4 damage!
The rat is still there! "You ain't goin nowhere!"
<span onmouseover="playSound()"><i>
[[Use the Orb|rat-attackuseorb]]
-
[[Fight|gunrat-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You dive behind a large rock in the room after running for a bit.
You hear the rat scamper by, muttering something about <i>"I hate it when they run."</i>
After a while it's completely quiet.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide1]]
-
[[See if the coast is clear|rat-hide-leave-fail]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Sure whatever, keep looking for that gem see if I care."
The goblin seems a little rude, maybe it would have been best if you didn't bother him.
You decide to not let the goblin get to you and press forward.
On the other side of the room you find a staircase, steps lead up and down.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"WHAT IS YOUR PROBLEM! Just let me work in peace!"
<span onmouseover="playSound()"><i>
[[Ask goblin how its weekend was|weekend-gob]]
-
[[Comment on the weather|weather-gob]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You politely wave goodbye to goblin and he looks more confused than anything.
As you walk across the room you notice a staircase. Stairs lead up and down, neither direction seems particularly interesting.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Heh? Uhhh, it was alright I guess. Had a few buddies over nothing crazy."
<span onmouseover="playSound()"><i>
[[That's cool|cool-gob]]
-
[[Mine was good too|weekend2-gob]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Haven't had a chance to look outside. Listen you seem great but I've got work to do and I don't have a ton of time for small talk. You mind moving along?"
<span onmouseover="playSound()"><i>
[[Ask goblin a deeper question|deep-gob]]
-
[[Move along|leave-gob]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Thanks, yeah sometimes it's good to just chill, you know? Let the world pass you by with a couple of friends."
<span onmouseover="playSound()"><i>
[[Can we try it now?|chill-with-goblin]]
-
[[anyways, I have a quest to attend to|goblin-timetoleave]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"Happy to hear it."
He doesn't look that happy to hear it.
Whatever attention you seemed to have from the goblin is gone.
<span onmouseover="playSound()"><i>
[[Move along|leave-gob]]
</i></span>You ask goblin a deep question.
He ponders it for a bit, it looks like nobody has asked him something like that in a while.
He shares more about himself.
You appreciate his honest response.
You both laugh and share stories together.
Time passes, the goblin has not looked at the numbers for quite a while.
<span onmouseover="playSound()"><i>
[[Tell a story about one time where milk came out of your nose|goblin-milkstory]]
-
[[Tell goblin about a dream you had|goblin-dream]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-intro-1.gif" alt="" width="400" height="400" />
As you approach the steps you are surprised to see a face appear and greet you.
"Hello! My name is Faek, I am the seal to this chamber. It is very nice to meet you."
<span onmouseover="playSound()"><i>
[[Hello Faek|helloupstairs]]
-
[[May I go upstairs?|pleaseupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
Continue up the tower.
...
<h3><div id="bounce"><b><w>Y</w><w>O</w><w>U</w><w> </w><w>E</w><w>N</w><w>C</w><w>O</w><w>U</w><w>N</w><w>T</w><w>E</w><w>R</w><w> </w><w>S</w><w>H</w><w>O</w><w>P</w><w>A</w><w>C</w><w>A</w><w>!</w></b></div></h3>...
An alpaca that is also a shopkeep - adorable! It has a few items for sale.
<span onmouseover="playSound()"><i>
<<button [[BUY|shop]]>><</button>><<button [[TALK|shoptalk]]>>TALK<</button>>
<<button [[ITEM|shop-item]]>>ITEM<</button>><<button [[ORB|shoporb]]>>ORB<</button>>
</i></span>
<<masteraudio stop>><<audio "shop" volume 0.3 play loop>><<set $level to "3">><<audio "upstairs" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You put all your power into the kick!
<h3><div id="shake">KA-POW!</div></h3>
You make full connection with the rat and send him sailing into the dark!
You defeated the Rat!
Your rank went up!
The room is empty now
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>
<<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You kick faster than you've ever kicked before!
You connect but it's not a very hard kick.
<h3><div id="shake">pow</div></h3>
Rat takes 4 damage and quickly recovers.
The Rat lines you up in his sights.
<span onmouseover="playSound()"><i>
[[Run!|rat-attackrun]]
-
[[Dodge!|rat-attackdodge]]
</i></span>
<<audio "hit" play>><<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
You defeated rat!
Your rank went up!
The room is empty now.
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>
<<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
Punching is all you know! You give the rat another whallop.
<h3><div id="shake">SMACK!</div></h3>
Rat takes 5 damage!
Rat turns to dust!
You defeated Rat!
You have a chance to search the room.
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>
<<masteraudio stop>>
<<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
The rat see's you flash your bracelet.
His composure changes.
"Working for the wizard I see, I owe that guy a favour so I'll let you off easy this time. Normally nobody I meet makes it out alive."
The rat scampers off, leaving you in the room alone.
You defeated rat!<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
"Hello :)"
<span onmouseover="playSound()"><i>
[[Why is this way sealed?|whyupstairs]]
-
[[May I go upstairs?|pleaseupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
You ask politely to go upstairs
Faek replies. "I'm sorry little one, you'll to say the special word to pass through."
<<set _answer to "">>
Please input a Password to continue.
<<textbox "_answer" "">>
<<button "Check Password">>
<<if _answer is "">>
/% They have not supplied an answer. %/
<<script>>UI.alert("You did not supply a password!");<</script>>
<<else>>
/%
Remove extra white space from both ends of the answer then
convert it to lowercase. %/
<<set _answer to _answer.trim().toLowerCase()>>
/%
Check if one of the correct answers was supplied,
otherwise send them to the Start passage. %/
<<if _answer is "2">>
/% Send the Reader to the next relevant passage. %/
<<goto "Door-Iloveyoutoo">>
<<elseif _answer is "second correct answer">>
/% Send the Reader to the next relevant passage. %/
<<goto "Second Correct Answer Passage">>
<<elseif _answer is "third correct answer">>
/% Send the Reader to the next relevant passage. %/
<<goto "Third Correct Answer Passage">>
<<else>>
/% Send the Reader to back to the start. %/
<<goto "Faek Wrong">>
<</if>>
<</if>>
<</button>>
<span onmouseover="playSound()"><i>
[[nevermind I'll just go downstairs|downstairs-fromupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
The room is empty, aside from a few tiny bullet casings...
Across the room, stairs lead further up the tower.
<span onmouseover="playSound()"><i>
[[Continue|downstairs]]
</i></span>
<<masteraudio stop>><a data-passage="Shopaca"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/></a>
The shopacca has many things for sale, what would you like to buy?
<span onmouseover="playSound()"><i>
<<button [[SWORD|shopsword]]>><</button>><<button [[SHIELD|shopshield]]>>TALK<</button>>
<<button [[POTION|shoppotions]]>>ITEM<</button>><<button [[PLANT|shopplant]]>>ORB<</button>>
</i></span>
<<nobr>><<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
GOBLIN:
<i>"OH! Can I have a plant! PLEASE"</i><<endif>><</nobr>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
You check your pockets to find 35 GOLD, it's your lucky day!
<span onmouseover="playSound()"><i>
[[Time for some retail therapy!|shop]]
</i></span>
<<if $gold is 0>><<set $gold to $gold +35>><<else>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/sword-sleep.gif" alt="" width="400" height="400" />
The Sword of Inspection.
A powerful tool that lets you see how your opponent thinks before you strike for maximum damage!
Reasonably priced at 30 G.
<span onmouseover="playSound()"><i>
[[Buy|buysword]]
-
[[Keep Looking|shop]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/shield.gif" alt="" width="400" height="400" />
Shield of Firewall. Able to stop many different forms of attack, just dont disable it before going into battle!
Seems expensive at 20 G.
<span onmouseover="playSound()"><i>
[[Buy Shield|buyshield]]
-
[[Keep Shopping|shop]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
Drink one of these potions and become invisible! Escape your enemies, prank your friends! The effects last for 1 Encounter.
You feel like you've seen it cheaper online, but they're 23 G each and it's just more convient to get it here.
<span onmouseover="playSound()"><i>
[[Buy a potion|buypotions]]
-
[[Keep Shopping|shop]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="400" height="400" />
It's a plant! The most powerful item of all, inspire yourself with the beauty of nature to overcome any task that lies before you!
...it looks super weird though - like it's from another dimension...
it's a steal at 28 G.
<span onmouseover="playSound()"><i>
[[Acquire Plant|buyplant]]
-
[[Keep Shopping|shop]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/sword-sleep.gif" alt="" width="400" height="400" />
You've bought the sword. Interesting you would choose an item used to bring harm, but who am I to judge?
Not enough money to keep shopping.
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>"I am here to judge, why didn't you buy the plant :("</i><<endif>>
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
</i></span>
<<audio "purchase" play>>
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>>:(</i><<endif>>
<<set $itemshop to "sword">> <<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/shield.gif" alt="" width="400" height="400" />
You purchase the shield. An item to defend yourself and your allies, a brave choice.
...
You feel confident about your decision.
Not enough money to keep shopping.
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
</i></span>
<<audio "purchase" play>>
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>maybe they didn't hear me</i><<endif>>
<<set $itemshop to "shield">><<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You put on a grand show! You confess your love for gunrat and writhe around a bit and say ouch and ooch. You place two bitcoins on your eyes before rolling over and pretending to kick the bucket.
...
Gunrat is crying, he totally bought it.
...
You defeated gunrat emtionally!
You gain 20 theatre points!
...
You have a chance to search the room.
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
After a weak preformance the rat isn't even a little convinced it off'd you.
BANG! BANG!
It takes two more shots!
Critical hits!
you take 40 damage!
You black out!
<span onmouseover="playSound()"><i>
[[black-out|blackout]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Bummer, looks like this is game over.
...
You can try again from a few steps back... if you'd like.
<span onmouseover="playSound()"><i>
[[Go through the left door|left door]]
-
[[Go through the right door|right door]]
</i></span>
<<masteraudio stop>>
<<audio "oops" play>>
<<set $fourohfour_count to $$fourohfour_count + 1>>
<<timed 4s>><<audio "404page" volume 0.2 play loop >><</timed>>You keep hiding, probably a good ideathat Rat is nothing to mess with.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide2]]
-
[[See if the coast is clear|rat-hide-leave-success]]
</i></span>Seems like rat is gone, the room is empty.
You defeated Rat!
You have a chance to search the room.
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>"FOUND YOU!"
<h3><div id="shake">BANG! BANG!</div></h3>
The Rat fires off 2 more shots!
Critical hits!
You take 30 damage!
You black out!
<span onmouseover="playSound()"><i>
[[black-out|blackout]]
</i></span>Probably best to stay hidden. He could still be out there.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide3]]
-
[[See if the coast is clear|rat-hide-leave-success]]
</i></span>You keep hiding, you start to feel drowsy.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide4]]
-
[[See if the coast is clear|rat-hide-leave-success]]
</i></span>You fall asleep.
...
After some time, you awake. You are not sure how long you've been out for... but gun rat has no concept of time. Best to keep on your guard.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide5]]
-
[[See if the coast is clear|rat-hide-leave-success]]
</i></span>Still hiding? Come on this is a little ridiculous...
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide6]]
-
[[See if the coast is clear|rat-hide-leave-success]]
</i></span>and yet still you hide... it's been what feels like years.
the Rat has probably passed away from aging at this point.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide7]]
-
[[See if the coast is clear|rat-hide-leave-fail]]
</i></span>Okay, I'll be honest with you. I tried to trick you with the last one but he's gone now. You have hidden for so long there is no chance he will find you again. Gun rat is no threat any more.
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide8]]
-
[[See if the coast is clear|rat-hide-leave-success-long]]
</i></span>Wow still think he's that much of a threat huh? That's fair, he was a pretty nasty little thing.
...
more time passes
...
You start to wonder what you were even doing before you went into hiding.
...
Does time pass differently here? Is this an like an inception thing?
...
Thinking about this passes more time.
...
Surely it must finally be time for action!
<span onmouseover="playSound()"><i>
[[Keep hiding|rat-hide9]]
-
[[See if the coast is clear|rat-hide-leave-success-long]]
</i></span>You FINALLY leave the hiding spot after what feels like an eternity.
You bones ache and creak from lack of use.
You almost black out from standing.
You defeated Rat!
You have a chance to search the room.
<span onmouseover="playSound()"><i>
[[Look Around|ratattack-lookaround]]
</i></span>
<<masteraudio stop>>Your mind fogs over, you forget what a rat even is. Why you're even here.
...
The rock you're hiding behind has eroded away, how long has it been gone? You can't even remember. The days have become quiet, long has the space you have hidden in been your home. Despite this, you realize you must leave, a world awaits your presence and you must not keep it waiting any longer. What has felt like a distant call in your heart is now a battle cryeach moment a second closer to the embrace of your calling. To experiance the world for all it is in all of it's beauty. It's flaws, it's triumphs, all laid bare before you to witness and cherish. You bid your hiding place farewell and take your next steps toward your destiny.
<span onmouseover="playSound()"><i>
[[See if the coast is clear|rat-hide-leave-success-long]]
</i></span>
<<masteraudio stop>><<audio "404page" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You tell a story of when you were younger and your friend was making you laugh so hard that you started spewing milk out of your nose. The milk made the floor slippery and it made your mom slide all the way into the living room and over the couch head-over-heels! You all laughed so hard it took you hours to get it cleaned up.
Goblin is ROFLing, he wipes tears from his eyes
<span onmouseover="playSound()"><i>
[[Invite goblin to join your quest|friend-goblin]]
-
[[Thank the goblin for his friendship and continue onward|goblin-timetoleave-friends]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You talk about a dream you had where you could fly but you had to have your eyes closed to do it. You wanted to show your power off to your friends but ended up flying into a tree!
Goblin laughs and shares a story of a dream he had where he was surrounded by red glowing eyes in the dark, watching his every movement.
You laugh and laugh and share stories of each others dreams until you can't think of anymore.
<span onmouseover="playSound()"><i>
[[You tell goblin you had a dream he joined you on your quest|friend-goblin]]
-
[[Thank the goblin for his friendship and continue onward|goblin-timetoleave-friends]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You and the goblin chill out, it's quiet but not an awkward quiet. After a while you both start to share stories from growing up and problems you've faced along the way. You and the goblin bond deeply, but it's time to continue your adventure.
You tell the goblin you have to return to your quest. He looks disappointed but understanding. You've only talked with it a short time, but it feels like you've been friends from childhood.
<span onmouseover="playSound()"><i>
[[Invite goblin to join your quest|friend-goblin]]
-
[[Thank the goblin for his friendship and continue onward|goblin-timetoleave-friends]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"I get it, I should get back to work anyways...
Thanks for chatting with me, it's nice to get a break sometimes."
<span onmouseover="playSound()"><i>
[[Search the room|goblin-searchroom]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
The goblin looks too busy to fight.
<span onmouseover="playSound()"><i>
[[ask goblin a question|goblin-question]]
-
[[fight computer|computer-fight]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You shove the busy goblin out of the way.
<h3><div id="shake">"-HEY!"</div></h3>
With goblin out of the way you turn your attention to the computer.
GAH! This thing has like 100 viruses on it, how does such a busy goblin get any work done on here!
<span onmouseover="playSound()"><i>
[[Prepare for battle|battle-computer]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
<span onmouseover="playSound()"><i>
[[Whats with the book|book-gob]]
-
[[Do you need help?|help-gob]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b>
<w>P</w><w>O</w><w>P</w><w>-</w><w>U</w><w>P</w><w> </w><w>A</w><w>T</w><w>T</w><w>A</w><w>C</w><w>K</w><w>S</w><w>!</w></b>
</div></h3>
Great, it's for one of those free to play games that just time-gates everything so they can charge for it.
<span onmouseover="playSound()"><i>
[[Close the ad|close-ad1]]
-
[[Try the game|tryad1]]
</i></span>
<<masteraudio stop>><<audio "goblin" volume 0.2 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-2.gif" alt="" width="400" height="400" />
You try to X the ad and another one pops up over top of it before you can click close! It's just as annoying as the first one.
You can't even tell what this one is for!
<span onmouseover="playSound()"><i>
[[Try and close it again|close-ad2]]
-
[[Look for the proper X|realX]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You try the game, it's a bunch of plots of land you can tend and plants crops in, stock standard online game click-fest.
If you tend crops you can grow your village and evenually your kingdom if you play a lot. The idea excites you, your own kingdom to ruleit's time to get started!
<span onmouseover="playSound()"><i>
[[Plow a field|plowfirstfield]]
-
[[Plant a crop|plantcropnoplow]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-3.gif" alt="" width="400" height="400" />
ANOTHER ad joins the battle! Your will to fight is dwindling.
You take 1 damage from the chaos of it all!
<<set $health to $health - 1>>
<span onmouseover="playSound()"><i>
[[Mash the keyboard|close-ad3]]
-
[[Dont click anything|clicknothing3]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-3.gif" alt="" width="400" height="400" />
You look for the proper X to close the ad but they all look the same!
Another ad appears on the screen.
You take 3 damage from the annoyance of it all!
<span onmouseover="playSound()"><i>
[[Mash the keyboard|close-ad3]]
-
[[Dont click anything|clicknothing3]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
Nice you plowed one of the fields. Your kingdom feels like it's within grasp.
<span onmouseover="playSound()"><i>
[[Plow another field|plowsecondfield]]
-
[[Plant a crop|plantcropneed5plowed1]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
An error pops up, you need to plow a field before you can plant.
It makes a lot of sense when you think about it
You take 3 damage!
Not much else to do...
<span onmouseover="playSound()"><i>
[[Plow 1 field|plowfirstfield]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
The game says you need to plow 5 fields before you can plant anything.
<span onmouseover="playSound()"><i>
[[Plow 1 field|plowsecondfield]]
-
[[Close the game|closegame]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You plow another field. Crazy stuff. You start thinking of names for your new lands your ever-expanding kingdom will discover. There's only one thing standing in your way, and thats a means of sustenance for your hungy civilians.
<span onmouseover="playSound()"><i>
[[Plow another field|plowthirdfield]]
-
[[close the game|closegame]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-2.gif" alt="" width="400" height="400" />
You manage to pull yourself away from the game and the delusion of becoming a true ruler of your own world. It hurts you a little bit you will be stronger for it in the long run.
You take 2 damage.
Another pop-up has appeared on the screen while you were busy in your kingdom.
<span onmouseover="playSound()"><i>
[[Try and close it|close-ad2]]
-
[[Look for the proper X|realX]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You plowed another fieldpower is within reach. A notification entices you, a faster way of tending the fields. Your kingdom can grow twice as fast!
<span onmouseover="playSound()"><i>
[[Plow yet another field|plowfourthfield]]
-
[[Pay boosters to plow 2 fields|usegems]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
Incredible. Four fields plowed. Almost ready to plant! Just one more field and then you can get started on
<span onmouseover="playSound()"><i>
[[Plow yet another field|plowfifthfield]]
-
[[Close the game|closegame]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You don't have any boosters. You can buy 250 boosters for $10 from the game store. The boosts are 60% off right now! Lucky day!
<span onmouseover="playSound()"><i>
[[Plow another field normally|plowfourthfield]]
-
[[Buy gems|buygems]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You whip out your credit card to buy some boosters to get this kingdom running! Sadly during the checkout you are stumped by a request for your security code, if only the site told you where those numbers were! You time out and the game closes.
The pop-up ad is defeated!
You rank up!
You sit at the goblins computer.
<span onmouseover="playSound()"><i>
[[Pretend to still be battling so you can surf the web|searchcomputer]]
-
[[Let goblin have the computer back|returngolbincomputer]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You are invaded by another player, xXCristopherRobin_420BL4ZE_ITXx
xXCristopherRobin_420BL4ZE_ITXx uses a raiding boost he paid 8000 gems for in the storehe is wearing cosmetics only available during a seasonal event which costs $40 in your local currency. You are no match.
Before you are able to plow your fifth field your character is destroyed. Your well tended fields lay in ruin. The village you once knew rests in ashes as xXCristopherRobin_420BL4ZE_ITXx loots the 5 seeds you were unable to plant and leaves the domain.
You are devestated.
<span onmouseover="playSound()"><i>
[[You black out!|blackout]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-4.gif" alt="" width="400" height="400" />
You mash the keyboard. Yet another ad appears. The computers fans start whirring and it's getting hot.
You strengthen yourself, you know what must be done and you have a plan.
<span onmouseover="playSound()"><i>
[[Try to close the ad again|close-ad4]]
-
[[Punch the computer|punchcomputer]]
-
[[Use the Orb|orb-computer]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-3.gif" alt="" width="400" height="400" />
Well there's no new ads at least. That's something. Doesn't seem like this will get you anywhere though.
<span onmouseover="playSound()"><i>
[[Now it time to mash the keyboard|close-ad3]]
-
[[Dont click anything again|clicknothing3]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-5.gif" alt="" width="400" height="400" />
Just as you expected, another ad comes onto the screen. The computer is red hot now, you can barely even touch it.
<span onmouseover="playSound()"><i>
[[Try to close all the ads at once|computerexplodes]]
-
[[Get back!|computerexplodes2]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-3.gif" alt="" width="400" height="400" />
Now that the computer is busy you lean in and give it a proper whallop.
<h3><div id="bounce"><b>
<w>P</w><w>U</w><w>N</w><w>C</w><w>H</w><w>!</w></b>
</div></h3>
You hand goes right through the screen! Ouch!
You take 4 damage.
The computer is destroyed.
Pop-up ad is defeated!
You freed Goblin!
<span onmouseover="playSound()"><i>
[[Invite goblin to join your quest|invite-goblin-2]]
-
[[look around|goblin-searchroom]]
</i></span>
<<audio "hit" play>>You reach for the trackpad to try getting another ad up but the computer explodes right in front of you.
You are sent hurtling back.
You take 20 damage!
You defeated computer!
You also defeated Goblin! He got caught up in all of this!
The room is empty now, aside from the scorch mark left by the computer.
[[look around|goblin-searchroom]]
<<audio "explosion" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
The domain descends into darkness.
You feel an evil presence watching you.
The darkness has come to claim you.
<span onmouseover="playSound()"><i>
[[fight|fight-orb]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<masteraudio stop>><<audio "finalintro" volume 0.5 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
From the dark shines the gem. Born from it's cocoon of the orb, it's witnessed all your actions...
It hovers in the air, ready to end everything. It sees you and begins to prepare a spell to destroy the domain.
You feel powerless.
<span onmouseover="playSound()"><i>
[[Punch|punch-gem]]
-
[[Defend|defend-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
You try to strike but it's in vain. Your body feels like it's trapped beneath heavy weights as you writhe around in the dark.
Fighting is useless.
...
Each day we drift closer to our inevitiable end.
Are you ready to answer for your actions?
...
You feel hopeless.
<span onmouseover="playSound()"><i>
[[Keep fighting|keepfighting-gem]]
-
[[Defend|defend-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
You brace yourself for an attack.
The gem laughs. In a garbled voice you hear it groan. "Why waste my time? You will perish with the rest as I burn this place down."
...
You feel like crying.
<span onmouseover="playSound()"><i>
[[Keep Defending|defend2-gem]]
-
[[Accept fate|accept-fate-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
You keep fighting, despite it all.
The darkness envelopes you. You have no will to fight.
...
It's the end of everything.
<span onmouseover="playSound()"><i>
[[Accept fate|accept-fate-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>You contiue to defend, despite it all.
The gem briefly pauses it's spell to hit you with a lighting bolt.
You take 12 damage!
...
It's no use, it's all over.
<span onmouseover="playSound()"><i>
[[Accept fate|accept-fate-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>You take a step back...
...
It's so dark... how could you ever recover...
...
You feel cold....
...
It's time to go.
...
<span onmouseover="playSound()"><i>
[[Call out for help|callout-gem]]
...
[[Refuse|refuse-gem]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>You call out for help.
<<nobr>><<if $player_friend is "true">>
<span onmouseover="playSound()"><i>
[[you hear a familiar voice|call-for-help-somebody]]
</i></span>
<<else>>
...
<span onmouseover="playSound()"><i>
[[but nobody responds|call-for-help-nobody]]
</i></span><<endif>><<endnobr>>
<<masteraudio stop>>
<<audio "quietsong" volume 0.3 play loop>>The orb cracks one more time, the fissure runs deep through it and what was once a hairline crack is rooted deep within it's core.
It begins to pull away from your grasp, it you attempt to grab it back it fires fast into the sky and shatters with a deafening blast.
You are thrown back and everything turns black...
... when you awake alone.
The sky around you turns dark...
<span onmouseover="playSound()"><i>
[[Observe|The orb cracks 2]]
</i></span>
<<audio "explosion" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b>
<w>A</w><w> </w><w>S</w><w>K</w><w>E</w><w>L</w><w>E</w><w>T</w><w>O</w><w>N</w><w> </w><w>B</w><w>L</w><w>O</w><w>C</w><w>K</w><w>S</w><w> </w><w>T</w><w>H</w><w>E</w><w> </w><w>P</w><w>A</w><w>T</w><w>H</w><w>!</w></b>
</div></h3>
Haha! A classic fantasy adventure enemy alright!
This one looks a little distracted though...
<span onmouseover="playSound()"><i>
[[Fight|FightSkelly]]
</i></span>
<<masteraudio stop>><<audio "battle9" volume 0.3 play loop>>
<<set $skelly_hp to 3>> <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
You punch the skeleton!
<h3><div id="shake">WHABAM!</div></h3>
It doesn't even notice, but takes 2 damage.
The skeleton continues to play on its phone.
<span onmouseover="playSound()"><i>
[[Destroy the phone|breakphone-skelly]]
-
[[Punch harder!|punchharder-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
The patter of steps grows louder, suddenly a shape is formed from out of the darkness right ahead of you!
<h3><div id="bounce"><b><w>THE</w> <w>PURRGULAR</w> <w>EMERGES</w> <w>FROM</w> <w>THE</w> <w>SHADOWS!!</w></b></div></h3>
<span onmouseover="playSound()"><i>
<<if visited("rob-shop-blind") > 0>>[[Woah! Were did you get all that!|fellowthief]] <<endif>>
[[WOAH!|thief-battle-main]]
</i></span>
<<set $thief_hp to 3>>
<<masteraudio stop>>
<<audio "battlethief" volume 0.3 play loop>>
<<set $riddle_count to 0>><<set $riddle_correct to 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"I could hear you coming from a mile away"
The Purrglar is eying your pockets.
"tell you what, normally I snatch and grab without a second thought. I'll give a chance though because you look like you're new 'round here."
"Answer my riddles correctly and I'll let you pass. However, if you fail, I'll take that <<print $itemshop>> of yours off your hands. >:3"
<span onmouseover="playSound()"><i>
[[Do you know anything about the gem I seek?|thief-gem1]]
-
[[Accept the challenge|thief-riddle-main]]
-
[[Attack|thief-attack]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
YO! I'm fighting you!
...Nothing. Maybe if you try to say something more threatening?
You get ready to yell at the top of your lungs...
<span onmouseover="playSound()"><i>
[[Say something threatening you saw on tv once|bonesaw-skelly]]
-
[[Tell the skeleton you will end it's bloodline|Iwillendyou-skelly2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
"HEY FREAKSHOW, YOU AIN'T GOIN NOWHERE. I'VE GOT YOU FOR 3 MINUTES."
<p>"3 MINUTES OF <span onmouseover="playSound()"><i>PLAYTIME!</i></span>"</p>
The skeleton doesn't even look up.
<span onmouseover="playSound()"><i>
[[Punch the Skeleton|punch-skelly]]
-
[[Try to get the Skeletons attention|attention-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
You yell at the top of your lungs.
"SKELETON! YOUR DAYS ARE OVER, YOUR LEGACY ENDS HERE! YOUR FAMILY NAME WILL BE WIPED FROM THE DOMAIN AND YOUR BLOODLINE VANQUISHED! LO AND BEHOLD THE END OF YOUR PLIGHT WILL BE SWIFT! PREPARE TO DIE!"
The skeleton doesn't even look up.
<span onmouseover="playSound()"><i>
[[Embelish your insult more|longerinsult-skelly]]
-
[[Try to get the Skeletons attention|attention-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
The skeleton is laughing at a meme from his groupchat.
It seems like the only way to get his attention is through that device.
<span onmouseover="playSound()"><i>
[[Tweet at the skeleton|tweet-skelly]]
-
[[Play a game against the skeleton|game-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
The skeleton looks like it's playing some game on it's phone about farming and building a kingdom.
"COME ALL AND WITNESS, THIS DAY I SHALL SMITE THIS SKELETON FROM EXISTANCE. FOR GENERATIONS THOSE WHO BEAR WITNESS TO OUR BATTLE WILL SPEAK AND SING PRAISES OF MY PHYSICAL MIGHT AND BRAVERY AS I CAST YOU DOWN. MY NAME WILL ENTER THE HALLS OF ETERNITY FROM THE LEGEND OF MY VICTORY TODAY, LIVING FOREVER IN THE HEART OF HUMANITY AS A LEGEND OF TRIUMPH. COME AND CLAIM YOUR DESTINY SKELETON, AS THE CATALYST FOR MY EVERLASTING STORY OF HEROISM."
The skeleton looks mad, you think you've finally gotten his attention but he mumbles something about getting raided and <span onmouseover="playSound()"><i>"pay to win."</i></span>
<span onmouseover="playSound()"><i>
[[Continue to yell|yelluntilblackout]]
-
[[Try to get the Skeletons attention|attention-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
You yell and yell and yell to no response.
...
You start to feel a little light headed from all the shouting.
...
<span onmouseover="playSound()"><i>
[[You black out!|blackout-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
Seems like the only way to get it's attention is by tweeting at it.
@socialskelly
<span onmouseover="playSound()"><i>
[[Tweet something nice|tweet-skelly-nice]]
-
[[Tweet something nasty|game-skelly-nasty]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
You smash the skeletons phone to pieces!
Before you can even make your next move the skeleton pulls out another phone from seemingly nowhere!
<span onmouseover="playSound()"><i>
[[Punch the Skeleton|punch-skelly]]
-
[[Try to get the Skeletons attention|attention-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
You really lean into the punch this time!
<h3><div id="shake">POW!</div></h3>
A solid connection! The Skeleton takes a whopping 20 damage!
That'll teach him to ignore you!
You punch him so hard all of his bones fall to the ground!
<span onmouseover="playSound()"><i>
[["WHAT"|punch-skelly-2]]
</i></span>
<<audio "hit" play>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Wow look at you, as soon as you get a chance to <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
As you ascend the steps the light slowly dims, by the time you reach the top you can barely make out your surroundings. The staircase opens up into an pitch-black room. You can see a very faint torch-light illuminating the next set of stairs on the opposite side of the room - but you can't make out anything in between.
<<if visited("rat-attackrun") > 0>><i>Reminds you of fighting that damned rat.</i><<endif>>
<span onmouseover="playSound()"><i>
[[Wait and listen|floor-4-wait]]
-
[[Walk forward quietly|floor-4-forward]]
</i></span>
<<set $level to "4">><<audio "upstairs" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You keep on walking, aint nobody stopping you!
You continue on for a while, your footsteps reverberate off the walls of the tunnel.
...
Something else joins the chorus of steps. Right after each step a very soft patter, always in time right after yours.
<span onmouseover="playSound()"><i>
[[Keep calm and carry on|Thief Intro]]
-
[[Stop Walking|stop-walking-hallway]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You search along the walls for something, though you aren't sure what exactly.
<span onmouseover="playSound()"><i>
[[Search for treasure|hallway-door]]
-
[[Search for a door|hallway-treasure]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
Closed walls can be dangerous, it is wise to leave. You turn around and walk away from the dark corridor.
The wall open up and disappear from site. You find yourself walking along a raised path in a large open field. Wind blows from the north.
<span onmouseover="playSound()"><i>
[[Enjoy the moment|field-wait]]
[[Continue along the path|path-continue]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You run your hands along the walls and stop when they feel something metal and cold. As your eyes adjust to the dark you can make out the outline of a steel door.
Dang it! You had your heart set on treasure but a door is cool too, maybe there's treasure behind the door?
<span onmouseover="playSound()"><i>
[[Open the door|Skeleton 1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />You start looking for treasure. It's pretty dark in this area though.
<span onmouseover="playSound()"><i>
[[Grab a torch off the wall|hallway-torch]]
-
[[Get on your hands and knees to look closer|hallway-treasure-search]]
</i></span>@Skelly:<meter @value="$skelly_hp" min="0" max="3"></meter> <b>$skelly_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<i><<if $skelly_hp is 3>>The skeleton is busy on it's phone<<endif>><<if $skelly_hp is 2>><<goto "skelly_defeated">><<endif>></i>
<span onmouseover="playSound()"><i>
<<print either("[[Attack|skelly-battle-attack_a]]", "[[Attack|skelly-battle-attack_b]]", "[[Attack|skelly-battle-attack_c]]")>>
-
[[Tell the skeleton you are battling it|imfightingyou-skelly]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
You thank the shopkeep and and make your way to the next set of stairs.
<span onmouseover="playSound()"><i>
[[Press forward|FLOOR 4]]
</i></span>
<<masteraudio stop>>
<<audio "tunnel" volume 0.1 play loop>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You stop in the hallway, you sense something sinister is afoot.
"it was good of you to stop, there's a thief picking on people in this tunnel."
<span onmouseover="playSound()"><i>
[[You turn to face the voice|burnout-1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
You buy a potion, the shopaca gives it to you... and you suddenly have a very sinister idea.
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
-
[[Use potion|shop-usepotion]]
</i></span><<audio "purchase" play>>
<<set $itemshop to "potion">><<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="400" height="400" />
You buy the plant! You can feel the inspiration of nature healing your soul already!
Remember to water it!
Not enough money to keep shopping.
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>"YESSSSSSSSSSS! Let's name it!"</i><<endif>>
<span onmouseover="playSound()"><i>
[[Name the plant|Name-plant]]
</i></span><<audio "purchase" play>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
You little monster. You use the potion and turn invisible!
You could rob shopaca blind!
It would be so easy.
<span onmouseover="playSound()"><i>
[[Rob the shop|rob-shop-blind]]
-
[[No, stealin is wrong|shop-good]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
The goblin decides to join you for your quest!
Friend acquired! This rules!
As you look across the room you notice a staircase. Stairs lead up and down, neither direction seems particularly interesting.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span>
<<masteraudio stop>>
<<set $friend_goblin to "true">><<set $player_friend to "true">>
<<audio "purchase" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"I understand, your duties come first. It was wonderful to spend time with you my friend, I pray our paths meet again in the future. If they do not, I shall think of our time together fondly, and hope for good days ahead for you as well. Be well my friend."
You hug the goblin goodbye.
Your rank went up!
Across the room are two sets of stairs leading up and down.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You quickly open up the browser and typ "gem of power" into the search bar.
Images of a orange gem and houses burning fly past the screen. You try to take it all in but before you can grasp what's happening the computer screen turns black.
<span onmouseover="playSound()"><i>
[[Run|run-from-computer]]
-
[[Let goblin have the computer back|returngolbincomputer-broken]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You return the computer to the goblin - he seems annoyed but once he realizes how much faster it works he's a little more grateful.
You feel proud of yourself for helping someone in need.
Your kindess went up!
<span onmouseover="playSound()"><i>
[[look around|goblin-searchroom]]
-
[[Ask for some money|goblin-money]]
</i></span>
<<masteraudio stop>><<audio "goblin-song" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
Nothing interesting in the room remains, just anotehr set of stairs leading higher up the tower.
<span onmouseover="playSound()"><i>
[[Go up|downstairs]]
</i></span>
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
You little monster. You use the potion and turn invisible!
You could rob shopaca blind!
It would be so easy.
<span onmouseover="playSound()"><i>
[[Rob the shop|rob-shop-blind]]
-
[[No, stealing is wrong|shop-good]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
Wow that was quite the moral dilema! Glad you made the right choice :)
Your law-abiding civilian stat went up!
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
</i></span>
<<audio "purchase" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="400" height="400" />
What a nice idea, what would you like to name it?
<<textbox "$plant_name" "Name" "Plant-Named">>
<span onmouseover="playSound()"><i>(type your plants name & press enter to continue)</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="400" height="400" />
<span onmouseover="playSound()"><i><b><<print $plant_name>>?</b></i></span>
What a lovely name. Now, let's keep moving.
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
</i></span>
<<set $itemshop to "plant">><<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
"Terribly sorry, that's not correct. I'm afraid you won't be able to pass through."
<span onmouseover="playSound()"><i>
[[Sorry I meant to say something else|pleaseupstairs]]
[[nevermind I'll just go downstairs|downstairs-fromupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
"I love you too adventurer, don't tell anybody though :)"<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/theTOWER.gif" alt="" width="400" height="400" />
"Thank you dear traveller. I am in your debt."
-
"We stand at the base of a large tower, within it lies a gem of unimaginable power. I require this relic to focus my strength and cast a spell that will purge out the great evil that plagues this site."
<i>The wizard pauses.</i>
"The tower is also the source of the great darkness... This journey will be no easy task, however, I do have a tool here that can protect you. Use it when you feel danger is near and it will keep you safe."
"I can bind it to you, but first I must know your name."
<<textbox "$player_name" "Visitor" "THE CHOICE">>
<span onmouseover="playSound()"><i>(type your name & press enter to continue)</i></span>
Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem.gif" alt="" width="400" height="400" />
The gem hovers above you, it looks less threatening.
<span onmouseover="playSound()"><i>
[[fight|fight-orb-final]]
</i></span>
<<masteraudio stop>>
<<audio "finalbattle" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
The voice is coming from the fire itself!
<h3><div id="bounce"><b><w>B</w><w>U</w><w>R</w><w>N</w><w>O</w><w>U</w><w>T</w><w> </w><w>A</w><w>T</w><w>T</w><w>A</w><w>C</w><w>K</w><w>S</w><w>!</w><w> </w><w>:</w><w>)</w></b></div></h3>
<span onmouseover="playSound()"><i>
[[Talk with burnout|burnout-talk]]
</i></span>
<<masteraudio stop>>
<<audio "burnout" volume 0.6 play loop>>
<<set $burnout to 0>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
The thief smiles and offers a riddle to you.
<span onmouseover="playSound()"><i>
<<if $riddle_count is 0>>[[Riddle1|Riddle1]]<<endif>><<if $riddle_count is 1>>[[Riddle2|Riddle2]]"<<endif>><<if $riddle_count is 2>>[[Riddle3|Riddle3]]<<endif>><<if $riddle_count is 3>><<goto "thief_riddled">><<endif>>
</i></span>
<<unset $success>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"Nice try, I'll be the one asking the questions here."
<span onmouseover="playSound()"><i>
[[Fine Fine lets get started|thief-battle-main]]
</i></span>"WHERE DID YOU GET THAT DAMNED THING!"
...
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The Orb Cracks - 3 uses]]</i></span><<else>>[[Continue down the hallway|Floor 5 old]]<<endif>>
<<set $orb_count to $orb_count + 1>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
The thief smiles, "correct,
-
"Guess I gotta stay true to my word, let me just say you should stay as far away from that gem as you can - nothing good can come from the queens sacrifice."
...
"Now scram, if I see you again I won't be so forgiving."
-
The thief says nothing more and disappears into the dark.
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span>"Hahaha <h3><div id="bounce"><b><w>W</w><w>R</w><w>O</w><w>N</w><w>G</w><w>!</w></b></div></h3> Time to go to school kid!"
...
The thief steals your <<print $itemshop>>! Frick!
...
You take 3 damage from embarassment!
...
Might as well keep moving
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span>
<<set $itemshop to "stolen">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="400" height="400" />
You hold the orb in front of you, it glows bright and fires a beam directly at the enemy.
There's a bright blinding flash, when your vision returns the enemy is nowhere to be seen.
The orb is warm, it has a small crack in it.
<<audio "orb-use" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-b.gif" alt="" width="400" height="400" />
You once again hold the orb in front of you. A flash of light - a crack of thunder - and the foe in front of you is gone. The orb feels heavier. What used to be a smooth polished glass is now barely held together as cracks and breaks run deep though it. An eerie light glows brighter from it's core.
<<audio "orb-use" play>>Once more you hold the orb up in front of you, although you've done it before it feels like it's taking every bit of strength you have to hold it in front of you. The orb shakes violently in your hands and you struggle to keep control of it.
It fires out another beam.
<<audio "orb-use" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still.png" alt="" width="400" height="400" />
The statue depicts a large bird guarding a sword, within the hilt shines a sparkeling gem. There is an inscription on the plaque below.
...
Rain continues to fall around you.
...
<span onmouseover="playSound()"><i>
[[Read the inscription|statue_read]]
-
[[Inspect the gem|statue-inspect-gem]]
</i></span>
<<masteraudio stop>><<audio "statuestill" volume 0.3 play loop>>
<<cacheaudio "finalintro" "https://www.coltonfloris.com/wp-content/uploads/2021/02/final-battle-4.mp3">>
<<cacheaudio "finalbattle" "https://www.coltonfloris.com/wp-content/uploads/2021/04/final-battle.mp3">>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/statue-info.png" alt="" width="400" height="400" />
You move closer and read the inscription below the statue...
..You can't read it, it's some wacko language you've never seen before.
Probably would have been helpful to know what it said.
<span onmouseover="playSound()"><i>
[[look at the statue|Statue]]
[[Inspect the gem|statue-inspect-gem]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still.png" alt="" width="400" height="400" />
Could it be? The gem of power residing in this statue?
The bird seems quite powerful...
...
The gem gleams a dark orange in the light, you can see a murky haze brewing within it. This thing is swirling with powerful energy, it must be the gem the wizard needs.
-
All you gotta do is grab it.
-
<span onmouseover="playSound()"><i>
[[Steal the gem|statue_takegem]]
-
[[Destroy the gem using the orb|statue-swapgem]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still.png" alt="" width="400" height="400" />
You place your hands upon the gem, it feels red hot, yet doesn't sear your skin. It reacts to your touch and a pulse of energy emits from it's core and rips through the air around you.
A deep rumbling comes from the statue... the gem is absorbed within the statue.
The birds eyes open and it speaks forth words you do not understand.
<span onmouseover="playSound()"><i>
[[Prepare for battle|queen attack intro]]
-
[[Apologize|queen attack intro]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still.png" alt="" width="400" height="400" />
You've lost trust in the wizard during your quest, gem be damned it is better for this world if it's destroyed.
-
You hold the orb in front of you to blast the gem that resides within.
-
The energy from the orb meets the gem and is fully absorbed. The statue begins to transform into something more sinster than before, absorbed in the dark energy of the orb.
-
frick.
-
<span onmouseover="playSound()"><i>
[[Your vision returns|queen attack intro]]
</i></span>
<<audio "orb-use" play>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
It steps forward off it's pedestal and raises the sword high in the air - after a bright flash the statue lowers its wings with a sword in each hand.
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>Q</w><w>U</w><w>E</w><w>E</w><w>N</w><w> </w><w>H</w><w>A</w><w>S</w><w> </w><w>A</w><w>W</w><w>O</w><w>K</w><w>E</w><w>N</w></b></div></h3>oops!
You're starting to regret trying to steal.
It swings one of it's swords at you.
<span onmouseover="playSound()"><i>
[[Dodge|statue_fight-1]]
</i></span>
<<masteraudio stop>><<audio "Statue-fight" volume 0.4 play loop>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You try to say sorry but the statue pays it no mind.
It steps forward off it's pedestal and raises the sword high in the air - after a bright flash the statue lowers its wings with a sword in each hand.
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>Q</w><w>U</w><w>E</w><w>E</w><w>N</w><w> </w><w>H</w><w>A</w><w>S</w><w> </w><w>A</w><w>W</w><w>O</w><w>K</w><w>E</w><w>N</w></b></div></h3>
This isn't looking that great for you tbh.
<span onmouseover="playSound()"><i>
[[Dodge|statue_fight-1]]
-
[[Run|statue_run-1]]
</i></span>
<<masteraudio stop>><<audio "Statue-fight" volume 0.4 play loop>>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You keep moving down the hallway.
As you walk you start to see a light up ahead, it looks like the tunnel opens up into a large room up ahead.
[[Keep walking|Hallway End]]<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The orb cracks]]</i></span><<else>>[[Use orb again|Orb Test]]<<endif>>
<<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"It's been a while since somebody listened to me, what would you like to talk about?"
<span onmouseover="playSound()"><i>
[[End of the hallway|burnout-hallway]]
[[Gem of power|burnout-gem]]
[[How long have you been here for?|burnout-age]]
[[Who is the thief?|burnout-thief]]
[[The wizard|burnout-wizard]]
[[What's with this orb I got?|burnout-orb]]
[[Is it okay if I rest here for a while?|burnout-rest]]
[[What's the deal with airline food?|burnout-airline]]
[[What's your favourite snack?|burnout-snack]]
[[How does this place exist?|burnout-blahblah]]
[[Does shopaca ever have a sale?|burnout-blahblah]]
[[Door code|burnout-doorcode]]
[[Watch any good movies lately?|burnout-blahblah]]
[[How about this weather huh?|burnout-blahblah]]
[[Leave|burnout-leave]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"I'm not really sure, the queen used to walk this hallway to get to her throne, but I haven't seen her in a long time."<<endif>>
<span onmouseover="playSound()"><i>
[[The Queen?|burnout-talk-queen]]
[[Woah that's crazy!|burnout-talk-2]]
</i></span>
<<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"I'm pretty old! I've been lighting up this hallway ever since March 2021!" <<endif>>
<span onmouseover="playSound()"><i>
[[Woah that's crazy!|burnout-talk-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"Oh the thief? He started hanging out around here about the same time the Queen stopped coming by - you can probably see why that would be.. The Queen wouldn't take too highly to her citizens being robbed."
"Apparently he thinks very highly of people who also practice the art of stealing."<<endif>>
<span onmouseover="playSound()"><i>
[[The Queen?|burnout-talk-queen]]
[[Woah that's crazy!|burnout-talk-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"The Wizard? That guy is so cool! He can do anything all by himself and he has a lot of friends!"
Burnout smiles but it doesn't look very genuine.
"He also put a curse on me that I can't say anything negative about him."<<endif>>
<span onmouseover="playSound()"><i>
[[Woah that's crazy!|burnout-talk-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"Yeah for sure! I'm not going anywhere!"<<endif>>
<span onmouseover="playSound()"><i>
[[The Queen?|burnout-talk-queen]]
[[Woah that's crazy!|burnout-talk-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>Burnout laughs.<<endif>>
<span onmouseover="playSound()"><i>
[[lol|burnout-talk-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going.
<span onmouseover="playSound()"><i>
[[Wait actually I wanted to ask them something|burnout-talk-2]]
[[Leave|burnout-leave]]
[[Take burnout off the wall|burnout-take-with]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
<<if ($burnout >= 3)>>"Blah blah blah"
Burnout is rambling on about something you asked them. You're getting a bit tired of talking to be honest so you've stopped listening fully. Might be time to get going. <<else>>"Oh the gem? The queen sealed it up a long time ago, we don't have to worry about that."<<endif>>
<span onmouseover="playSound()"><i>
[[The Queen?|burnout-talk-queen]]
[[Why did she seal it up?|burnout-gem-2]]
</i></span><<set $burnout to $burnout + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You roll out of the way, the blade just misses you and smashes into the ground where you just stood.
"I can sense the evil upon you visitor"
Doesn't that thing know you can't understand it!
<span onmouseover="playSound()"><i>
[[Attack|statue_fight-3]]
[[Use the orb|statue-orb-1]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
As twin blades descend upon you, you lift the orb above you head in their path.
The blades strike the orb hard, you can feel the glass shatter above your head. A blast echos through the room.
You are thrown back and everything turns black...
... when you awake alone, the queen is knowhere to be seen.
<span onmouseover="playSound()"><i>
[[The room turns dark...|The Orb Cracks - 2]]
</i></span>
<<audio "orb-use" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You don't have anything to attack with, but you strike the queen as hard as you can with a kick.
The queen doesn't even flinch, she grabs you and tosses you across the room.
...
This is getting rough!
<span onmouseover="playSound()"><i>
[[Try and land on your feet|statue_land-feet]]
[[Try to absorb the impact by rolling|statue-roll-1]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/04/statue-still.png" alt="" width="400" height="400" />
Well that wasn't very helpful...
but that gem is looking pretty cool right now!
<span onmouseover="playSound()"><i>
[[Read the inscription|statue_read]]
[[Inspect the gem|statue-inspect-gem]]
</i></span><style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"Right? So wild!... anyways want to know anything else?"
<span onmouseover="playSound()"><i>
[[End of the hallway|burnout-hallway]]
[[Gem of power|burnout-gem]]
[[How long have you been here for?|burnout-age]]
[[Who is the thief?|burnout-thief]]
[[The wizard|burnout-wizard]]
[[What's with this orb I got?|burnout-orb]]
[[Is it okay if I rest here for a while?|burnout-rest]]
[[What's the deal with airline food?|burnout-airline]]
[[Want to hear about my favourite snack|burnout-blahblah]]
[[How does this place exist?|burnout-blahblah]]
[[Does shopaca ever have a sale?|burnout-blahblah]]
[[Door code|burnout-doorcode]]
[[Watch any good movies lately?|burnout-blahblah]]
[[How about this weather huh?|burnout-blahblah]]
[[Leave|burnout-leave]]
[[Take burnout off the wall|burnout-take-with]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"Yeah the Queen! She was the strongest person I ever saw! She made an oath to do whatever it took to protect her people."
"Last I saw her she was headed down this hallway talking about power something or other - that was a long time ago though, I can barely remember... also I'm a little rusty in wonk."
<span onmouseover="playSound()"><i>
[[What's wonk?|burnout-talk-wonk]]
[[Woah that's crazy!|burnout-talk-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
You grab burnout off the wall and carry him with you.
"Oh fun! Thanks for taking me along :) Most people just leave me."
You feel warm, maybe it was including someone else you needed a friend.
or maybe it's because burnout is a torch which eminates heat.
either is fine I guess.
<span onmouseover="playSound()"><i>
[[Lets go!|Hallway-secondroom]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"It was nice talking with you :)"
[[Continue down the hallway|Floor 7]]<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"It became corrupted by it's own strength. Threatened to destroy everything. Classic villain stuff that's why the queen sealed it up."
"Gem said there was a price to pay if anyone got in it's way...
Maybe that's why I haven't seen the queen for a while..."
<span onmouseover="playSound()"><i>
[[The Queen?|burnout-talk-queen]]
[[Why did she seal it up?|burnout-whysealed]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"It's popcorn! Because it's fun to watch it pop. I can't eat anything because I am fire."
<span onmouseover="playSound()"><i>
[[Woah that's crazy!|burnout-talk-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You grab a torch off the wall and use it to light up the dim part of the hallway. No treasure :(
The torch starts talking to you
<span onmouseover="playSound()"><i>
[["Hey"|burnout-1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You look kinda sad scrounging around looking for treasure. You must want it really bad.
Your hand presses on a tile on the ground, it feels loose, like you could psuh it down.
<span onmouseover="playSound()"><i>
[[Push it down!|press-button]]
-
[[It's obviously a trap|leave-button]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
You push the tile down! It feels great, the tile has such a satisfying click when it's pressed. You are happy you pressed it.
A door springs open in front of you. Something is inside.
<span onmouseover="playSound()"><i>
[[Brace yourself!|Skeleton 1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
Yeah it was a trap ;)
Great thinking not pushing it, you're intelligence stat is increased!
Guess there's nothing else to do but keep walking.
<span onmouseover="playSound()"><i>
[[Continue walking|keep-walking]]
</i></span>You dive back, grabbing Goblin on the way. The computer explodes sending burning hot platic and metal through-out the room.
You are hit a few times, but not badly.
You take 3 damage.
Goblin is also hit, he takes 5 damage.
You defeated computer!
You freed goblin!
[[Invite goblin to join|invite-goblin-2]]
-
[[look around|goblin-searchroom]]
<<audio "explosion" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
"WHAT! Why would I join you! all you've done is show up and ruin everything for me! Now I have to talk to the store I got the computer from about the warrenty! You know how hard that is for me! I'm anxious about calling people!"
The goblin storms off in a huff. The room is empty.
You notice some stairs.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span>
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
"This door can lead many places." Faek replies "My job is the ferry you to whatever path you seek... if you know the right word."
<span onmouseover="playSound()"><i>
[[Why is this way sealed?|whyupstairs-2]]
-
[[May I go upstairs?|pleaseupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
You run before giblin realizes that his computer is no longer usable.
Not the best solution to the problem tbh but hey it works.
As you run you notice a set of stairs leading up and down.
<span onmouseover="playSound()"><i>
[[Run up|upstairs]]
-
[[Run down|downstairs]]
</i></span>
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/busy-goblin-coltonfloris.gif" alt="" width="400" height="400" />
Goblin looks pissed. "All you've done is show up and ruin everything for me! Now I have to talk to the store I got the computer from about the warrenty! You know how hard that is for me! I'm anxious about calling people!"
The goblin storms off in a huff. The room is empty.
You notice some stairs... You feel like you really messed things up with the golbin.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span>
<<masteraudio stop>>The flower you bought from the shopaca has bloomed!
...it looks unlike anything you've seen in this realm.
-
Also it has strangely chisled facial features, look at those cheekbones!
...
<span onmouseover="playSound()"><i>
[[Say hello|flower-hello]]
[[blush|flower-blush]]
</i></span>"SUp babe ;)"
Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
What's wrong with you! You take everything shopaca has!
You gained:
The Sword of Inspection.
Shield of Firewall.
3 Potions.
A Plant.
A guilty conscience!
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>"Not cool man."</i><<endif>>
<span onmouseover="playSound()"><i>
[[Move along|leave shop - bad]]
</i></span>
<<audio "purchase" play>>
<<set $itemshop to "all">><<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"You wear the shadows well fellow thief, everyone know shopaca has a one item per customer policy... only a robbery could get you all those things in one go! Hahaha how did you pull it off, if you don't mind me asking."
<span onmouseover="playSound()"><i>
[[A magician never reveals|thief-nevertell]]
-
[[Join me and I'll teach you a thing or two|thief-invite]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"Is that so? We all have our secrets I suppose."
...
"Just don't plan on trying it with me, you'll meet a very sad end."
-
The thief fades back into the shadows.
-
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"Don't plan on it, I work alone and that wizard isn't exactly the company I want to keep anyways."
-
The thief fades back into the shadows.
-
As you keep moving you hear the soft patter of footsteps in time with yours, it seems like the thief is keeping a close eye on you.
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You move to reach for the orb but the queen is quicker, she slashes you deep in the side.
...
<h3><div id="shake">SHUNK!</div></h3>
...
You take 20 damage!
<span onmouseover="playSound()"><i>
[[Attack again|statue_fight-6]]
[[Slide beneath her|statue-slide-1]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style>
<<audio "hit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
The door slams shut behind you.
"Who are you, child?"
The words send chills down your spine.
<span onmouseover="playSound()"><i>
[[Attack|statue_fight-3]]
-
[[Use the orb|statue-orb-1]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You are bleeding badly.
...
You steady yourself and fight back at the queen hard with a punch, it connects well.
<h3><div id="shake">KA-POW!</div></h3>
she stumbles back - the sword in her left hand looks like it isn't as tightly gipped.
<span onmouseover="playSound()"><i>
[[Take the sword|statue_steal-sword]]
[[Try and use the orb again|statue-orb-2]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style>
<<audio "hit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You are bleeding, but manage to quickly slide under the Queen.
...
She slams both swords down right where you stood
<h3><div id="shake">WHAM</div></h3>
Might have been bad if you stayed in place. She turns to face you again, but you have a moment to attack.
<span onmouseover="playSound()"><i>
[[Use the orb|statue-orb-2]]
-
[[Slide beneath her|statue-slide-1]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You manage to wrestle one of the swords away from the queen - now this will be a true battle!
<span onmouseover="playSound()"><i>
[[Reach for the sword|statue_steal-sword]]
[[Try and use the orb again|statue-orb-2]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You try to right yourself in the air, you manage to get both feet beneath you but the force of the throw ultimately wins out. You tumble and roll, your possessions strewn about the room. The orb hits the ground with a dull crack.
...
The queens eyes widen.
...
"YOU WIELD THAT BEAST"
...
Whatever she's saying it probably isn't good.
<span onmouseover="playSound()"><i>
[[Retrieve the orb|statue_getorb]]
-
[[Attack while she's distracted|statue-attack-distract]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You hit the ground hard - you can feel yourself losing grip of the orb but pull it in as you roll across the ground.
...
The Queen speaks once more
...
Whatever she's saying it probably isn't good.
<span onmouseover="playSound()"><i>
[[Retrieve the orb|statue_getorb]]
[[Attack while she's distracted|statue-attack-distract]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style>Double-click this passage to edit it.Double-click this passage to edit it.<img class="title" src="https://www.coltonfloris.com/wp-content/uploads/2021/07/VICTORY-1.gif" alt="" width="800" />
YOU FACED EVIL AND TRIUMPHED!
...
Your name shall adorn the halls of this domain until the end of time.
...
<<audio "theend" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
What you did back there was wrong and I want you to know that...
Anyways, you continue walking and feel the walls close up beside you. It seems like you've entered a tunnel but can't recall walking through an entrance.
<span onmouseover="playSound()"><i>
[[Press forward|Hallway 2]]
</i></span>
<<masteraudio stop>>
<<cacheaudio "tunnel" "https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel.mp3">>
<<audio "tunnel" volume 0.1 play loop>>
<<cacheaudio "battle9" "https://www.coltonfloris.com/wp-content/uploads/2021/02/battle8.mp3">>
<<cacheaudio "battlethief" "https://www.coltonfloris.com/wp-content/uploads/2021/02/battle9.mp3">>
<<cacheaudio "burnout" "https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout.mp3">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You manage to pull out the orb, but before it can activate her blades descend upon you again.
...
You only have a moment to react
<span onmouseover="playSound()"><i>
[[Block the attack using the orb|statue_orb-destroyed]]
-
[[Drop the orb and roll out of the way|statue-drop-orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem.gif" alt="" width="400" height="400" />
"YOU REALLY THINK YOU CAN DEFEAT ME!! You little worm, I'll show you what happens to those who stand in my way!"
...
Looks like it's doing something, you're not really sure what though.
<span onmouseover="playSound()"><i>
[[attack|final-orb-attack1]]
[[block whatever is coming|final-orb-defend1]]
</i></span>Despite it all you resist the dark, in the face of uncertain death you stand tall above your foe.
...
the curse of this domain has no strength over you.
...
Now it's your turn to strike back
<span onmouseover="playSound()"><i>
[[Fight!|fight-final]]
</i></span>
<<masteraudio stop>>
<<audio "quietsong" volume 0.3 play loop>><div class="blob-wrap x"><div class="blob y"><span onmouseover="playSound()" width="25px"><i>[[attack|final-orb-attack2]]</i></span></div></div><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem.gif" alt="" width="400" height="400" />
You hit the gem, it's not a hard hit but it's something.
Gem takes 3 damage
...
"YOU MISERABLE LITTLE BRAT!! You think I'm just going to sit back and let you hit me! You know NOTHING about this world!"
...
The gem curses the attack button, it begins flying around you
<span onmouseover="playSound()" width="25px"><i>
[[block whatever is coming|final-orb-defend1]]
</i></span>
<<audio "hit" play>>
Double-click this passage to edit it.<div class="blob-wrap x x"><div class="blob y"><span onmouseover="playSound()" width="25px"><i>[[attack|final-orb-attack3]]</i></span></div></div><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem.gif" alt="" width="400" height="400" />
You manage to strike the gem again.
...
"Listen here you little punk, you think this is fun eh? you think this is a little adventure for you to go on with mister wizard and save the internet huh? Well I'll tell you I'll take you on a little adventure.
<h3><div id="bounce"><b><w>I</w><w>T</w><w>'</w><w>S</w><w> </w><w>C</w><w>A</w><w>L</w><w>L</w><w>E</w><w>D</w><w> </w><w>D</w><w>E</w><w>A</w><w>T</w><w>H</w></b></div></h3> and you will experience it soon as I burn you and everything here to the ground."
...
The spell moves quicker now.
<span onmouseover="playSound()" width="25px"><i>
[[block whatever is coming|final-orb-defend1]]
</i></span>
<<audio "hit" play>>
<style>
:root {
--x-speed: 5s;
--y-speed: 3s;
--transition-speed: 2.2s;
}
</style><div class="blob-wrap x x"><div class="blob y"><span onmouseover="playSound()" width="25px"><i>[[attack|final-orb-destroyed]]</i></span></div></div><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem.gif" alt="" width="400" height="400" />
"GAH, DON"T yOU SEE?! DoN'T YOU SEe THE DAMAGe THESE PAGES HAVE CAUSED?! THE DESTRUCTION THIS INTERNET HAS WROUGHT? YOU SPEND YOUR LIVES ON HERE! FOR WHAT! WHAT HAVE YOU TO GAIN FROM THIS DIGITAL LIFE!
...
YOU HUMANS SHOULD BE THANKING ME! OnCE THIS pAGE IS GONE I wiLL TeAR THE REST OF THE iNTeRNT DOWN WITH IT!
...
IT IS A LEECH UPON ALL OUR SOULS! AND YOU HAVE NO POWER TO STOP ME!
<span onmouseover="playSound()" width="25px"><i>
[[block whatever is coming|final-orb-defend1]]
</i></span>
<<audio "hit" play>>
<style>
:root {
--x-speed: 2s;
--y-speed: 1.5s;
--transition-speed: 2.2s;
}
</style>You grab the orb to show burnout.
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
...oops.
<span onmouseover="playSound()"><i>
[[Guess it's time to leave|Floor 7]]
</i></span>
<<set $orb_count to $orb_count + 1>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"Wonk is the language thew queen made every speak when she was still around... it's actually called colspeak but we called it wonk because the letters looked wonky."
<span onmouseover="playSound()"><i>
[[Woah that's crazy!|burnout-talk-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/05/burnout-2.gif" alt="" width="400" height="400" />
"In the wrong hands that gem can end this realm... you better be careful if you have any plans with such a thing."
<span onmouseover="playSound()"><i>
[[Woah that's crazy!|burnout-talk-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
With the gem gone the statue begins to move, it is now holding a sword at each side and looks quite cross.
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>Q</w><w>U</w><w>E</w><w>E</w><w>N</w><w> </w><w>H</w><w>A</w><w>S</w><w> </w><w>A</w><w>W</w><w>O</w><w>K</w><w>E</w><w>N</w></b></div></h3>oops!
You wonder if the gem was there for a reason... oh well.
The Queen swings one of it's swords at you.
<span onmouseover="playSound()"><i>
[[Dodge|statue_fight-1]]
</i></span>
<<masteraudio stop>><<audio "Statue-fight" volume 0.3 play loop>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
Both blades collide with the orb above your head.
...
The orb cannot take the force of the attack - it shatters above your head with a loud explosion
...
You are thrown back and everything turns black
...
when you awake you are alone, the Queen is gone.
...
<span onmouseover="playSound()"><i>
[[The room turns dark...|The orb cracks 2]]
</i></span>
<<masteraudio stop>>
<<audio "explosion" play>>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
You drop the orb and roll away, your life is worth more than that blasted thing anyways!
...
The Queen drops her swords and picks up the orb, she has a deep look of regret in her face.
...
...
She holds the orb above her head.
...
A flash of light.
-
<span onmouseover="playSound()"><i>
[[You feel a heavy weight upon your heart.|statue_orb-consumed]]
</i></span>
<style>body {background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");background-size: cover;}</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/gem-hit.gif" alt="" width="400" height="400" />
You strike the gem with everything you have!
...
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>G</w><w>E</w><w>M</w><w> </w><w>T</w><w>A</w><w>K</w><w>E</w><w>S</w><w> </w><w>1</w><w>0</w><w>0</w><w>0</w><w>0</w><w>0</w><w>0</w><w>0</w><w> </w><w>D</w><w>A</w><w>M</w><w>A</w><w>G</w><w>E</w><w>!</w></b></div></h3>
...
<span onmouseover="playSound()" width="25px"><i>
[[The gem looks shocked|final-orb-destroyed-2]]
</i></span>
<<audio "hit" play>><<audio "orb-use" play>>
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/gem-destroyed.gif" alt="" width="400" height="400" />
"..HOW....DID A LITTLE... RUNT LIKE YOU....... NO....."
...
The gem begins to crumble...
...
"NOOOOOOOO! THIS ISN"T THE END! NO I WILL BE BACK! YOU'LL....
GAAHHHH!"
...
The gem begins to shatter...
...
<h3><div id="bounce"><b><w>"</w><w>Y</w><w>O</w><w>U</w><w> </w><w>W</w><w>I</w><w>L</w><w>L</w><w> </w><w>P</w><w>A</w><w>Y</w><w> </w><w>F</w><w>O</w><w>R</w><w> </w><w>T</w><w>H</w><w>I</w><w>S</w><w>.</w><w>.</w><w>.</w><w>"</w></b></div></h3>...
<span onmouseover="playSound()" width="25px"><i>
[[The gem is destroyed!|gem-destroyed-3]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/gem-explode.gif" alt="" width="400" height="400" />
<<audio "theend" volume 0.3 play loop>>
The gem explodes!
...
Light returns to the domain and it's pages are restored.
<span onmouseover="playSound()" width="25px"><i>
[[THE END|THE END - 1]]
</i></span>
<<audio "explosion" play>>You head downstairs.
<span onmouseover="playSound()"><i>
[[Yeah I get it|downstairs]]
[[wait, actually I changed my mind|downstairs-wait]]
</i></span>Oh did you now!
<span onmouseover="playSound()"><i>
[[No, I didn't|downstairs]]
[[Yes I did|downstairs-wait-2]]
</i></span>Okay... well you head upstairs then!
...again.
<span onmouseover="playSound()"><i>
[[Sounds good|upstairs]]
[[No I didn't say that|downstairs-wait-3]]
</i></span>Alright. Let me get this straight.
...
I had you going downstairs, and then you just decided to change you mind and stay put? Like a little child learning they have their own free will?
<span onmouseover="playSound()"><i>
[[Yes, I can do whatever I please|downstairs-wait-4]]
[[Do not call me a child|downstairs-wait-child]]
</i></span>Now that's a fun idea.
...
So you would rather sit on this stairway forever, unmoving, because it allows you to make your own decision that is not influenced by me?
<span onmouseover="playSound()"><i>
[[Yes, I would rather rot here than be doomed to options I cannot control|downstairs-wait-6]]
-
[[wait, actually I changed my mind|downstairs-wait]]
</i></span>Fine. Sorry.
...
You want to go downstairs or not?
<span onmouseover="playSound()"><i>
[[Yes|downstairs]]
[[No|downstairs-no]]
</i></span>Sure. Feel free to wait then be my guest...\
<<timed 5000ms>>Happy? you made this choice by being difficult. \
<<next 5000ms>>Now you have to wait for ME to decide when you continue. \
<<next 5000ms>>Or you could leave if you want - I guess that's the only way to really stick it to me. \
<<next 5000ms>>... \
<<next 5000ms>>... \
<<next 5000ms>>Still here? \
<<next 5000ms>>... \
<<next 5000ms>>What are you trying to prove? I don't even know if you went this way! You think I can track people throught this game I barely even know how to code it! \
<<next 5000ms>>... \
<<next 5000ms>>Okay that's enough, you're here to have fun, right? Let's move forward and forget about that little fight we had. \
<span onmouseover="playSound()"><i>
[[let's go downstairs!|downstairs]] \
</i></span>
<</timed>><<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
You defeated the pop up ad!
Your "thinking under pressure" rank up!
You sit at the goblins computer.
<span onmouseover="playSound()"><i>
[[Pretend to still be battling so you can surf the web|searchcomputer]]
-
[[Let goblin have the computer back|returngolbincomputer]]
</i></span>
<<set $orb_count to $orb_count + 1>>[[I wanted adventure|adventure-entry]]
-
[[I ended up here by accident|404-entry]]
-
[[ Begin your Journey|seekadventure]]
-
[[ Quit|rest]]
-
[[ leaveshop|leave shop]]
-
[[Floor1|Base Floor]]
-
[[Pillar Room|Hallway-secondroom]]
-
[[ the orb cracks|The orb cracks]]
-
[[end of hallway|Hallway End]]
-
[[ Test|Orb Test]]
-
[[ Gem Fight|fight-orb-final]]
-
[[ the end|THE END - 1]]
-
[[ 404 page|blackout]]
-
[[ shop|shop]]
-
[[ friend test|friend-goblin]]
-
[[True Dark|True Dark-1]]
-
[[get hit|hit-1]]
-
[[large door|pre large door]]
-
[[the orb cracks 3 uses|The Orb Cracks - 3 uses]]
luck: <<print $luck>>
plant number: <<print $plant_number>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
Oh cool a map! Looks like it's a map of the domain, it even shows where you are!
...
I guess if you just memorize it you don't really need to buy it, but it's 35 GOLD if you do.
...
<<timed 6000ms>>You notice Shopaca eyeing you suspiciously, you have been looking at the map for a little too long. \ <</timed>>
<span onmouseover="playSound()"><i>
[[Buy Map|buymap]]
-
[[Keep Shopping|shop]]
</i></span>Not my problem, how about this instead?
<span onmouseover="playSound()"><i>
[[Game Over|blackout-stairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/faek-main.gif" alt="" width="400" height="400" />
"There are many paths in this domain that should remain untread. But I can offer passage to those willing if they know what to say."
...
Now, did you want to pass?"
<span onmouseover="playSound()"><i>
[[Yes please|pleaseupstairs]]
-
[[nevermind I'll just go downstairs|downstairs-fromupstairs]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
"What the heck! What am I supposed to do now!"
...
The skeleton isn't on his phone anymore - but he looks pissed.
...
"Why did you do this! I was talking with my friends online! Now I can't do anything you brat!"
<span onmouseover="playSound()"><i>
[[Pick up his head and take it with you|take-skelly]]
-
[[Try and put it back together|repair-skelly]]
-
[[I'm looking for a gem|gem-skelly]]
</i></span><<nobr>><<set $friend_skelly to "true">><<set $friend_skelly_nice to "false">><<set $player_friend to "true">><</nobr>>
You pick up the skeletons head.
...
<<nobr>><<if $friend_skelly is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/skelly-friend.gif" alt="" width="100" />
<span class="uititle">SKELETON:</span>
<i>"HEY! EARTH TO BOZO! I DON'T WANT TO COME WITH YOU!"</i><<endif>><</nobr>>
...
You hope the skeleton will warm up to you, you are very likeable.
-
<span onmouseover="playSound()"><i>
[[Keep on moving|Hallway-secondroom]]
</i></span>
<<set $friend_skelly to "true">><<set $friend_skelly_nice to "false">><<set $player_friend to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
You try to put the skeleton back together but you lack the know-how.
...
Maybe you shoudn't have punch him to pieces int he first place.
...
To make things worse he was actually streaming on twitch to his 20,000 followers, youve already been cancelled online for your pension for reckless violence.
...
Might be be best to try something else.
...
<span onmouseover="playSound()"><i>
[[Go back and try again|Hallway 2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
"I DONT CARE ABOUT NO STINKING GEM YOU MORON!!!! AN IDIOT LIKE YOU WOULD NEVER BE ABLE TO MAKE TO THE TOP AND CHALLENGE THE QUEEN FOR IT ANYWAYS!!!"Double-click this passage to edit it.Double-click this passage to edit it.<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
...
oops, probably better to not tell anyone about this.
...
The room is empty.
You notice some stairs.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span>
<<set $orb_count to $orb_count + 1>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
Okay you spent all your money on map.
...
Did you buy it to be polite since you memorized it?
...
If you did that was awfully nice of you.
...
If you bought it because maps are useful, that is also a wise idea!
...
Either way, you have no money left.
<span onmouseover="playSound()"><i>
[[Move along|leave shop]]
</i></span>
<<audio "purchase" play>>
<<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>A map? We could just look it up online. WAIT YOU SPENT HOW MUCH!?</i><<endif>>
<<set $itemshop to "map">><<set $boughtitem to "yes">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
"Tell me child, it is a person's actions or their heart that makes them good?"
<span onmouseover="playSound()"><i>
[[actions|orb-actions]]
[[heart|orb-heart]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<masteraudio stop>><<audio "finalintro" volume 0.5 play loop>>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
Born from the cucoon of the orb, the gem of power is now freed to wreak havoc on the domain.
...
A garbled voice groans
"Look at you, corrupted so easily by power.
I came to end this domain, but it looks as though the path you've carved has caused enough pain."
...
<span onmouseover="playSound()"><i>
[[what do you mean?|orb-what]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
"Every use of the orb spread my evil further upon the domain."
...
"I should really thank you for your help, it will be so simple wittling this place to dust now."
...
<span onmouseover="playSound()"><i>
[[It feels as if your body is crumbling.|orb-crumbling]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
"So quick to cast pain upon others.
Even with so little understanding you used my power so willingly."
...
You feel your mind slipping.
...
"And in the end, I shall cast you away just like those you met."
...
Maybe this is the end.
...
<span onmouseover="playSound()"><i>
[[You black out|orb-blackout-3]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>The dark provides you a dream.
...
A dream where you become the dark, absorbed by it's malice.
...
It feels as if a river flows through you. A heavy weight upon your heart - Terrifying and calming all at once - what you feared you have become.
...
Do you accept it?
...
<span onmouseover="playSound()"><i>
[[Yes|orb-blackout-accept]]
-
[[No|orb-blackout-no]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><<timed 5000ms>>You accept what the dream has told you.
-\
<<next 5000ms>>The dark absorbs itself into, you feel hopeless and devoid of care.
...\
<<next 5000ms>>it claws itself deeper, any moment now and your destruction will be complete.
...\
<<next 5000ms>>but that moment never comes.<<masteraudio stop>>
...\
<<next 5000ms>>The dark recoils within you, where it had resided in your heart it now flees. Something prevents it from corrupting you
<<audio "404page" volume 0.5 play loop>>
...\
<<next 5000ms>>"<<print $player_name>>, I wont let you fade."\
<<next 5000ms>><span onmouseover="playSound()"><i>
[[You recognize the wizards voice|orb-wizard-saves-you]]
</i></span>
<</timed>>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>You do not accept the call of the dark.
...
it bears down heavier upon you, each moment you resist it you feel it's grasp grow tighter.
...
However,
...
Deep within yourself is a light.
...
Quiet and dim, choked by the dark that has overcome you.
...
<h3><div id="bounce"><b><w>Y</w><w>E</w><w>T</w><w><w>,</w> </w><w>I</w><w>T</w><w> </w><w>S</w><w>T</w><w>I</w><w>L</w><w>L</w><w> </w><w>B</w><w>U</w><w>R</w><w>N</w><w>S</w></b></div></h3>
...
Despite the torment around you.
You focus your heart on the recovery of that light.
...
<span onmouseover="playSound()"><i>
[[...and it begins to shine brighter|orb-blackout-bright]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
The wizard appears - the edges of the dark are pushed back.
...
The wizards spell continues until the dark is compressed into a small orb that looks like polished glass.
...
<span onmouseover="playSound()"><i>
[[It's warm to the touch, it fizzes and pops with an arcane energy.|orb-created]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2.gif" alt="" width="400" height="400" />
A voice shudders from it's howling depth.
"the cycle continues"
...
It sounds like nothing you've ever heard.
Yet at the same time, familiar...
...
...As if all the beings you met here spoke it at once.
You don't like the thought of it.
<span onmouseover="playSound()"><i>
[[Light returns to the domain|orb-created-tryagain]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>The dark is contained, but it will return again.
Hopefully you will be ready upon it's next arrival.
...
<span onmouseover="playSound()"><i>
[[You return the orb to the wizard.|an ending]]
</i></span>For some bizarre reason you use the orb on shopaca
...
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The Orb Cracks - 3 uses]]</i></span><<else>>[[Nothing from the shop remains.|leave shop - bad]]<<endif>>
<<set $orb_count to $orb_count + 1>>
<<nobr>><<if $friend_goblin is "true">>
<img class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100" />
Goblin:
<i>"WHAT JUST HAPPENED??!"</i><<endif>><</nobr>>
<<set $friend_goblin to "false">>The orb cracks one more time, the fissure runs deep through it and what was once a hairline crack is rooted deep within it's core.
It begins to pull away from your grasp, it you attempt to grab it back it fires fast into the sky and shatters with a deafening blast.
You are thrown back and everything turns black...
... when you awake alone.
The sky around you turns dark...
<span onmouseover="playSound()"><i>
[[Observe|The orb cracks 2 - 3 uses]]
</i></span>
<<audio "explosion" play>>
<<cacheaudio "finalintro" "https://www.coltonfloris.com/wp-content/uploads/2021/02/final-battle-4.mp3">>
<<cacheaudio "finalbattle" "https://www.coltonfloris.com/wp-content/uploads/2021/04/final-battle.mp3">>Each moment becomes clearer, the darkness which felt so heavy before buckles beneath the weight of the light.
...
What was once blurring the edges of your vision is now turned to clarity as the light takes hold.
...
The dark subsides, growing ever smaller into a circle in the middle of your mind.
...
then it stops, as it is contained to it's furthest point, it compress itself into a small orb. Smooth as polished glass.
...
<span onmouseover="playSound()"><i>
[[It's warm to the touch, it fizzes and pops with an arcane energy.|orb-created]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="title" src="https://www.coltonfloris.com/wp-content/uploads/2021/07/VICTORY-1.gif" alt="" width="800" />
The wizard accepts the orb
...
"Thank you <<print $player_name>>!"
-
"So it seems you found them gem of power - though you were not ready for it. I'm happy you were able to escape it's grasp."
-
"Please take a bit of time to rest, you've been through a lot - however if you wish to help me face the dark again I will be waiting for you."
...
<span onmouseover="playSound()"><i>
<a href="http://www.coltonfloris.com/">
</i></span>
<<masteraudio stop>><<audio "404page" volume 0.2 play loop >><</timed>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>T</w><w>H</w><w>A</w><w>N</w><w>K</w><w>S</w><w> </w><w>F</w><w>O</w><w>R</w><w> </w><w>P</w><w>L</w><w>A</w><w>Y</w><w>I</w><w>N</w><w>G</w><w>!</w></b></div></h3>
-
!Hope you had a good time,
I'm gonna take you to my website for now but if you want to give the quest another go jsut start a new tab and break my site again!
<a href="http://www.coltonfloris.com/">Home</a>
Until next time!
<<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gem-darkness.gif" alt="" width="400" height="400" />
The domain descends into darkness.
You feel an evil presence watching you.
The darkness has come to claim you.
<span onmouseover="playSound()"><i>
[[A voice eminates from within the dark|Ending - 3 orbs uses]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<masteraudio stop>><<audio "finalintro" volume 0.5 play loop>>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You keep moving down the hallway.
...
You pass through an arched doorway. The corridor opens into a much larger room.
...
Stone pillars stand around you and run high up into the dark above. You can hear water lapping in a small pool, the stone pillars surround it in a circle.
...
<span onmouseover="playSound()"><i>
[[Look around|hallway-room-lookaround]]
</i></span>
<<masteraudio stop>><<audio "wellwellwell" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
In the middle of the room a pool with an etherial glow beckons you. The water rhytmatically laps on it's edges.
...
What do you do?
<span onmouseover="playSound()"><i>
[[Gaze into the pool|hallway-pool]]
-
[[Inspect the desk|hallway-room-desk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
Not sold on the room? That's fair, probably best to continue on your quest.
...
You move past the room with the stone pillars, as it disappears into the dark you feel the ground beneath you feet grow softer. Sand is covering the floor of the corridor.
...
<span onmouseover="playSound()"><i>
[[You see a large door ahead|pre large door]]
-
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-closed.gif" alt="" width="400" height="400" />
Time for some sick loot!
-
You sprint over to the chest, which takes almost no time at all. It looked like the chest was quite some distance away but it's actually quite small...
-
Who cares! Your mind is filled with what it could contain!
...
<span onmouseover="playSound()"><i>
[[Gold! Jewels! RICHES!|chest-hopeforriches]]
-
[[Cookies!|chest-hopeforcookies]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
As you approach the desk, the words within the book glow ever brighter, seemily reacting to your presence. The words seem hastily written and end abrubtly, a vial of ink and quill wait beside, beckoning to be used. You contemplate finishing what has been left unwritten.
...
A sudden pop and fizzle of a flask of liquid resting on the desk snaps your attention away from the book. A bright orange potion sits brewing, a thin line of steam wafts from the top of the flask. A note tied to the bottle reads <i>dumb bitch juice</i>
-
<span onmouseover="playSound()"><i>
[[Write something on the parchment|desk-write]]
-
[[Quickly drink a potion|necro-drinkpotion]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>Y</w><w>E</w><w>S</w><w>...</w><w> </w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>...</w><w> </w><u><w>Y</w><w>E</w><w>S</w><w>!</w></u></b></div></h3>
-
You just fell for the oldest trick in the book!
-
The mimic bites down hard on your hand as you reach towards the chest.
_
<span onmouseover="playSound()"><i>
[[Scream|chest-scream]]
-
[[Punch|chest-punch]]
</i></span>
<<masteraudio stop>><<audio "chest" volume 0.6 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>W</w><w>O</w><w>O</w><w>O</w><w>O</w><w>O</w><w>O</w><w>O</w><w>O</w><w>!</w><w>!</w><w>!</w></b></div></h3>
-
There's actually cookies in there! It's FULL OF EM!!
YESSSSSSS!!!!!
_
<span onmouseover="playSound()"><i>
[[Cheer|chest-cheer]]
-
[[Grab the cookies|chest-getcookies]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
A large wooden door blocks your entrance into the tower - it rises high above your height. The wood is gnarled and weathered, near the top of the door cracks have formed from age.
...
It's guarded by two suits of armor on each side of the door, they stand still and lifeless. Each holds an object loosly in their hands...
...
<span onmouseover="playSound()"><i>
[[Check the door|gate-inspect]]
-
<<if $leftkey is "false">>[[Look at the left armor guard|guard-left]]
-<<endif>>
<<if $rightkey is "false">>[[Look at the right armor guard|guard-right]]
<<endif>>
</i></span>
<<masteraudio stop>><<audio "ambient" volume 0.3 play loop>>"You must really not know what you're doing if you tried to open me up kid."
...
Looks like gibberish! You can't read anything!
...
Must be some sort of spell book or ancient tomb!
...
or maybe it's a guest book!
Either way it you would probably regret it if you didn't write something in it.
-
<span onmouseover="playSound()"><i>
[[Write something|desk-write]]
-
[[No, it isn't mine|desk-dontwrite]]
</i></span>You write something down in the book.
<<textbox "$spell_name" "Hey there!" "book written">>
<span onmouseover="playSound()"><i>(type something to write in the book & press enter to continue)</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You go and have a look at the pool - you peer over the edge of the water.
...
You see nothing, no reflection, no bottom, just an eerie clear liquid that seems to go down forever.
...
It's unsettling, might be fun to drop something in to it though.
-
<span onmouseover="playSound()"><i>
<<if $hand is "gone">>-
[[Dip your arm in with the missing hand|pool-diparm]]<<endif>>
[[Drop the orb in|pool-droporb]]
-
[[Drop yourself in|pool-dropyourself]]
<<if $itemshop is "sword">>-
[[Drop sword in|pool-dropsword]]<<endif>>
</i></span>Okay up to you, you leave the book alone, still a few other things to look at around the room.
-
<span onmouseover="playSound()"><i>
[[Look at the chest|Hallway chest]]
-
[[Gaze into the pool|hallway-pool]]
</i></span>As you finish your last impression on the page, the book begins to glow - it floats over the table and begins rapidly flipping through the pages. The wind eminating from the book is starting to flip the other books pages and it's making a big mess.
...
The glow from the book is getting super bright, you take a few steps back to keep your distance when you hear something run up from behind. A voice, dry and withered rises above the flipping of the pages."
...
<span onmouseover="playSound()"><i>
[["WHO DARES WRITE IN MY ANCIENT TOME!"|desk-necro]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>L</w><w>I</w><w>C</w><w>H</w><w> </w><w>K</w><w>I</w><w>N</w><w>G</w><w> </w><w>A</w><w>P</w><w>P</w><w>E</w><w>A</w><w>R</w><w>S</w><w>!</w></b></div></h3>
-
<i>A chill runs down your spine</i>
-
"Foolish mortal, do you know what you've done? You cannot comprehend the power of which you've just meddled with in your arrogance."
-
<span onmouseover="playSound()"><i>
[[Deny writting anything|lich-king-lie]]
-
[[Challenge him to a duel|lich attack intro]]
-
[[Blast him with the orb|lich attack intro]]
</i></span>
<<masteraudio stop>><<audio "necro" volume 0.4 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You drop the orb in.
...
<h3><div id="shake">KER-PLUNK!</div></h3>
...
The splash is much larger than you would have expected - it was as if the orb had a different weight once it left your hand. You watch it sink into the inky black below. After a few moments the pool flashes a deep orange and the orb reappears in your hand.
...
<span onmouseover="playSound()"><i>
[[Drop it in again|pool-droporb-again]]
-
[[That was weird, but time to keep moving|pool-keeponmoving]]
</i></span>
<<set $pool_count to $pool_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Surely you saw this coming, throwing yourself in the pool wasn't the best idea.
...
I can bring you a few steps back, it you'd like.
<span onmouseover="playSound()"><i>
[[Go through the left door|left door]]
-
[[Go through the right door|right door]]
</i></span>
<<masteraudio stop>>
<<set $$fourohfour_count to $$fourohfour_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/enchantedsword.gif" alt="" width="400" height="400" />
You drop the sword in, the pool flashes a bright orange.
-
You shield your eyes from the light, once it dissipates you feel the sword has returned to it's sheath - you draw it to inspect. The sword radiates with a new light, and it's form altered. What was once a simple looking blade now looks like it was weilded by the kings and queens of old. Energy flows around the newly enchanted steel.
...
Pretty sick!
-
<span onmouseover="playSound()"><i>
[[Keep moving|pool-keep-moving2]]
-
[[Test it out|pool-testsword]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
...
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You drop the orb in again.
...
<h3><div id="shake">KER-PLUNK!</div></h3>
...
The exact same thing happens, the orb sinks a orange murky flash from the bottom of the well - then the orb is returned to you. It feels like you never even let go of it each time.
...
<span onmouseover="playSound()"><i>
[[Drop it in again|pool-droporb-again]]
-
[[Still weird, but time to keep moving|pool-keeponmoving]]
</i></span>
<<set $pool_count to $pool_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
Weird, something about that pool seemed off.
...
Not your problem though, you move past the room with the stone pillars, as it disappears into the dark you feel the ground beneath you feet grow softer. Sand is covering the floor of the corridor.
...
<span onmouseover="playSound()"><i>
[[You see a large door ahead|pre large door]]
-
</i></span>It takes a while for your eyes to adjust to the dark you find yourself in. You try to figure out where you are, the room around you looks like the one you fought the queen in, but much everything seems much larger and distorted.
...
You turn and see the Queen towering above you, she seems unaware of your presence.
...
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<cacheaudio "finalintro" "https://www.coltonfloris.com/wp-content/uploads/2021/02/final-battle-4.mp3">>
<<cacheaudio "finalbattle" "https://www.coltonfloris.com/wp-content/uploads/2021/04/final-battle.mp3">>
<<masteraudio stop>><<audio "finalintro" volume 0.5 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"Well it sure looks like you wrote something! Look you're even still holding the quill!
-
<span onmouseover="playSound()"><i>
[[Okay you got me|lich-king-confess]]
-
[[Blast him with the orb|lich-king-orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You look around for something the blame for writing in the book.
...
The room looks pretty empty aside from the things you already saw when you came in, but it's better to commit to a lie than admit you made a mistake right?
...
You get your pointer finger primed and ready and cast it upon your victim.
<span onmouseover="playSound()"><i>
[[Blame the chest|lich-king-blamechest]]
-
[[Blame the water?|lich-king-blamewater]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You tell the litch about your quest.
...
"tch, you're a little goon for that useless wizard? Thinks he can save the domain when he can't even save himself."
-
"Not my problem though, when he finally fails I will enact my perfect plan, soon this will be necromancer.com! designes and illustration services will no longer be required."
-
<span onmouseover="playSound()"><i>
[[So what's your big plan?|lich-askplan]]
-
[[Stay quiet|lich-dont-talk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You go to lift the orb to vaporize the Lich King.
...
You can't move your arm! A spell hinders it from lifting.
-
"<i>Huhuhuh!</i> I've heard all about that little orb that <i>'wizard'</i> gave you, lets just put that thing away for a bit so we can talk."
-
The orb vanishes from your site - though you can still feel the weight of it bearing down on you.
...
"Now, tell me a little bit about what you've been up to in MY domain."
-
<span onmouseover="playSound()"><i>
[[Tell him everything you know|lich-spill]]
-
[[Stay quiet|lich-dont-talk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You point at the chest across the room.
...
"CHARLES!? You telling me <i>Charles</i> wrote in the book. He's a CHEST! HE DOESN"T EVEN HAVE HANDS!"
-
You see the Lich King preparing a spell.
.
<span onmouseover="playSound()"><i>
[[Ask the Lich King what you wrote|ask-lich]]
-
[[Run away|lich-king-run]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"The water? Come on, how does that makes any sense? Do you know how ridiculous you sound?"
-
<i>You don't really know either, you panicked!</i>
-
"You will pay for what you've done, 10,000 years perfecting that spell book for you to ruin it with your meddling. Prepare to die."
-
You see the Lich King preparing a spell.
.
<span onmouseover="playSound()"><i>
[[Prepare for Battle|lich-king-battle]]
-
[[Use the Orb|lich-king-orb-1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/enchantedsword.gif" alt="" width="400" height="400" />
Don't want to test out your cool new sword? alright then.
<span onmouseover="playSound()"><i>
[[You keep on trucking|pre large door]]
-
[[Let's have a look at that desk|hallway-room-desk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/enchantedsword.gif" alt="" width="400" height="400" />
-
You test the sword out on a pillar, it cuts through it like a hot knife through butter! You feel no resistance as you move from pillar to pillar, each one succumbs to your blade easier than the last.
...
-
<h3><div id="shake">HELL YEAH!</div></h3>
-
<span onmouseover="playSound()"><i>
[[Something crashes beside you|pillar-room-collapse]]
</i></span>The room crumbles behind you as you sprint into the next part of the tunnel, disappearing into the dark.
-
Moving ahead you feel the ground beneath you feet grow softer. Sand is covering the floor of the corridor.
...
<span onmouseover="playSound()"><i>
[[You see a large door ahead|pre large door]]
-
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>B</w><w>A</w><w>T</w><w>T</w><w>L</w><w>E</w><w> </w><w>S</w><w>T</w><w>A</w><w>R</w><w>T</w><w>!</w></b></div></h3><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You go to lift the orb to vaporize the Lich King.
...
You can't move your arm! A spell hinders it from lifting.
-
"Nuh uh! I've heard all about that little orb the Wizard gave you, lets just put that thing away for a bit."
...
The orb vanishes from your site - though you can still feel the weight of it bearing down on you.
...
"Now, tell me a little bit about what you've been up to in MY domain."
-
<span onmouseover="playSound()"><i>
[[Tell him everything you know|lich-spill]]
-
[[Stay quiet|lich-dont-talk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Bummer, looks like this is game over.
...
You can try again from a few steps back... if you'd like.
<span onmouseover="playSound()"><i>
[[Go up|upstairs]]
-
[[Go down|downstairs]]
</i></span>
<<masteraudio stop>>
<<set $$fourohfour_count to $$fourohfour_count + 1>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"NOW YOU'RE ASKING <b><i>ME</i></b> WHAT YOU WROTE IN MY SPELL TOME?"
-
"SURE! LET ME JUST HUMOR YOU FOR A MOMENT!"
-
The lich grabs the book and utters the words you made manifest in that ancient tome.
-
"<<print $spell_name>>"
...
<i>"..How..."</i>
<span onmouseover="playSound()"><i>
[[The Lich drops the book in horror|lich-spell]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
Rather than dealing with the consequences of your actions you decide to simply hoof it out of there.
-
The Lich King in his rage starts tearing the room apart with his dark magic. Undead creatures rise from the ground around you, tearing at the pillars in the room.
...
Stones crash around you, as you sprint for the door you can see a stone falling directly in your path!
<span onmouseover="playSound()"><i>
[[Weave right and keep running|lich-run-right]]
-
[[Weave left and keep running|lich-run-left]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You tell the lich about your quest.
...
"tch, you're a little goon for that useless wizard? Thinks he can save the domain when he can't even save himself."
-
"Not my problem though, when he finally fails I will enact my perfect plan, soon this will be necromancer.com! design and illustration services will no longer be required."
-
<h3><div id="bounce"><b><w>"H</w><w>A</w><w>!</w><w> </w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>!</w><w>!"</w></b></div></h3>
<span onmouseover="playSound()"><i>
[[So what's your big plan?|lich-askplan]]
-
[[Stay quiet|lich-dont-talk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"Tough guy huh?"
-
"Well how about this, how about I tell <i>you</i> a little story - about a new visitor, who took a gift blindly from someone they just met - a gift that they have no idea of - the value - <i>ţ̷̇h̶͓́e̸̕͜ ̴̦͐p̷͎͌ȯ̷̖t̶̮̒e̸͈͝ñ̸̝ć̵̳y̸͓̔ ̷̭͐o̶͇̿f̴̹͛ ,</i> each moment with that <i>gift</i> t̶͈̒e̶͈̅a̸̩̅r̴̫̓s̷͈̐ you...<i> r̷̨͐i̷̻͆p̶̳̀s̸̞͌ ̴̮́t̵̩̚ḣ̸̯e̵͓͒ ̵͒ͅd̸̡̛á̶̩r̸̮͝k̴̛̬n̶̹͋e̶̱̚s̸͈̉s̸̝͝ ̸͕́f̶͖̓r̶̢̄o̶͋ͅm̸͉͝ ̴͍̎y̸͚̚o̴̳͒ṵ̴͐ ̸̪̏a̴̳̐n̵͈̑ḏ̴̽ ̶̢̑m̶͔̽a̵̻͒k̷͎͑ẻ̴̜s̷͍̐ ̷̺̅ï̵̤t̸̰̓ ̴̳́m̸̭̔ä̶͕́n̴̼̆i̷͐ͅf̸̠̔e̸͙͗s̷̨̒t̸͈́. g̵̲͌n̷̢̽á̶̟ẉ̶͋s̵̜̒ ̶̥͐a̷̭͠ť̷̘ ̷̠̓y̸̧͑o̷̘͋ǘ̸̫r̷̤̂ ̴̹͑ș̶̆o̴̫̿u̶̱͝l̷̨̽ ̷̀͜a̴̘͝ǹ̷͉d̸͋͜ ̸̢͐è̵̠r̷̪̄ó̵̞d̴̒͜e̵̥͂s̵͍̔ ̶̭̿y̴͍̓ǫ̷͌û̴̦r̶̲͝ ̵͕̈́m̶͎̋i̸̺͘n̵̫͊d̶̤̍</i>
...
<i>The Lich grows distant, more forboding.
...
"a̷̳̚n̸͙͐d̴͕̈ ̴̼́c̸̮͂ḷ̵͐ä̸̤w̸̎͜s̸̡͝ ̷̦̿a̵͈͛t̴̡͌ ̶͍͗t̸̡͋h̸̲̕e̸̮̓ ̵͙̉ḻ̴͝i̵͉̅g̴̳͒h̵̝̓ṫ̴͈ ̴̛̖ẅ̵̭́i̴̼̊t̸̝̒h̸̨̓i̶͍͛n̵̫͆ ̷̲̅y̵̦̑õ̸̢ǘ̸̼,̸̛͇ ̴͍͠y̸̹͆o̶̪͋ṵ̸͛ř̶̺ ̵͚̄h̸̺̀e̸̦̍ä̷̤́r̴̟̔t̷̺͆ ̸̻̓b̵̤̀e̵̹̊a̷͚͌t̴̖̀i̴̲͂n̴̨͆g̶̳͝ ̷̮̑ê̸͙v̵̻̈́e̶̢̎r̵͚̆-̶̨̓d̶̩̕a̶̲̿r̶̮̀k̵̠͛é̴̘ř̸̦ ̵̠́ǘ̷͍ṅ̶͓t̸̜̚i̸̲͋l̸̗̀ ̵̙̊ȉ̴͙ț̵̄ ̷͖͝ś̷̩t̵̳̐ö̴̳́p̸̹̃s̵̟͝,̵̨͝ ̸͍̈v̵̰̈́o̷͉̽i̷̬̾d̵̹͌ ̷̯͌o̶̼͛f̶̠̀ ̶̣̌a̴̾͜ ̷̻͗r̶̬̉ě̴͍a̷̢͌s̵̡̽ö̸̼́ṉ̷̍ ̴͝ͅt̶̞̍o̶̻͘ ̵̯͂h̷̥̏ō̵̹p̸͔͛e̵̓͜.̶̩̈́"</i>
-
<span onmouseover="playSound()"><i>
[[...|lich-orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<i>this guy is crazy</i>
<span onmouseover="playSound()"><i>
[[...|lich-orb]]
</i></span><h3><div id="shake">CRRSSHHHHH!!!</div></h3>
...
A large splash in the pool beside you, a deafening thud mere feet from where you stand - rocks and stonework fall around you...
...
<h3><div id="shake">THE ROOM IS COLLAPSING</div></h3>
...
<span onmouseover="playSound()"><i>
[[You run for the door|pre large door]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
The door is locked shut
...
You feel like you could destroy the door with the orb, but think it might be reckless if you've never spoken with the guards...
<<nobr>><<if $leftkey eq "placed" and $rightkey eq "placed">>Both keys from the guards are placed in the door.<<endif>><</nobr>>
<span onmouseover="playSound()"><i>
<<if $rightkey is "true">>[[Place the square key in the door|roght-key-placed]]
-<<endif>>
<<if $leftkey is "true">>[[Place the triangle key in the door|left-key-placed]]
-<<endif>>
<<if $leftkey eq "placed" and $rightkey eq "placed">>[[Place the orb in the final slot|door-orbneeded]]
-<<endif>>
<<if $leftkey is "false">>[[Look at the left armor guard|guard-left]]
-<<endif>>
<<if $rightkey is "false">>[[Look at the right armor guard|guard-right]]
-<<endif>>
[[Blast the gate open using the orb|gate-open-blast]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-still.gif" alt="" width="400" height="400" />
You approach the guard on the left.
...
The armor rumbles, a voice echos out from within it.
...
"Solve my riddle and gain a prize, answer poorly and meet your demise."
...
The guard poses a simple question.
...
"Do you like hotdogs?"
<span onmouseover="playSound()"><i>
[[Yes|left-guard-yes]]
-
[[No|guard-left-no]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-still.gif" alt="" width="400" height="400" />
You approach the guard on the right. It seems to shudder as you approach, but looks lifeless.
...
You hear a voice, yet the armor remains still. It seems to leak out of the cracks in the steel plating.
-
"If you wish to learn combat, I shall guide your might."
...
<span onmouseover="playSound()"><i>
[[Bring it on!|guard attack intro]]
-
[[No thanks|guard-naw]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-still.gif" alt="" width="400" height="400" />
"You have answered wisely, take this as a token of our newfound friendship."
...
The guard releases it's grip on the object it holds within its hand.
...
You grab the square stone. A picture of a hotdog is crudely carved into it.
...
<span onmouseover="playSound()"><i>
[[Check the door|gate-inspect]]
-
<<if $rightkey is "false">>[[Look at the right armor guard|guard-right]]
-<<endif>>
</i></span>
<<audio "purchase" play>>
<<set $leftkey to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
"Then you shall be destroyed"
...
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>L</w><w>E</w><w>F</w><w>T</w><w> </w><w>G</w><w>U</w><w>A</w><w>R</w><w>D</w><w> </w><w>A</w><w>T</w><w>T</w><w>A</w><w>C</w><w>K</w><w>S</w><w>!</w></b></div></h3>
-
<span onmouseover="playSound()"><i>
[[Rethink your answer|lg-rethink]]
-
[[Use the orb|guard-left-orb]]
</i></span>
<<masteraudio stop>><<audio "guard" volume 0.7 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
You let the guard know you might actually like hotdogs, but it doesn't seem convinced.
...
Looks like you'll have to bluff your way out of this.
...
You try to talk about a few of the many benefits of hotdogs to convince the guard.
-
<span onmouseover="playSound()"><i>
[[they're a great on the go meal!|on-thego-argument]]
-
[[You can customize them with a lot of toppings!|hotdog-toppings]]
</i></span><<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
Nothing but the key remains.
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
-
[[Train More|rg-trainmore]]
</i></span>
<<set $leftkey to "true">><<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
"Yes, many things can go on top... you are correct about that."
...
The guard seems like it would be more interested in the portability of hotdogs.
...
<span onmouseover="playSound()"><i>
[[Talk about cooking them over a fire with friends|hottdog-campfire]]
-
[[Talk more about the toppings to win him over|toppings-more]]
</i></span>"They are a great meal to have in a hurry, and you can have one in each hand if you are really hungry!"
...
The guard seems happy
...
<span onmouseover="playSound()"><i>
[[You totally can!|hottog-yeahtwohands]]
-
[[That's not practical|hottdog-notpractical]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
The guard seems happy. It releases it's grip on the object it holds within its hand.
...
You grab the square stone. A picture of a hotdog is crudely carved into it.
...
<span onmouseover="playSound()"><i>
[[Check the door|gate-inspect]]
-
<<if $rightkey is "false">>[[Look at the right armor guard|guard-right]]
-<<endif>>
</i></span>
<<audio "purchase" play>>
<<set $leftkey to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
You tell the guard it's not a good idea to have a hotdog in both hands because you can no longer do tasks such as opening doors or give hi-fives.
-
The guard wants to hear none of it, he destroys you and ends your bloodline in one swift motion.
-
Bummer!
...
<span onmouseover="playSound()"><i>
[[Try again|hallway-largedoor]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
"Hahaha this is true! A nothing tastes better than a delicious hotdog cooked amongst friends!"
...
The Guard seems pleased, he puts his axe on the ground and begins excitedly recalling a story about how he forgot to bring hotdogs on a camping trip but his friends had an extra pack in the cooler and it was such a nice surprise and it turned the whole trip around and -
-
He stops and calls over to the other guard.
-
"You remember right Clara? Those were some of the best hotdogs I've ever had!"
-
"Yes I remember Bombo, but we're supposed to be training the visitor remember?"
-
"Oh right, do you uh... want some training?"
<span onmouseover="playSound()"><i>
[[sure I guess|hottdog-train]]
-
[[Just ask for the key|leftguardacceptkeynotrain]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
You speak at length about how many different toppings can go on a hotdog with so many variables & possibilities. It's like infinite possiblities if you really think about it.
-
The guard looks bored of you and your antics, he offers to give you the key if you simply leave him alone.
-
<span onmouseover="playSound()"><i>
[[No, you actually really like hotdogs and you've finally convinced yourself and need him to know|hottdog-youlikethemnow]]
-
[[Accept the key|leftguardacceptkey]]
</i></span><div class="healthoverlay"><health><<if $health is 3>><img src="https://www.coltonfloris.com/wp-content/uploads/2023/03/heart-3.gif" alt="" width="60"><<elseif $health is 2>><img src="https://www.coltonfloris.com/wp-content/uploads/2023/03/heart-2.gif" alt="" width="60"><<elseif $health is 1>><img src="https://www.coltonfloris.com/wp-content/uploads/2023/03/heart-1.gif" alt="" width="60"><<elseif $health is 0>><img src="https://www.coltonfloris.com/wp-content/uploads/2023/03/heart-0.gif" alt="" width="60"><<else>><<endif>>
</health></div>
[[Test page|TestPage2]]
-
<span class="uititle">FLOOR:</span>
<<print $level>>
<span class="uititle">ITEMS:</span><<if $item is "orb">><<if $orb_count is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2.gif" alt="" width="100" height="100">THE ORB<<elseif $orb_count is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />THE ORB <i>cracked</i><<elseif $orb_count is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-b.gif" alt="" width="100" height="100" />THE ORB <i>shattered</i><<endif>><<if $orb_count is 2>><<elseif $orb_count is 3>><<endif>><<if $orb_count is 2>><<else>><<endif>><<endif>>
<<if $boughtitem is "yes">><<if $itemshop is "sword">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/sword-sleep.gif" alt="" width="100" height="100">SWORD<<elseif $itemshop is "shield">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/shield.gif" alt="" width="100" height="100" />SHIELD<<elseif $itemshop is "truesword">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/enchantedsword.gif" alt="" width="100" height="100" />TRUE SWORD<<elseif $itemshop is "potion">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />POTION<<elseif $itemshop is "plant">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="100" height="100" /><<print $plant_name>><<elseif $itemshop is "map">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />MAP<<elseif $itemshop is "all">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/sword-sleep.gif" alt="" width="100" height="100" />SWORD<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />POTION<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />POTION<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/plant-regular.gif" alt="" width="100" height="100" />PLANT<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/orb-new2-a.gif" alt="" width="100" height="100" />POTION<<else>><<endif>><<endif>>
<<if $hand is "spectral">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/spechand-2.gif" alt="" width="100" height="100" />SPECTRAL HAND<<endif>>
<<if $player_friend is "true">><span class="uititle">COMPANIONS</span><<endif>><<if $friend_goblin is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100"/>GOBLIN<<endif>><<if $friend_skelly is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/skelly-friend.gif" alt="" width="100"/>SKELLY
<<endif>><<if $friend_flower1 is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-1.gif" alt="" width="100"/><<print $plant_name>><<endif>><<if $friend_flower2 is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-2.gif" alt="" width="100"/><<print $plant_name>><<endif>><<if $friend_flower3 is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-3.gif" alt="" width="100"/><<print $plant_name>><<endif>><<if $friend_shopaca is "true">><img class="center" class ="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/goblin-friend.gif" alt="" width="100"/>SHOPACA<<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
You grab the nearest potion, it's bright orange and bubbling like crazy.
...
looks like a fizzy soda, you can't wait to drink it.
...
<span onmouseover="playSound()"><i>
[[Bottoms up!|bottoms-up!]]
-
[[Use all your willpower and resist drinking it|bottoms-down]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>W</w><w>O</w><w>A</w><w>H</w><w> </w><w>M</w><w>A</w><w>M</w><w>A</w><w>!</w></b></div></h3>
...
What was in that thing? You can barely keep yourself standing.
<span onmouseover="playSound()"><i>
[["YOU FOOL!"|necro-drank]]
</i></span>
<<masteraudio stop>>
<<set $drank to "drunk">>
<<if $drank is "drunk">>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/goincrazy.gif");
background-size: cover;
}
</style><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/potion.gif" alt="" width="400" height="400" />
You manage to keep yourself from drinking the potion, you put it away for possible use later.
...
You gained elixer!
...
A voice booms from behind you.
<span onmouseover="playSound()"><i>
[[what!|lich attack intro]]
</i></span>
<<masteraudio stop>><<audio "necro" volume 0.4 play loop>>
<<if $drank is drunk>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/goincrazy.gif");
background-size: cover;
}
</style><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>T</w><w>H</w><w>E</w><w> </w><w>L</w><w>I</w><w>C</w><w>H</w><w> </w><w>K</w><w>I</w><w>N</w><w>G</w><w> </w><w>A</w><w>P</w><w>P</w><w>E</w><w>A</w><w>R</w><w>S</w><w>!</w></b></div></h3>
-
<i>You're not feeling so hot</i>
-
"Foolish mortal! How DARE you steal a potion froM mE! Thw rUklar of hTe UN-DarWuald ... .. ,cascka,s .asdca xs sdfq q aref fe tgvwe,"
-
"Ar yr... ae otu evar lirteirn t mi?!!"
...
<span onmouseover="playSound()"><i>
[[huh?|lich attack intro]]
-
[[what!|lich attack intro]]
-
[[Blast him with the orb|lich-battle-main]]
</i></span>
<<masteraudio stop>><<audio "necro" volume 0.4 play loop>>
<<if $drank is "drunk">>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/goincrazy.gif");
background-size: cover;
}
</style><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/>
You want to buy Shopaca?
-
Shopaca is touched, nobody has thought of them as like that before.
-
<span onmouseover="playSound()"><i>
[[Invite Shopaca on your quest|buyshopaca]]
-
[[Whoops no, just meant to look around|shop]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/>
Shopaca agrees to join your worthy cause!
-
<span onmouseover="playSound()"><i>
[[let's go!|leave shop]]
</i></span>
<<audio "purchase" play>>
<<set $friend_shopaca to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>C</w><w>O</w><w>M</w><w>B</w><w>A</w><w>T</w><w> </w><w>S</w><w>T</w><w>A</w><w>R</w><w>T</w><w>!</w></b></div></h3>
-
"The steps ahead will test your strength. I need to make sure you are able to defend yourself against your adversaries."
-
"The key to a proper attack is to strike at the right time. You can repel any attack with proper timing and form."
-
"I will attack in the next page, wait until to see ATTACK to click the link."
_
<span onmouseover="playSound()"><i>
[[Understood|rg-attack-test]]
-
[[Why don't you just join me and defend for me|guard-right-whydont]]
</i></span>
<<masteraudio stop>><<audio "guard" volume 0.7 play loop>><i>"Those who hide behind power they have not earned shall perish by it all the same."</i>
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
-
Nothing but the key remains.
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">><<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
The wizard reappears, but the light does not return...
-
Something feels off.
-
the wizard laughs.
-
"Tell me, <print $player_name>, what becomes of you when you cannot escape the dark?"
<span onmouseover="playSound()"><i>
[[You have no answer|true-dark-2]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<masteraudio stop>><<audio "finalintro" volume 0.5 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/darkness_born_2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>"</w><w>.</w><w>.</w><w>.</w><w>Y</w><w>O</w><w>U</w><w> </w><w>B</w><w>E</w><w>C</w><w>O</w><w>M</w><w>E</w><w> </w><w>T</w><w>H</w><w>E</w><w> </w><w>D</w><w>A</w><w>R</w><w>K</w><w>"</w></b></div></h3>
-
Death comes for you
<span onmouseover="playSound()"><i>
[[FIGHT|the-dark-3]]
</i></span>
<<audio "heavyhit" play>>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
"Foolish little child, you still stand against me?"
-
"Did you think good will triumph? Did you think that light has any power?"
-
<h3><div id="bounce"><b><w>H</w><w>E</w><w>H</w><w>E</w><w>H</w><w>E</w><w>H</w><w>E</w></b></div></h3>
-
"The dark shall tear you from this world, just as it has torn at my mind all these days."
<span onmouseover="playSound()"><i>
[[FIGHT|wizardcorrupt-battle-main]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style>
<<masteraudio stop>><<audio "truefinal" volume 0.6 play loop>><<set $wizardcorrupt_hp to 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
-
<h3><div id="bounce"><b><w>H</w><w>E</w><w>H</w><w>E</w><w>H</w><w>E</w><w>H</w><w>E</w></b></div></h3>
-
"The wizard you knew before is gone, I crushed him like the pathetic worm he was. Soon you will go to meet him by the same fate."
-
The evil wizard prepares a spell of dark energy.
-
<span onmouseover="playSound()"><i>
[[The evil wizard attacks|the-dark-5]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><div id="container"><div id="video_overlays"><img src="https://www.coltonfloris.com/wp-content/uploads/2022/02/ponder-photobooth-2.gif" style="z-index:3000;position:absolute;"/><video autoplay="true" id="videoElement"></video></div></div>
<h3><div id="bounce"><b><w>Y</w><w>O</w><w>U</w><w> </w><w>P</w><w>O</w><w>N</w><w>D</w><w>E</w><w>R</w><w> </w><w>T</w><w>H</w><w>E</w><w> </w><w>O</w><w>R</w><w>B</w></b></div></h3>
...
as you should.
...
The orb in now pondered, your journey awaits.
-
<span onmouseover="playSound()"><i>
[[Approach the tower|tower-approach]]
</i></span>
<<set $score to $score + 150>>
<<masteraudio stop>><<audio "404page" volume 0.3 play loop>>
<<nobr>><script>
var video = document.querySelector("#videoElement");
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
}
</script><<endnobr>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/tunnel-static.gif" alt="" width="400" height="400" />
-
You find yourself in another tunnel.
...
You start to feel like this corridor will never end when you see the shape of a large door appear from within never ending black.
-
<<if $itemshop is "plant">>Suddenly you feel the plant you've been carrying start to rumble!
-<<endif>>
<span onmouseover="playSound()"><i>
<<if $itemshop is "plant">>[[Check the plant|plant-bloom]]<<else>>
[[Approach the door|hallway-largedoor]]<<endif>></i>
</span>
<<masteraudio stop>><<audio "ambient" volume 0.3 play loop>><<if $plant_number is 1>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-1.gif" alt="" width="400" height="400" />
Woah! <<print $plant_name>> has bloomed!
...it looks unlike anything you've seen in this realm.
<span onmouseover="playSound()"><i>
[[Say hello|flower-hello1]]</i></span><<endif>>
<<if $plant_number is 2>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-2.gif" alt="" width="400" height="400" />
Woah! <<print $plant_name>> has bloomed!
...it looks unlike anything you've seen in this realm.
<span onmouseover="playSound()"><i>
[[Say hello|flower-hello2]]</i></span><<endif>>
<<if $plant_number is 3>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-3.gif" alt="" width="400" height="400" />
Woah! <<print $plant_name>> has bloomed!
...it looks unlike anything you've seen in this realm.
<span onmouseover="playSound()"><i>
[[Say hello|flower-hello3]]</i></span><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
@@#replace-me; [[Five|rg-attack-miss-superearly]] @@
<<nobr>>
<<timed 1s>><<replace '#replace-me'>> [[Four|rg-attack-miss-early]] <</replace>><</timed>>
<<timed 2s>><<replace '#replace-me'>> [[Three|rg-attack-miss-early]] <</replace>><</timed>>
<<timed 3s>><<replace '#replace-me'>> [[Two|rg-attack-miss-early]] <</replace>><</timed>>
<<timed 4s>><<replace '#replace-me'>> [[One|rg-attack-miss-early]] <</replace>><</timed>>
<<timed 5s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Attack|rg-attack-attack]]</i></span> <</replace>><</timed>>
<<timed 6s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Missed!|rg-attack-miss-late]]</i></span> <</replace>><</timed>><</nobr>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"I am cursed to this spot, if I move from it I will die."
-
<span onmouseover="playSound()"><i>
[[Have you ever tried to move?|rg-try]]
-
[[Okay no worries|rg-attack-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>!</w></b></div></h3>
-
"A worthy attack! Come at me again!"
-
@@#replace-me; [[Sometimes|rg-attack-miss-early2]] @@
<<nobr>>
<<timed .5s>><<replace '#replace-me'>> [[It's|rg-attack-miss-early2]] <</replace>><</timed>>
<<timed 1s>><<replace '#replace-me'>> [[Not|rg-attack-miss-early2]] <</replace>><</timed>>
<<timed 1.5s>><<replace '#replace-me'>> [[Obvious|rg-attack-miss-early2]] <</replace>><</timed>>
<<timed 2s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[NOW!|rg-attack-2ndhit]]</i></span> <</replace>><</timed>>
<<timed 2.5s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Someone will strike|rg-attack-miss-late2]]</i></span> <</replace>><</timed>><</nobr>>
<<audio "hit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>"I</w><w>N</w><w>C</w><w>R</w><w>E</w><w>D</w><w>I</w><w>B</w><w>L</w><w>E</w><w>!"</w></b></div></h3>
"I even tried to catch you off guard with that one!"
-
"You are more than ready to face what lies head."
-
The statue releases it's grip on the stone within it's grasp.
-
<span onmouseover="playSound()"><i>
[[You take the stone|take-stone]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="shake">"WRONG!"</div></h3>
-
"You missed your chance! - your death is almost guaranteed."
-
"I will attack again in the next page, wait until to see ATTACK to click the link."
_
<span onmouseover="playSound()"><i>
[[Try Again|rg-attack-test]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="shake">"WRONG!"</div></h3>
-
"You have struck to early and let yourself open to a counter attack - your death is almost guaranteed."
-
"I will attack again in the next page, wait until to see ATTACK to click the link."
_
<span onmouseover="playSound()"><i>
[[Try Again|rg-attack-test]]
</i></span>REFERENCE PAGE
<h3><div id="shake">"HEY!"</div></h3>
<h3><div id="bounce"><b><w>#</w></b></div></h3>
<<audio "hit" play>>
<<audio "heavyhit" play>>
<<audio "purchase" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="shake">"WHAT ARE YOU DOING?!"</div></h3>
-
"You didn't even wait a second! Your recklessness will be your ruin!"
-
"Now, I will attack again in the next page. Wait until to see ATTACK to click the link."
_
<span onmouseover="playSound()"><i>
[[Try Again|rg-attack-test]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
The wizard attacks
-
@@#replace-me; [[Five|dw-attack-miss-superearly]] @@
<<nobr>>
<<timed 1s>><<replace '#replace-me'>> [[Four|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 2s>><<replace '#replace-me'>> [[Three|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 3s>><<replace '#replace-me'>> [[Two|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 4s>><<replace '#replace-me'>> [[One|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 5s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Attack|dw-attack-attack]]</i></span> <</replace>><</timed>>
<<timed 6s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Missed!|dw-attack-miss-late]]</i></span> <</replace>><</timed>><</nobr>>
<style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #222222 !important;
}
</style><<audio "orb-use" play>>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
You reflect the wizards attack back at him!
-
The dark is pushed back a bit.
-
"oh so THAT'S how you want to play huh?"
<span onmouseover="playSound()"><i>
[[FIGHT|the-dark-6]]
</i></span>
<style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<audio "orb-use" play>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
I said it was locked, but sure try and open the door anyways.
-
It's held shut by some magic seal.
<span onmouseover="playSound()"><i>
[[Return|gate-inspect]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-1.gif" alt="" width="400" height="400" />
"SUp babe ;)"
-
<<print $plant_name>> looks ruggedly handsome, it's smoking a cigarrete which seems both unhealthy and dangerous for a plant.
<span onmouseover="playSound()"><i>
[[Approach the door|hallway-largedoor]]</i>
</span>
<<set $friend_flower1 to "true">><<set $itemshop to "none">><<set $player_friend to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-2.gif" alt="" width="400" height="400" />
"Hi! :)"
-
<<print $plant_name>> looks very cute, seeing it's smile warms your heart and gives you courage to move ahead.
<span onmouseover="playSound()"><i>
[[Approach the door|hallway-largedoor]]</i>
</span>
<<set $friend_flower2 to "true">><<set $itemshop to "none">><<set $player_friend to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/flower-3.gif" alt="" width="400" height="400" />
"Howdy!"
-
<<print $plant_name>> looks like a creature from an animated movie, it's large smile reminds you to not take things so seriously.
<span onmouseover="playSound()"><i>
[[Approach the door|hallway-largedoor]]</i>
</span>
<<set $friend_flower3 to "true">><<set $itemshop to "none">><<set $player_friend to "true">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
The wizard attacks
-
@@#replace-me; [[Five|dw-attack-miss-superearly]] @@
<<nobr>>
<<timed 1s>><<replace '#replace-me'>> [[Four|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 2s>><<replace '#replace-me'>> [[Three|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 3s>><<replace '#replace-me'>> [[Two|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 4s>><<replace '#replace-me'>> [[One|dw-attack-miss-early]] <</replace>><</timed>>
<<timed 5s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Attack|dw-attack-attack2]]</i></span> <</replace>><</timed>>
<<timed 6s>><<replace '#replace-me'>> <span onmouseover="playSound()"><i>[[Missed!|dw-attack-miss-late]]</i></span> <</replace>><</timed>><</nobr>>
<style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<audio "orb-use" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Too early, you'll have to focus if you wish to take on the evils of this realm."
-
"Try again, sometimes the opening to strike wont be so clear."
<span onmouseover="playSound()"><i>
[[Give it another go|rg-attack-attack]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>"I</w><w>N</w><w>C</w><w>R</w><w>E</w><w>D</w><w>I</w><w>B</w><w>L</w><w>E</w><w>!"</w></b></div></h3>
"I even tried to catch you off guard with that one!"
-
"You are more than ready to face what lies head."
-
The statue releases it's grip on the stone within it's grasp.
-
<span onmouseover="playSound()"><i>
[[You take the stone|take-stone]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"You missed your opportunity, you'll have to focus if you wish to take on the evils of this realm."
-
"Opponents can attack without warning and unexpectingly - always keep your guard up."
-
<span onmouseover="playSound()"><i>
[[Try again|rg-attack-attack]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-still.gif" alt="" width="400" height="400" />
-
You retrieve the key from the guard, it returns to it's resting state
-
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">><<audio "purchase" play>>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
You place the triangle key into the slot, a chime plays and echos through through the room.
<span onmouseover="playSound()"><i>
[[Return|gate-inspect]]
</i></span>
<<audio "purchase" play>>
<<set $rightkey to "placed">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
You place the square key into the slot, a chime plays and echos through through the room.
<span onmouseover="playSound()"><i>
[[Return|gate-inspect]]
</i></span>
<<audio "purchase" play>>
<<set $leftkey to "placed">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/doorempty.gif" alt="" width="400" height="400" />
You place the orb in the final empty slot on the door - it feels like it was made for this spot. It slides in effortlessly.
-
The chimes plays once more.
<span onmouseover="playSound()"><i>
[[The door opens|Gateopens]]
</i></span>
<<audio "purchase" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/dooropening.gif" alt="" width="400" height="400" />
The gate swings open, its hinges wail and groan as if been centuries since it was last used.
-
the orb has returned to you, it feels like it never left your grasp.
-
<span onmouseover="playSound()"><i>
[[You continue onward|Base Floor]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>A</w><w>H</w><w>H</w><w>!</w><w>!</w></b></div></h3>
-
Despite the small size it hurts like hell... it's like if you got your fingers stuck in a little box that a ring would come in or something if you ever have done something like that I don't know.
-
Anyways it hurts, but it <i>probably</i> won't kill you.
_
<span onmouseover="playSound()"><i>
[[Shake it off|chest-shake]]
-
[[This is my life now|chest-leave]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
With your free hand the you give the chest a proper whallop
-
<h3><div id="shake"><b>WHA-THUNK!</b></div></h3>
_
It hurts like crazy and but nothing helpful happens, the mimic is still clasped tight on your arm.
-
<span onmouseover="playSound()"><i>
[[Try harder!|chest-pulloffharder]]
-
[[Tell it a joke|chest-telljoke]]
</i></span>
<<audio "hit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You are so excited you jump for joy and pump your fists in the air!
-
Cookies!
for <i>free!</i>
<b>Amazing!</b>
_
<span onmouseover="playSound()"><i>
[[Take 1|chest-1cookie]]
-
[[Take them all|chest-allcookies]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
So many cookies, more than you could ever eat in one sitting anyways.
<span onmouseover="playSound()"><i>
[[Take 1|chest-1cookie]]
-
[[Take them all|chest-allcookies]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
Take 1 cookie from the chest. Nothing weird happens.
-
<i>whats the harm in taking a few more</i>
_
<span onmouseover="playSound()"><i>
[[Nope 1 cookie is good!|chest-only1cookie]]
-
[[sneak another cookie|chest-anothercookie]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
<h3><div id="shake"><b>HEY!</b></div></h3>
-
The chest springs to life!
-
"Sharing is caring you greedy little brat!"
_
<span onmouseover="playSound()"><i>
[[Eat them all|chest-eatallcookies]]
-
[[I was going to give them away!|chest-charity]]
</i></span>
<<masteraudio stop>><<audio "chest" volume 0.6 play loop>><a data-passage="Shopaca"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/></a>
The shopacca has many things for sale, what would you like to buy?
<span onmouseover="playSound()"><i>
[[Ask about things to do in the Domain|shopthingstodo]]
-
[[How did you start your business?|shopstart]]
</i></span><a data-passage="Shopaca"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/></a>
"..."
-
hmm
<span onmouseover="playSound()"><i>
[[Back to Shopping|FLOOR 3a]]
</i></span><a data-passage="Shopaca"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400"/></a>
Shopacca is chewing on some cud.
-
interesting!
<span onmouseover="playSound()"><i>
[[Back to Shopping|FLOOR 3a]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
You've go no idea what that guy just said.
All you know is that you feel invicible right nowDouble-click this passage to edit it.In your influenced state the necromancer cannot comprhened your movements. By the time he realizes you are pulling the orb from your cloak it is far to late for him to block its ill effects.
...
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The Orb Cracks - 3 uses]]</i></span><<else>>[[Continue down the hallway|Hallway-secondroom]]<<endif>>
<<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"MY PLAN! MY PERFECT AND BRILLIANT PLAN! HAHAHAHAH DON'T YOU SEE! YOU AHVE BEEN MY PLAN ALL ALONG! FIRST THE WIZARD ENLISTS <i>YOU</i> POOR LITTLE NIAVE YOU! THEN YOU EXPERIANCE A FEW THINGS, MYABE FIGHT A GOBLIN, OR A LITTLE MOUSE OR SOMETHING! HAHAHASOONYOULLVISITMYHOME! THATSWHENTHINGSREALLYPICKUP!THENIDISPATCHYOU
QUICKLYHAHAHAHPERHAPWITHASPELLORONEOFMY
EVILMINIONSORABIGHAMMERSOMANYOPTIONSHAHAHA
WHENYOUGONZOILLREANIMATEYOUIAMANECROMANCERA
FTERALLTHENAFTERTHATIHAVENTEVENGOTTENTOTHEGOOD
PARTYETTHISISTHEBES---"
The lich is obviously in another world monologuing, you feel like this might be your chance for action.
<span onmouseover="playSound()"><i>
[[So what's your big plan?|lich-askplan]]
-
[[Stay quiet|lich-dont-talk]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You shake your arm as hard as you can!
-
it's no use, the mimic stays attached to where it bit down on your hand.
-
<span onmouseover="playSound()"><i>
[[Shake your arm more|chest-shake-again]]
-
[[Use the orb to get it off|chest-orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
It's probably too much trouble to try and take the chest off, you simply decide to keep moving even the the mimic is clamped tightly on your hand.
Double-click this passage to edit it.<div id="shake">BLAMO!</i>
...
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The Orb Cracks - 3 uses]]</i></span><<else>>...
it worked! The chest is gone! Sadly you hand also got disintigrated along with it :/
<span onmouseover="playSound()"><i>
[[My hand!|chest-myhand]]
-
[[AUGH MY HAND!|chest-myhand2]]
</i></span><<endif>>
<<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/spechand-2.gif" alt="" width="400" height="400" />
You dip your recently wounded arm into the pool, it shoots a searing hot pain up your body. You reel back and pull your arm in close to your body. Looking down to see a spectral hand in place of the one you lost - it glows and burns with a chaotic energy.
-
honestly it's really cool and totally turns around your feelings on the whole losing your hand situation.
-
<span onmouseover="playSound()"><i>
[[Keep moving|pool-keep-moving2]]
-
[[See if it has powers|pool-testarm]]
</i></span>
<<set $hand to "spectral">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/spechand-2.gif" alt="" width="400" height="400" />
You hold your spectral hand up and brace it with your other arm.
-
The hand glows brighter and fire a blast of charged destructive energy from your palm.
-
<div id="shake">RIGHT ON THIS IS SO SICK!</div>
-
<span onmouseover="playSound()"><i>
[[Keep moving|pool-keep-moving2]]
-
[[Destroy everything!|pool-destory]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/spechand-2.gif" alt="" width="400" height="400" />
You fire blasts around the room!
-
<div id="shake">FWAPOW!</div>
The pool evaporates in seconds!
<div id="shake">FWAPOW!</div>
Pillar after pillar falls!
<div id="shake">FWAPOW!</div>
That desk in the corner turns to ash instantly!
-
Losing you hand was the best thing that ever happened to you! The room begins to buckle under the weight of your destruction!
...
Everything crumbles behind you as you sprint into the next part of the tunnel, disappearing into the dark.
-
Moving ahead you feel the ground beneath you feet grow softer. Sand is covering the floor of the corridor.
...
<span onmouseover="playSound()"><i>
[[You see a large door ahead|pre large door]]
-
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"I have not, I find it to be foolish to test an event with such high consequences."
-
<span onmouseover="playSound()"><i>
[[Try it out! What could go wrong?|rg-try-2]]
-
[[Makes sense|rg-attack-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Yeah sorry about that, your quest sounds fun though."
-
"...Anyways..."
<h3><div id="bounce"><b><w>C</w><w>O</w><w>M</w><w>B</w><w>A</w><w>T</w><w> </w><w>S</w><w>T</w><w>A</w><w>R</w><w>T</w><w>!</w></b></div></h3>
-
"The steps ahead will test your strength. I need to make sure you are able to defend yourself against your adversaries."
-
"The key to a proper attack is to strike at the right time. You can repel any attack with proper timing and form."
-
"I will attack in the next page, wait until to see ATTACK to click the link."
_
<span onmouseover="playSound()"><i>
[[Understood|rg-attack-test]]
</i></span>
<<masteraudio stop>><<audio "guard" volume 0.7 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Okay I will try, since you seem so adamant"
-
The statue steps forward and it is instantly destroyed, parts of the armor bounce and roll on the ground around you. The triangle shaped stone it was holding slides in front of your feet.
<span onmouseover="playSound()"><i>
[[Ask if they are okay|rg-try-3]]
-
[[Pick up the stone|rg-attack-2]]
</i></span>
<<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
You dont recieve a response. Guess training is cancelled.
-
You decide you don't need training anyways.
<span onmouseover="playSound()"><i>
[[Pick up the stone|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">>You never thought you'd miss a hand so much.
-
You look for the mimic but it's nowhere to be found, guess your hand it gone for good. You try not to let it ruin your adventure but it kinda sucks.
-
<span onmouseover="playSound()"><i>
[[Accept it|Floor 6]]
</i></span>
<<set $hand to "gone">>You wail over the loss of your hand.
-
It puts a huge damper on the quest, but alas the quest must continue.
-
<span onmouseover="playSound()"><i>
[[Accept it|Floor 6]]
</i></span>
<<set $hand to "gone">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You take a look around the room again.
<span onmouseover="playSound()"><i>
[[Look at the chest|Hallway chest]]
-
[[Gaze into the pool|hallway-pool]]
-
[[Inspect the desk|hallway-room-desk]]
</i></span> <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<audio "orb-use" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
"Yeah yeah yeah I get it, you want the key and you are just stringing me along. All I want is to find a fellow hotdog friend and you are just insulting me now."
...
<span onmouseover="playSound()"><i>
[[I'm serious I care about hotdogs|hottdog-serious]]
-
[[Accept the key|leftguardacceptkey]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-ani.gif" alt="" width="400" height="400" />
"Uhh okay, I'm a little out of practice if I'm honest."
<span onmouseover="playSound()"><i>
[[sure I guess|hottdog-train]]
-
[[Just ask for the key|leftguardacceptkeynotrain]]
</i></span>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
Using all of your strength you give the mimic the hardest punch you've ever given - you feel the weight of your body flow into your fist as it makes impact and explodes outward!
-
<h3><div id="bounce"><b><w>S</w><w>U</w><w>C</w><w>C</w><w>E</w><w>S</w><w>S</w><w>!</w><w>!</w></b></div></h3>
-
The mimic goes flying off and goes sailing into the dark, disappearing into the horizon with a little glint of light like team rocket in the pokemon animated series.
-
You look down and notice it also took your hand with it.
...
<span onmouseover="playSound()"><i>
[[My hand!|chest-myhand]]
-
[[AUGH MY HAND!|chest-myhand2]]
</i></span><<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
A brilliant idea comes across your mind:
If you tell a joke good enough, the mimic will surely laugh and therefore release it's hold on your arm!
-
<span onmouseover="playSound()"><i>
[[Do some stand-up|chest-jerry]]
-
[[Give em a good old knock-knock joke|chest-knockknock]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"So what's the deal with Wizards?
They cast spells, but you can't even <i>spell</i> their names!"
...
silence.
...
You're starting to sweat...
<span onmouseover="playSound()"><i>
[[Keep on rolling|chest-jerry2]]
-
[[Explain the joke|chest-explain]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
Knock knock jokes are classic! Surely this will get him laughin.
<i>Knock Knock</i>
"Who's There?"
<<textbox "$joke" "Who’s there?" "joked">>
<span onmouseover="playSound()"><i>(type who is there and press enter to continue)</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"It's like, I tried to get a curse removed one time and finding a wizard was impossible. Looked in the phonebook for someone called <i>Yxsebranuan the Terrible.
...
Yxsebranuan.</i>
-
Like am I supposed to start in A, E, Y, or the dictionary amiright?
-
The only thing I know is the <i>terrible</i> must be referring to his name!
-
<i>You feel like the routine is pretty weak but the mimic seems to be enjoying it.</i>
-
You notice other monsters have gathered around to hear your show.
<span onmouseover="playSound()"><i>
[[End with a banger|chest-jerry-end]]
-
[[Make fun of an audience member|chest-audienceheckle]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"because their names are always like <i>axilto the great</i> or something stupid like <i>colton flor-</i>"
-
You dont have a chance to finish the thought, you are overwhelmed by a multitude of boos and heckling from all around you.
-
<span onmouseover="playSound()"><i>
[["WHY ARE YOU BOOING ME IM RIGHT!"|chest-jerry3]]
</i></span>Tough crowd, your last memory is of a tomato knocking you out cold.
-
<span onmouseover="playSound()"><i>
[[When you awake the mimic is gone|chest-jerry3]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"Hmmm alright, but you better stick true to that. I don't want to hear stories from NOBODY about a cookie carrying visitor bein stingy."
-
"'cuz if you don't share little visitor, I will come to collect - and I will collect in full."
_
<span onmouseover="playSound()"><i>
[[The mimic leaves you alone|chest-leave]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You control yourself and stick with only 1 cookie, will you eat it or save it for later?
<span onmouseover="playSound()"><i>
[[Cookie time!|chest-eat1cookie]]
-
[[Save it|chest-savecookie]]
</i></span>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You devour one of the cookies
-
<h3><div id="shake"><b>STOP!</b></div></h3>
-
another cookie down the hatch
-
<h3><div id="shake"><b>KNOCK IT OFF!</b></div></h3>
_
You start munching on multiple at a time
-
The mimic seems inconsolible...
...
"Those were for my daughter."
...
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
"...The words that utter in my destruction..."
<<timed 3000ms>>... \
<<next 3000ms>>The Lich is turning to dust before your very eyes! \
<<next 500ms>>... \
<<next 3000ms>>"...I thought I sealed them away... kept them secret from all...." \
<<next 500ms>>... \
<<next 3000ms>>"How did you learn them?! It's not possible!...." \
<<next 500ms>>... \
<<next 300ms>>.... \
<<next 300ms>>...... \
<<next 2000ms>>"Graaaaaaahhhhhhhhhhhhhhhh!!!!!!!!!" \
<<next 500ms>><span onmouseover="playSound()"><i>
[[The Lich fades from existance|lich-destroyed]]
</i></span><</timed>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<i>Barely made it!</i>
...
Is what you would have thought if you made it, which sadly you did not - bummer!
-
Maybe try a different approach and this wouldn't have happened
<span onmouseover="playSound()"><i>
[[Weave right and keep running|pillar room 404d]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<i>Barely made it!</i>
...
The room collapses behind you, you can hear the Lich's screaming grow silent as rubble cover the door behind you - no path but forward remains.
<span onmouseover="playSound()"><i>
[[Continue|pre large door]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You wake up at the beginning of the pillar room again.
<span onmouseover="playSound()"><i>
[[Look at the chest|Hallway chest]]
-
[[Gaze into the pool|hallway-pool]]
-
[[Inspect the desk|hallway-room-desk]]
</i></span> Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"What is with this domain and hotdogs?! You're not even close to right."
-
The thief takes your <<print $itemshop>>
-
Understandable.
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"I guess thats kinda right, it was a coin but you're on the right track..."
-
"I feel like you didn't really earn this but let me just say you should stay as far away from that gem as you can - nothing good can come from the queens sacrifice."
...
"Now scram, if I see you again I won't be so forgiving."
-
The thief says nothing more and disappears into the dark.
<span onmouseover="playSound()"><i>
[[Continue down the hallway|Floor 5 old]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You take a sip from a water glass you see sitting on a stool beside you.
-
"guess at the end of the day that just makes <<print $player_name>> the <i>'I don't give a shit about your wizard name!'</i>
-
<span onmouseover="playSound()"><i>
[[drop mic|chest-dropmic]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
You point out a member from the audience and ask for their name.
-
"oh me? umm it's <i>Ylonker</i>"
...
<i>That's a tough one to work with</i>
<span onmouseover="playSound()"><i>
[[Try your best|chest-jerry-ylonker]]
-
[[Call them a piece of shit|chest-pos]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
The crowd erupts in laughter, the mimic is rofling and falls harmlessly off your arm. You toss yourself into the crowd and they start carrying you around as a hero, chanting your name.
-
"<<print $player_name>>! <<print $player_name>>! <<print $player_name>>!"
<span onmouseover="playSound()"><i>
[[Make fun of an audience member|chest-audienceheckle]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"YLONKER?! hahaha Ylonker shmonker bonker!"
...
The joke doesn't make any sense.
...
<span onmouseover="playSound()"><i>
[[nobody is laughing|chest-jerry-fail]]
</i></span> <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"You're a piece of shit Ylonker!"
...
Nobody is laughing, except for the Mimic because he's always hated Ylonker, it laughs so hard it relases the grip on your hand and passes out.
-
You breathe a sigh of relief and get ready to move ahead.
<span onmouseover="playSound()"><i>
[[Continue|Floor 6]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
There's no way a joke could be so unfunny, so it MUST be funny and they just don't get it. This pattern of thought throws the crowd into a frenzy. They start to tear the columns holding the roof up down, there's screaming, crying, howling - a riot breaks out. Every range of emotion is present in the room except for humour. You gotta get out of here!
-
Everything crumbles behind you as you sprint into the next part of the tunnel, disappearing into the dark.
<span onmouseover="playSound()"><i>
[[rip|Floor 6]]
</i></span> you take 1 damage!
<<set $health to $health - 1>>
<span onmouseover="playSound()"><i>[[hit|hit-1]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Bummer, you ran out of hearts and got knocked out cold.
...
You take some time to rest and recover a few hearts, when you're ready you can continue from the beginning of the floor you were on.
<span onmouseover="playSound()"><i>
<<if $level is 0>>[[Try again|hallway-largedoor]]
<<elseif $level is 1>>[[Try again|left door]]
<<elseif $level is 2>>[[Try again|left door]]
<<elseif $level is 3>>[[Try again|left door]]
<<else>><<endif>>
</i></span>
<<masteraudio stop>>
<<audio "oops" play>>
<<set $fourohfour_count to $$fourohfour_count + 1>>
<<set $health to $$health to 2>>
<<timed 4s>><<audio "404page" volume 0.2 play loop >><</timed>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor0.gif" alt="" width="400" height="400" />
You enter the gate, steps lead every which way up the tower within. On the sides of the room stairs curl up high into the darkness, you can't see where they end or what they leading to. A solitary door lies in the middle of the steps, it's outline clear but what lies behind it obscured.
<i>This room is etched into your memory, no matter what happens ahead it feels like you could never forget this place.</i>
<span onmouseover="playSound()"><i>
[[Take the left staircase|FLOOR 2]]
-
[[Enter the doorway in the center|upstairs]]
-
[[Ascend the right staircase|FLOOR 2]]
</i></span>
<<set $level to "1">>Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You hold your breath and listen for any movement within the dark, but you can't hear anything other than your own heart beating... Seems safe enough to cross!
<span onmouseover="playSound()"><i>
[[Move forward|floor-4-forward]]
-
[[Feel your way along the wall|floor-4-lightswitch]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You simply keep on walking, aint nobody stopping you!
You continue on, your footsteps reverberating off the walls of the tower.
...
Something else joins the chorus of steps. Right after each step a very soft patter, always in time right after yours.
<span onmouseover="playSound()"><i>
[[Keep calm and carry on|Thief Intro]]
-
[[Stop Walking|stop-walking-hallway-2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You stop.
The echo of steps also stops...
...
silence...
The exit looks so close, you can probably make it if you run.
<span onmouseover="playSound()"><i>
[[Keep calm and carry on|Thief Intro]]
-
[[Run to the exit|stop-walking-hallway-3]]
-
[[Use the orb|shallway-preemtiveorb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You burst into a dead-sprint for the door on the other side of the room.
-
You can't hear anything over the sound of your feet pounding on the ground, the exit is right in front of you now! <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You don't know what is following you but you don't care to find out.
You pull the orb from your cloak and unleash it upon your pursuer
...
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
<<if $orb_count is 2>><span onmouseover="playSound()"><i>[[You hear what sounds like an explosion.|The Orb Cracks - 3 uses]]</i></span><<else>>[[Continue down the hallway|Floor 5 old]]<<endif>>
<<set $orb_count to $orb_count + 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
You start moving along the side of the room, feeling the wall to keep your bearings.
-
Things are going well until you feel one of the bricks slide back and activate something with a dull click.
...
<i>uh oh</i>
<span onmouseover="playSound()"><i>
[[it activates a trap|floor-4-arrows]]
</i></span><<masteraudio stop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<div id="shake">ARROWS!!!!</div>
<h3><div id="bounce"><b><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w></b></div></h3>
<b>DIE!</b>
<span onmouseover="playSound()"><i>
[[JUMP!|arrows attack intro]]
</i></span><<audio "gunrat.mp3" volume 0.3 play loop>><<set $arrows_hp to 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>A</w><w> </w><w>T</w><w>H</w><w>I</w><w>E</w><w>F</w><w> </w><w>E</w><w>M</w><w>E</w><w>R</w><w>G</w><w>E</w><w>S</w><w> </w><w>F</w><w>R</w><w>O</w><w>M</w><w> </w><w>T</w><w>H</w><w>E</w><w> </w><w>S</w><w>H</w><w>A</w><w>D</w><w>O</w><w>W</w><w>S</w><w>!</w></b></div></h3>
<span onmouseover="playSound()"><i>
<<if visited("rob-shop-blind") > 0>>[[Woah! Were did you get all that!|fellowthief]] <<endif>>
[[Fight|Fightthief]]
</i></span>
<<masteraudio stop>>
<<audio "battlethief" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
You continue your climb up the tower, after some steps you see a window looking out across the valley.
<span onmouseover="playSound()"><i>
<<if $luck >= 5>>[[You take a moment to look out|floor5evening]]<<else>>[[You take a moment to look out|floor5night]]<<endif>>
</i></span>
<<set $level to "5">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/window.gif" alt="" width="400" height="400" />
You stop to look out the window, you see a emblazened by a fading sun - a breeze flows through the opening, it's warm but has the breath of an evening chill upon it. The clouds drift ever so slowly an untold destination, it looks like rain is on the way...
You regain some health from the beauty of the moment.
<span onmouseover="playSound()"><i>
[[Continue|floor5window]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
You proceed up the stairs, the next room is well lit and littered with various crates and boxes... but what draws your attention is a chest in the middle of the room.
<span onmouseover="playSound()"><i>
[[Time for some tower loot!|Hallway chest]]
</i></span><<masteraudio stop>>[[Guards|hallway-largedoor]]
-
[[logo|Entry]]
-
[[Floor1|Base Floor]]
-
[[Floor2-rat|FLOOR 2]]
-
[[Floor2-golbin|left door]]
-
[[Floor3|FLOOR 3]]
-
[[Floor4|FLOOR 4]]
-
[[Floor5|FLOOR 5 new]]
-
[[Floor6|FLOOR 6]]
-
[[Floor7|FLOOR 7]]
-
[[Floor8|FLOOR 8]]
-
[[Floor9|FLOOR 9]]
-
[[Floor10|FLOOR 10]]
-
[[TopFloor|Top Floor]]
-
[[griefend|Comet 1]]
-
[[oldtest|testpage]]
-
[[ChatGPT_attackbar|chat attack intro]]
-
[[ChatGPT_clickerattack|click attack intro2]]
-
[[combo-attacktest|Attack Test]]
-
[[Test Battle|Test Battle]]
-
[[photoboothtest|photoboothtest]]
-
[[Maze|Maze test]]
-
<a href="http://twitter.com/intent/tweet?text=Tweet%20Test%20%3A&url=http%3A%2F%2Fcoltonfloris.com/404" target="_blank">Tweet Test</a>
luck: <<print $luck>>
plant number: <<print $plant_number>>
[[newattacktest|yet another attack test]]
-
[[timing-attacktest|Attack Test 2]]<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
Another set of stairs.
<span onmouseover="playSound()"><i>
[[You continue upwards|floor-6-fire]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/rest-fire.gif" alt="" width="400" height="400" />
The room is empty save for a fire at the center of the room. <i>the fire burns bright, it is not easily forgotten - if something were to go wrong you feel like you could find your way back here.</i>
...
You observe the fire for some time, it seems to burn eternal.
...
It seems safe, you decide to rest before continuing.
<span onmouseover="playSound()"><i>
[[Short rest|floor6restshort]]
-
[[Long rest|floor6restlong]]
</i></span><<masteraudio stop>><<audio "burnout" volume 0.6 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/rest-fire.gif" alt="" width="400" height="400" />
You choose to remain alert but take a short rest.
...
Your mind starts to wander when you hear a voice cut through your thoughts.
...
You snap back to attention but don't see anyone, the fire still burns and it appears as if nothing has changed.
<span onmouseover="playSound()"><i>
[["Who's there?"|burnout-1]]
-
[[It's probably nothing|floor6restlong]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/rest-fire.gif" alt="" width="400" height="400" />
You fall into a deep sleep.
-
You are presented with a dream in your slumber.
...
<<if ($luck is 1) or ($luck is 2)>>
Your dream is long and eventless - as if there was no dream at all yet you can feel the passage of time as each second pulls away from you. It feels as if you are standing in a world devoid of all being - despite this you carry hope. You awake with a strange resolution to never lose your resolve in spite of where you find yourself.
...<<endif>>
<<if ($luck is 3) or ($luck is 4)>>You dream of the orb you carry consuming you, you can feel it beating to a rhythm you cannot understand - with every beat it grows more deafening. You awake to your heart pounding. The orb remains eerily calm.
...<<endif>>
<<if ($luck is 5) or ($luck is 6)>>You dream of the tower... it lives and breathes - the walls and floors shift and move with each heavy, slow, tireless breath. You awake and the fire burns as it always has, yet you feel as if nothing around you has remained where it was when you began.
...<<endif>>
<<if ($luck is 7) or ($luck is 8)>>You dream of a long battle. You stand soaked in the rain, exhausted but triumphant. You blade rests upon your advisary, you hold in your hands the path to redemption or ruin. The idea of power tempts your mind and - though you consider it but only for a moment - roots itself deep within you and makes itself manifest. You awake with a deep sense of regret.
...<<endif>>
<<if ($luck is 9) or ($luck is 10)>>You dream of a darkness taking hold of everything around you. It pours into you, sensing weakness and remorse - it flows over you mind, seeking to grab purchase, but you stand against it. Slowly it is pushed back as it claws for anything to take hold but you remain unbroken. As the dawn breaks you awake, a sense of finality washes over you.
...<<endif>>
<span onmouseover="playSound()"><i>
[[Short rest|floor6restshort]]
-
[[Long rest|floor6restlong]]
</i></span><<set $level to "5">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-1.gif" alt="" width="400" height="400" />
"<<print $joke>> who?"
-
<<print $joke>>! That's who is at the door!
...
You hear weeping in the crowd as they receive what may be the worst joke they will ever hear in their lifetime. The mimic fleees the scene and sadly it takes your hand with it. bummer.
...
You comedy career is over. You take damage as you think about what could have been.
<i>Okay I'll be honest I set this up with no end in mind how the hell am I supposed to code a manually input joke to be funny?! I screwed up but sadly it is you who must pay the price.</i>
<span onmouseover="playSound()"><i>
[[Nothing to do but keep climbing|Floor 6]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/window.gif" alt="" width="400" height="400" />
You stop to look out the window, you see a emblazened by a fading sun - a breeze flows through the opening, it's warm but has the breath of an evening chill upon it. The clouds drift ever so slowly an untold destination, it looks like rain is on the way...
You regain some health from the beauty of the moment.
<span onmouseover="playSound()"><i>
[[Continue|floor5window]]
</i></span><<masteraudio stop>><<audio "404page" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/window-day.gif" alt="" width="400" height="400" />
You stop to look out the window, you see a sky emblazened by a fading sun. Vibrant reds and oranges paint the bottom of clouds that cover the pastel horizon - a breeze flows through, warm but with the breath of an evening chill upon it. You feel as if this moment could last forever - yet hesitate to look away - as if you know it would end before you have a chance to look back.
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 5a]]
</i></span><<masteraudio stop>><<audio "404page" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/window-night.gif" alt="" width="400" height="400" />
You take a moment to look out the window. The night is in full bloom, and a cascade of stars shine in the sky. You can't be sure but it feels as if the night is different, the stars seem out of place - you search for constellations but can't find a single one you recognize. A sudden feeling washes over you, like you've set in motion a fate that can't be undone...
...you will have to accept what has begun with time, as you move ahead you dwell upon this.
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 5a]]
</i></span><<masteraudio stop>><<audio "404page" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
-
You look closer, you notice that the reflection is not your own, though it shares your profile. It's silhoutte dances with a unclear mist - it stares back at you silently as if waiting for you to take action.
<span onmouseover="playSound()"><i>
[[Speak|mirror-who]]
-
[[Smash the mirror|mirror-smash]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
You ask the figure in the mirror who it is.
-
Your reflection replies.
"Don't you recognize yourself? I'm <i>you</i>"
-
The voice sounds garbled at first, but manages to find a pitch that resembles your voice.
-
"At least, I'm a <i>part</i> of you."
-
<span onmouseover="playSound()"><i>
[[What do you mean|mirror-who2]]
-
[[No! That's impossible!|mirror-who3]]
-
[[FIGHT!|mirror-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
You take a swing at the mirror.
-
Your fist feels like it bounces off an invisible spring! The mirror reflects your attack and you whallop yourself in the face! Ouch!
-
<h3><div id="bounce"><w>"H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>!</w><w>!"</w></div></h3>
-
"Did you really think that would work? I am <i>you</i> after all, and you will feel the pain of any harm you give yourself."
-
<span onmouseover="playSound()"><i>
[[Mock the mirror|mirror-mock]]
-
[[Ignore the mirror and try again|mirror-smash2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
Further up the steps. You feel like you must be getting close to the top now, just a few more floors.
<span onmouseover="playSound()"><i>
<<if ($luck is 1) or ($luck is 3) or ($luck is 5)or ($luck is 7) or ($luck is 9)>>[[You enter the next room|Floor 7 1]]<<endif>><<if ($luck is 2) or ($luck is 4) or ($luck is 6) or ($luck is 8) or ($luck is 10)>>[[You arrive at the next floor|Floor 7 2]]<<endif>>
</i></span><<masteraudio stop>><<audio "burnout" volume 0.6 play loop>>This room seems relatively empty, the walls and floor are smooth and polished. One of the walls has a mirror with small steps leading up to it. it's about the same height as you.
<span onmouseover="playSound()"><i>
[[Aproach|mirror]]
</i></span>You find yourself in a room full of books and scrolls, it seems like a library but is very unkempt. A desk sits in the middle, there are books piled up, as well as various vials and bottles are littered around the tabletop and surrounding are. On the desk candle burns close to the end of the wick , it looks like whoever was working here only stepped away briefly to check on something.
<span onmouseover="playSound()"><i>
[[Aproach|hallway-room-desk]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
"What I mean is that you are many things built up into one person - this mirror reflects back only certain aspects of yourself. I am part but not whole, as many are."
-
You notice the reflection has begun matching your voice more closely - the figure seems to be a bit more clear than before.
-
<span onmouseover="playSound()"><i>
[[Ask what part of you is reflected|mirror-who4]]
-
[[It's time to smash the mirror|mirror-smash]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
"I can assure you it most certainly is - though I am only a <i>part</i> of you. I cannot reflect your whole being but I can mimic a small part of who you are..."
-
The reflection becomes a little clearer, a little more like you.
<span onmouseover="playSound()"><i>
[[What do you mean|mirror-who2]]
-
[[No! That's impossible!|mirror-who3]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
"I cannot yet say, perhaps if you wait a little longer you will find out."Double-click this passage to edit it.Your woeful errand is reaching it's end. The natural light blinds you as you reach the top of the tower. The air is crisp, and a gentle rain falls from high above. At the center of the tower a large statue rests.
.
<span onmouseover="playSound()"><i>
[[Aproach|Hallway End]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
AnyTHiNg YoU Do tO HaRM mE I sENd rIGhT BAcK
-
"HOW <i><b>DARE</b></i> YOU MOCK ME!"
The reflection is furious.
-
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
You take another swing at the mirror, you know yourself and feel it within yourself that you will be able to withstand more pain than the mirror can.
-
<h3><div id="bounce"><w>"H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>!</w><w>!"</w></div></h3>
The mirror continues to laugh.
-
"Such stupidity, and to think all it took to rid me of this curse was to distract you for just a few moments"
-
<span onmouseover="playSound()"><i>
[[The mirror begins to melt|mirror-lose]]
</i></span>
<div id="container"><div id="video_overlays"><img src="https://www.coltonfloris.com/wp-content/uploads/2022/02/ponder-photobooth-2.gif" style="z-index:3000;position:absolute;"/><video autoplay="true" id="videoElement"></video></div></div>
<<nobr>><script>
var video = document.querySelector("#videoElement");
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
video.srcObject = stream;
})
.catch(function (err0r) {
console.log("Something went wrong!");
});
}
</script><<endnobr>>You gain the advantage over the queen, she kneels down before you - head hung low. She is aware she has lost and is gracious in victory.
...
She speaks calmly.
"You have earned victory, but know my end seals the curse upon yourself - as there is no escape from the dark that ails me."
...
The rain falls heavy around you.
-
<span onmouseover="playSound()"><i>
[[Defeat the Queen|Queen-defeat-2]]
-
[[Surrender|Queen-acceptcurse]]
</i></span>You strike the Queen down.
-
Just as she did to the King in her pursuit of power.
-
The same power that corrupts you, curses your being.
-
As you stand above, your sword driven deep into the Queen, you hear her speak in a familiar tongue.
-
"Free from the curse I can now speak in words you understand."
-
She coughs, weak from the pain - her breathing slow.
-
"Double-click this passage to edit it.<h2>What is your name, lost one?</h2>
<<textbox "$player_name" "Visitor">>
<span onmouseover="playSound()">[[Continue|beginning1a]]
-
[[How to play|beginning1aa]]
</span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" margin-bottom="-50px"/>
<h3><div id="bounce"><b><w>N</w><w>A</w><w>S</w><w>T</w><w>Y</w><w>!</w><w> </w><w>A</w><w> </w><w>R</w><w>A</w><w>T</w><w> </w><w>A</w><w>T</w><w>T</w><w>A</w><w>C</w><w>K</w><w>S</w><w>!</w></b></div></h3>
AND he's got a gun! This guy means business!
<span onmouseover="playSound()"><i>
[[Battle!|test-battle-main]]
</i></span>
<<masteraudio stop>><<audio "truefinal" volume 0.6 play loop>>
<<set $enemy_hp to 3>> <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<<if $enemy_hp is 3>>Gunrat has you lined up in his sights!<<endif>><<if $enemy_hp is 2>>Gunrat is reloading!<<endif>><<if $enemy_hp is 1>>Gunrat is reloading!<<endif>><<if $enemy_hp is 0>><<goto "enemy_defeated">><<endif>>
<span onmouseover="playSound()"><i>
<<print either("[[Attack|test-battle-attack_a]]", "[[Attack|test-battle-attack_b]]", "[[Attack|test-battle-attack_c]]")>>
-
[[Run|test-battle-main]]
-
[[Use the Orb|rat-attackuseorb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<img class="attackbar" src="https://www.coltonfloris.com/wp-content/uploads/2022/07/test-bar-1a.gif" alt="" width="400"/>
<span id="timedpress"><<button "Attack">><<goto "battle_next">><</button>></span>
<<timed .9s>>
<<replace "#timedpress">><<button "NOW">><<set $success to true>><<goto "battle_next">><<audio "hit" play>><</button>><</replace>>
<<next .5s>>
<<replace "#timedpress">><<button "Attack">><<goto "battle_next">><</button>><</replace>>
<<next .9s>>
<<goto "battle_next">>
<</timed>>
A<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" /><<if $success is true>><<shakescreen 0.5s>><<set $enemy_hp to $enemy_hp - 1>><<else>><<endif>>
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $enemy_hp is 0>>[[Continue|test-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|test-battle-main]]", "[[Enemy prepares an attack|test-battle-defend_b]]", "[[Enemy Attacks!|test-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|test-battle-defend_b]]", "[[Enemy Attacks!|test-battle-defend_c]]")>><<endif>><<endif>><<unset $success>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" /></div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
Gunrat is no more.
The Room is empty now.
<span onmouseover="playSound()"><i>
[[Continue|ratattack-lookaround]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<img class="attackbar" src="https://www.coltonfloris.com/wp-content/uploads/2022/07/test-bar-1b.gif" alt="" width="400"/>
<span id="timedpress"><<button "Attack">><<goto "battle_next">><</button>></span>
<<timed .9s>>
<<replace "#timedpress">><<button "NOW">><<set $success to true>><<goto "battle_next">><<audio "hit" play>><</button>><</replace>>
<<next .5s>>
<<replace "#timedpress">><<button "Attack">><<goto "battle_next">><</button>><</replace>>
<<next .9s>>
<<goto "battle_next">>
<</timed>>
B<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<img class="attackbar" src="https://www.coltonfloris.com/wp-content/uploads/2022/07/test-bar-1c.gif" alt="" width="400"/>
<span id="timedpress"><<button "Attack">><<goto "battle_next">><</button>></span>
<<timed .9s>>
<<replace "#timedpress">><<button "NOW">><<set $success to true>><<goto "battle_next">><<audio "hit" play>><</button>><</replace>>
<<next .5s>>
<<replace "#timedpress">><<button "Attack">><<goto "battle_next">><</button>><</replace>>
<<next .9s>>
<<goto "battle_next">>
<</timed>>
C<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
Enemy is attacking!
<div class="time-bar1"><span class="w0"></span></div>
<span id="timedpress"><<button "Attack">><<goto "battle_Defend">><</button>></span>
<<timed .9s>>
<<replace "#timedpress">><<button "NOW">><<set $success to true>><<goto "battle_Defend">><</button>><</replace>>
<<next .5s>>
<<replace "#timedpress">><<button "Attack">><<goto "battle_Defend">><</button>><</replace>>
<<next .9s>>
<<goto "battle_Defend">>
<</timed>>
A<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b><<shakescreen 0.5s>><<audio "hit" play>>
Enemy hits you hard! You take 1 damage! <<set $health to $health - 1>>
<<if $health is 0>>[[You Black Out!|test-battle-blackout]]<<else>>[[Ouch!|test-battle-main]]<<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" /><<if $success is true>><<else>><<shakescreen 0.5s>><<audio "hit" play>><<set $health to $health - 1>><<endif>>
<meter @value="$enemy_hp" min="0" max="3"></meter> <b>$enemy_hp hp</b>
<<if $success is true>><h3><div id="bounce"><b><w>D</w><w>O</w><w>D</w><w>G</w><w>E</w><w>D</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>ENEMY HITS YOU HARD!</w></b></div></h3><<endif>>
<<if $health is 0>>[[You Black Out!|test-battle-blackout]]<<else>><<if $success is true>>[[Nice!|test-battle-main]]<<else>>[[Ouch!|test-battle-main]]<<endif>><<unset $success>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Greetings, <<print $player_name>>"
A wizard stands before you.
<span onmouseover="playSound()"><i>
[[Greetings|beginning3]]
-
[[Well met|beginning3]]
</i></span>Double-click this passage to edit it.<b>GUNRAT</b><meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<i><<if $gunrat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $gunrat_hp is 2>>Gunrat is reloading!<<endif>><<if $gunrat_hp is 1>>"oof I'm not feeling so hot here"<<endif>><<if $gunrat_hp is 0>><<goto "gunrat_defeated">><<endif>></i>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|gunrat-battle-attack]]>><</button>><<button [[TALK|gunrat-talk]]>>TALK<</button>>
<<button [[ITEM|gunrat-item]]>>ITEM<</button>><<button [[ORB|rat-attackuseorb]]>>ORB<</button>>
</i></span><<if $success is true>><<shakescreen 0.5s>><<set $gunrat_hp to $gunrat_hp - 1>><<else>><<endif>>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $gunrat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $gunrat_hp is 2>>"You little brat!!"<<endif>><<if $gunrat_hp is 1>>"You'll pay for that!!"<<endif>><<if $gunrat_hp is 0>>"X("<<endif>></i><<endif>>
<<if $gunrat_hp is 0>>[[Continue|gunrat-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|gunrat-battle-main]]", "[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<endif>><<endif>><<unset $success>>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
Gunrat is attacking!
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Defend">><<goto "gunrat_Defend">><<if $success is true>><<audio "purchase" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" /><<shakescreen 0.5s>><<audio "hit" play>>
Gunrat hits you hard! You take 1 damage! <<set $health to $health - 1>>
<<if $health is 0>>[[You Black Out!|gunrat-battle-blackout]]<<else>>[[Ouch!|gunrat-battle-main]]<<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" /><<if $success is true>><<else>><<shakescreen 0.5s>><<audio "hit" play>><<set $health to $health - 1>><<endif>>
<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<<if $success is true>><h3><div id="bounce"><b><w>D</w><w>O</w><w>D</w><w>G</w><w>E</w><w>D</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>ENEMY HITS YOU HARD!</w></b></div></h3><<endif>>
<<if $health is 0>>[[You Black Out!|gunrat-battle-blackout]]<<else>><<if $success is true>>[[Nice!|gunrat-battle-main]]<<else>>[[Ouch!|gunrat-battle-main]]<<endif>><<unset $success>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
-
Bummer, looks like you got bested...
-
Tweet your demise:
-
I can bring you back to the start of the floor if you'd like.
<span onmouseover="playSound()"><i>
[[Try Again|FLOOR 2a]]
</i></span>
<<masteraudio stop>>
<<set $$fourohfour_count to $$fourohfour_count + 1>><<audio "404page" volume 0.3 play loop>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
"gg no re"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
Gunrat is no more.
The room is empty, aside from a few tiny bullet casings...
Across the room, stairs lead further up the tower.
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>Double-click this passage to edit it.So your name is
<h2><div id="bounce"><b><w><<print $player_name>></w></b></div></h2>is that correct?
<<nobr>><i><<if $player_name is "Angelo">>Angelo my brother! Thanks for stopping by<<endif>><<if $player_name is "Colton">>Colton! Just like me :) You get the royal treatment around here!<<endif>><<if $player_name is "Lucas">>What's up Lucas my brother! An honor to have you<<endif>><<if $player_name is "Josh">>Josh my man! You are a legend<<endif>><<if $player_name is "Cassidy">>Hey Sister :) (if you're name is also cassidy hello to you too haha)<<endif>><<if $player_name is "Sierra">>What's up Sierra! Thanks for stopping by!<<endif>><<if $player_name is "Braden">>Hey Bro! Thanks for playing! :)<<endif>><<if $player_name is "Penis">>Wow, real mature freak :/<<endif>><<if $player_name is "Butts">>Wow, real mature<<endif>><<if $player_name is "Hotdogs">>Hotdogs rule baby!<<endif>><<if $player_name is "Wizard">>Another wizard?!<<endif>><<if $player_name is "Tyler">>What's up roomie! (Tyler was my roomate if your name is also tyler)<<endif>><<if $player_name is "boobies">>Wow, real mature<<endif>><<if $player_name is "Lauren">>Hey Lauren :) Go through the right door once you get the orb<<endif>><<if $player_name is "Jake">>Hey Jake!<<endif>><<if $player_name is "Steph">>Howdy Steph!<<endif>><<if $player_name is "Alex">>Alex you legend! Thanks for making some monsters for me! Hope you enjoy the game!<<endif>></i><</nobr>>
<span onmouseover="playSound()">
[[Yup that's me|beginning2]]
-
[[...that's not quite right|beginning]]
</span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Thank you for taking on this quest to find my lost page."
...
"I guess I should introduce myself, my name is Colton - I'm a wizard that is in charge of keeping this site running. However, I recently discovered a dark omen brewing in the depths of this domain."
-
"I require a powerful gem to reverse a curse cast upon this site. Lifting the curse will reveal to me what has been lost... The gem I speak of rests hidden in the tower that stands behind me."
-
"Your task is simple: Ascend the tower, capture the gem and return it to me, and together we will save this site from ruin."
-
<span onmouseover="playSound()"><i>
[[Let's go!|beginning4a]]
-
[[Sounds dangerous|beginning4b]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"So eager, <<print $player_name>>. I hope it is not your downfall."
-
"I won't lie to you, this quest is filled with danger - however, I have a way to ensure your safety."
-
"I shall provide you with a gift to keep you safe, an orb of great power. If you feel in danger, use it to clear the path so you can move forward."
<span onmouseover="playSound()"><i>
[[yeah okay sweet|beginning5]]
-
[[clear a path?|orbs power]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"I won't lie to you, this quest is filled with danger. Despite this, I have a way to ensure your safety."
-
"I shall provide you with a gift to keep you safe, an orb of great power. If you feel in peril use the orb and it will make a clear path for you to keep moving."
<span onmouseover="playSound()"><i>
[[Sounds good to me|beginning5]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Then your journey awaits, <<print $player_name>>."
-
"The orb will bind itself to you, and your quest shall begin."
<span onmouseover="playSound()"><i>
[[Accept the Orb|Choose Orb]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/theTOWER.gif" alt="" width="400" height="400" />
The tower looms ahead, rising high into the clouds. You feel a dark presence brewing within.
-
Two armored statues stand guard beside a large wooden door at it's base.
-
<<set $leftkey to "false">><<set $rightkey to "false">><span onmouseover="playSound()"><i>
[[Check the door|gate-inspect]]
-
<<if $leftkey is "false">>[[Look at the left armor guard|guard-left]]
-<<endif>>
<<if $rightkey is "false">>[[Look at the right armor guard|guard-right]]
<<endif>>
</i></span>
<<masteraudio stop>><<audio "ambient" volume 0.3 play loop>>$('<div id="story-meters"></div>')
.insertBefore('#story-caption')
.wiki(Story.get('StoryMeters').processText());FLOOR 1
You begin to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|Skeleton 1]]
</i></span>FLOOR 2
You begin to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|FLOOR 2a]]
-
[[Skip|FLOOR 3]]
</i></span>
<<audio "upstairs" play>>
<<set $level to "2">>FLOOR 3
You continue to ascend the tower.
The walk up the stairs calms you down, your health is restored.
<span onmouseover="playSound()"><i>
[[Ascend|FLOOR 3a]]
</i></span>
<<audio "upstairs" play>>
<<set $level to "3">>
<<if $player_name is "test">>[[Skip|FLOOR 4]]<<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/dooropening.gif" alt="" width="400" height="400" />
You hold the orb in front of you, it glows bright and fires a beam directly at the gate.
There's a bright blinding flash, and a really cool animation plays that shows the gate shattering into 1000 pieces... at least it would when I have time to make it, for now it just opens like if you actually talked to the guards.
All that remains of the gate are small wooden splinters littering the ground.
It reminds Boo's door from Monsters Inc, if you've seen it - otherwise it just looks kinda crazy.
The orb is warm, but remains intact.
<<audio "orb-use" play>>
[[You continue onward|Base Floor]]<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-still.gif" alt="" width="400" height="400" />
You politely decline.
...
The voice speaks again. "I will not force you, but you must rely on your own intuition to ascend the tower. I will not be responsible for your death."
...
<span onmouseover="playSound()"><i>
[[Fine teach me combat|guard-battle-main]]
-
[[Yeah yeah yeah whatever|guard-naw-2]]
</i></span>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-still.gif" alt="" width="400" height="400" />
"Such a rude little pest - die then, it is not my concern."
...
Despite your unwillingness to learn combat, the guard lossens it's grip on the stone it holds within it's hands.
-
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">>
<<audio "purchase" play>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<i><<if $thief_hp is 3>>"Oh so that's how you wanna play huh?"<<endif>><<if $thief_hp is 2>>"...Wait, I can smell that damned orb on you!"<<endif>><<if $thief_hp is 1>><<goto "thief_defeated">><<endif>></i>
<span onmouseover="playSound()"><i>
<<print either("[[Attack|thief-battle-attack_a]]", "[[Attack|thief-battle-attack_b]]", "[[Attack|thief-battle-attack_c]]")>>
-
[[Run|rat-attackrun]]
-
[[Use the Orb|rat-attackuseorb]]
</i></span>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "thief_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "thief_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "thief_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>><<if $success is true>><<shakescreen 0.5s>><<set $thief_hp to $thief_hp - 1>><<else>><<endif>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $thief_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $thief_hp is 2>>"You little brat!!"<<endif>><<if $thief_hp is 1>>"You'll pay for that!!"<<endif>><<if $thief_hp is 0>>"X("<<endif>></i><<endif>>
<<if $thief_hp is 0>>[[Continue|thief-attack]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|thief-attack]]", "[[The Purrglar tries to steal something!|thief-battle-defend_b]]", "[[Enemy Attacks!|thief-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|thief-battle-defend_b]]", "[[Enemy Attacks!|thief-battle-defend_c]]")>><<endif>><<endif>><<unset $success>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
Purrglar is stealing! Block them!
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Defend">><<goto "purrglar_Defend">><<if $success is true>><<audio "purchase" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>Double-click this passage to edit it.@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"This isn't looking good for me, Time to bounce. Can't wait until that orb cosumes you, Pest"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
The Purrglar fled the battle!
What a chump!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 4]]
</i></span>FLOOR 4
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[The stairs turn dark|FLOOR 4a]]
<<if $player_name is "test">>-
[[Skip|FLOOR 5 new]]<<endif>>
</i></span>
<<audio "upstairs" play>>
<<set $level to "4">>Something scurries towards you!
<span onmouseover="playSound()"><i>
[[Brace yourself!|rat-attack1]]
</i></span>
<<set $ratrun to "false">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/shopacca-coltonfloris.gif" alt="" width="400" height="400" />
You step into the next room and your eyes are filled with wonder.
-
<h3><div id="bounce"><b><w>Y</w><w>O</w><w>U</w><w> </w><w>E</w><w>N</w><w>C</w><w>O</w><w>U</w><w>N</w><w>T</w><w>E</w><w>R</w><w> </w><w>S</w><w>H</w><w>O</w><w>P</w><w>A</w><w>C</w><w>A</w><w>!</w></b></div></h3>...
An alpaca that is also a shopkeep - adorable! It has a few items for sale.
<span onmouseover="playSound()"><i>
<<button [[BUY|shop]]>><</button>><<button [[TALK|shoptalk]]>>TALK<</button>>
<<button [[ITEM|shop-item]]>>ITEM<</button>><<button [[ORB|shoporb]]>>ORB<</button>>
</i></span>
<<masteraudio stop>><<audio "shop" volume 0.3 play loop>><<set $level to "3">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/floor3.gif" alt="" width="400" height="400" />
As you ascend the steps the light slowly dims, by the time you reach the top you can barely make out your surroundings. The staircase opens up into an pitch-black room. You can see a very faint torch-light illuminating the next set of stairs on the opposite side of the room - but you can't make out anything in between.
<<if visited("rat-attackrun") > 0>><i>Reminds you of fighting that damned rat.</i><<endif>>
<span onmouseover="playSound()"><i>
[[Wait and listen|floor-4-wait]]
-
[[Walk forward quietly|floor-4-forward]]
</i></span>
<<set $level to "4">>@Skelly:<meter @value="$skelly_hp" min="0" max="3"></meter> <b>$skelly_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "skelly_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>@Skelly:<meter @value="$skelly_hp" min="0" max="3"></meter> <b>$skelly_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "skelly_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>@Skelly:<meter @value="$skelly_hp" min="0" max="3"></meter> <b>$skelly_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Attack">><<goto "skelly_battle_next">><<if $success is true>><<audio "hit" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/stairs.png" alt="" width="400" height="400" />
You continue your climb up the tower, after some steps you see a window looking out across the valley.
<span onmouseover="playSound()"><i>
<<if $luck >= 5>>[[You take a moment to look out|floor5evening]]<<else>>[[You take a moment to look out|floor5night]]<<endif>>
</i></span>
<<audio "upstairs" play>>
<<set $level to "5">>You step onto the next floor and into what looks like a study, books stack high to the ceiling on shelves all around you. In the middle of the room is a solitary desk, surrounded by skulls, potions, and scrolls.
-
The desk is lit by a solitary candle, the light flickers and dances off the pages of the open book sitting on the desktop - the words within seem to glow all their own.
-
<span onmouseover="playSound()"><i>
[[Inspect the desk|hallway-room-desk]]
-
[[Pull a book from the bookshelf|bookshelf1]]
</i></span>FLOOR 6
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|FLOOR 6a]]
<<if $player_name is "test">>-
[[Skip|FLOOR 7]]<<endif>>
</i></span>
<<audio "upstairs" play>>
<<set $level to "6">><<if $success is true>><<goto "skelly_defeated">><<else>><<endif>>@Skelly:<meter @value="$skelly_hp" min="0" max="3"></meter> <b>$skelly_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/02/distracted-skelly.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $gunrat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $gunrat_hp is 2>>"You little brat!!"<<endif>><<if $gunrat_hp is 1>>"You'll pay for that!!"<<endif>><<if $gunrat_hp is 0>>"X("<<endif>></i><<endif>>
<<if $skelly_hp is 2>>[[Continue|FightSkelly]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|gunrat-battle-main]]", "[[Enemy prepares an attack|FightSkelly]]", "[[Enemy Attacks!|FightSkelly]]")>><<else>><<print either("[[Enemy prepares an attack|FightSkelly]]", "[[Enemy Attacks!|FightSkelly]]")>><<endif>><<endif>><<unset $success>>"DAMN IT!"
The skeleton breaks into 206 pieces.
-
"Whats is WRONG with you?! How am I supposed to BeReal now?!!"
<span onmouseover="playSound()"><i>
[[Oops|skelly-deafeted2]]
</i></span>"OOPS?! That's all you have to say you jerk?!"
-
"Don't just stand there DO SOMETHING to make this right!!!"
-
<span onmouseover="playSound()"><i>
[[Pick up @skelly's head and take it with you|take-skelly]]
-
[[Try and put it @skelly back together|repair-skelly]]
-
[[Ask about the gem|gem-skelly]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/12/chester-closed.gif" alt="" width="400" height="400" />
The chest is unopened, your mind starts racing about what it could contain.
...
<span onmouseover="playSound()"><i>
[[Gold! Jewels! RICHES!|chest-hopeforriches]]
-
[[Cookies!|chest-hopeforcookies]]
</i></span>FLOOR 7
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|FLOOR 7a]]
<<if $player_name is "test">>-
[[Skip|FLOOR 8]]
</i></span><<endif>>
<<audio "upstairs" play>>
<<set $level to "7">><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
The steps lead out into the next floor - opening up into a much larger room.
...
Stone pillars stand around you and run high up into the dark above. You can hear water lapping in a small pool, the pillars surrounding as a quiet audience...
...
It seems like there is no threat, but you can't help but feel like you're being watched.
...
What do you do?
<span onmouseover="playSound()"><i>
[[Gaze upon the solitary pool|hallway-pool]]
-
[[Take a torch and look around the room|Floor 7 torch]]
-
[[Rest|floor 7 rest]]
</i></span>
<<masteraudio stop>><<audio "wellwellwell" volume 0.3 play loop>>FLOOR 8
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|FLOOR 8a]]
<<if $player_name is "test">>-
[[Skip|FLOOR 9]]<<endif>>
</i></span>
<<audio "upstairs" play>>
<<set $level to "8">>Three voices call out at once.
<span onmouseover="playSound()"><i>
[[a DRAGON?!|FLOOR 8b]]
</i></span>FLOOR 9
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[A stange beast waits in front of the final staircase|FLOOR 9a]]
<<if $player_name is "test">>-
[[Skip|FLOOR 10]]<<endif>>
</i></span>
<<audio "upstairs" play>>
<<set $level to "9">>
<<masteraudio stop>><<audio "404page" volume 0.3 play loop>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/thebeing.gif" alt="" width="400" height="400" />
"Welcome, <<print $player_name>>."
-
You have travelled far to reach this point.
-
Have you travelled well though? Let us look at your choices thus far.
-
Keep in mind your past only effects what is yet to come to pass, it does not define who you are - the next part of your journey is simply a reaction to the things that have taken place.
-
<span onmouseover="playSound()"><i>
[[I understand|FLOOR 9b]]
-
[[I don't understand|FLOOR 9c]]
</i></span>FLOOR 10
You continue to ascend the tower.
<span onmouseover="playSound()"><i>
[[Brace yourself!|FLOOR 10a]]
</i></span>
<<audio "upstairs" play>>
<<set $level to "10">>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/thebeing.gif" alt="" width="400" height="400" />
Very well - I must now cast vision upon your actions.
<<if $ratrun is "true">>You ran from the rat, was it to protect him or yourself?<<endif>><<if $ratkill is "true">>You defeated the gun rat - we are finally rid of that menace<<endif>><<if $ratorb is "true">>So you trapped the rat within the orb - how cruel<<endif>>
-
<<if $itemshop is "sword">>It looks like you purchased the sword from the traveling merchant - your faith in the orb was weak.<<endif>><<if $itemshop is "shield">>It looks like you purchased the sword from the traveling merchant - your faith in the orb was weak.<<endif>>
-
I see you encountered the thief - I hope you were kind to him
-
Looks like you caused some trouble for a skeleton that had no quarrel with you.
-
...and now you stand before me. How strange the hands of fate can be... Interesting. I shall now reveal to you the options that lie ahead of you.
<span onmouseover="playSound()"><i>
[["I see"|FLOOR 9 options]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/thebeing.gif" alt="" width="400" height="400" />
You may think the current situation you find yourself in reflects who you are - this is unture, external forces guide your fate - how you treat yourself and others in this pain however is where your true character lies.
With this in mind, let us look upon your journey.
<span onmouseover="playSound()"><i>
[["I see"|FLOOR 9 options]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You decide to grab a torch and check the dark edges of the room for traps.
...
As you begin your sweep of the room, a voice crackles through the darkness.
-
<i>"Stop."</i>
-
You freeze for a moment.
<span onmouseover="playSound()"><i>
[[Get ready for battle|floor7battle]]
-
[[Look for the source of the voice|Floor7alert]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
You hold the torch in front of you, ready to combat whatever voice dares speak in your presence.
-
The voice rings out again.
-
<i>"listen</i>
...
<span onmouseover="playSound()"><i>
[[Listen|floor7listen]]
-
[[Swing around wildly|Floor7swing]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/secondroom.gif" alt="" width="400" height="400" />
Unsure of what's speaking, you feel it might be best to heed it's instruction.
-
The voice speaks again.
<i>"Hello"</i>
-
<span onmouseover="playSound()"><i>
[[The voice is coming from the fire itself!|burnout-1]]
</i></span>Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/thebeing.gif" alt="" width="400" height="400" />
Interesting, these are the paths I see you able to take.
<span onmouseover="playSound()"><i>
[[L O S S|Loss Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[S U R R E N D E R|surrender Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[G R I E F|grief Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[A C C E P T A N C E|acceptance Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[H E A L I N G|healing Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[G R A C E|grace Ending]]
</i></span>
<span onmouseover="playSound()"><i>
[[G L O R Y|glory Ending]]
</i></span>
L O S S
-
<i>That which is held tightest will be the first to be lost.</i>
-
<span onmouseover="playSound()"><i>
[[You ascend the final steps|Top Floor]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/08/comet-temp.gif" alt="" width="400" height="400" />
High above the tower on the edge of the horizon a comet burns in the night sky. Pieces break off the bright core and crash upon the earth below. Each impact sends a shudder from the earth you can feel reverberate through the tower beneath your feet.
<span onmouseover="playSound()"><i>
[[It feels like the world is breaking.|Comet 2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/08/comet-temp.gif" alt="" width="400" height="400" />
You feel as if everything you've held close is at the mercy of something you can't control.
Each crater made from the comet burns brighter with each second, parts of the earth dislodged from the impact hang quietly in the air above.
<i>The world is shattering.</i>
<span onmouseover="playSound()"><i>
[[A part of the comet breaks and heads towards the tower|Comet 3]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/08/comet-temp.gif" alt="" width="400" height="400" />
There is nothing you can do to stop it, the comet shard impacts the top of the tower and with a deafening impact the tower beneath you is torn to shreds.
You feel as if you're tumbling endlessly yet held from falling by an unknown force. The orb burns hot in your hands.
In the chaos everything happens so fast - your mind dwells upon a reality you wish it didn't think of...
<i>You are powerless to help anyone you care about.</i>
At the center of the impact the shard of the comet hangs in the middle of the rubble.
<span onmouseover="playSound()"><i>
[[It begins to transform.|Comet 4]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>O</w><w>H</w><w> </w><w>S</w><w>H</w><w>I</w><w>T</w><w>!</w><w> </w><w>A</w><w> </w><w>D</w><w>R</w><w>A</w><w>G</w><w>O</w><w>N</w><w>!</w><w>!</w><w>!</w><w>!</w></b></div></h3>
You are so screwed.
<span onmouseover="playSound()"><i>
[[Attack|Dragon-fight-main]]
</i></span>
<<masteraudio stop>><<audio "guard" volume 0.7 play loop>><<set $dragon_hp to 3>> <<set $king_hp to 3>>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
A being unlike anything you've ever seen emerges from the shape you saw before.
<span onmouseover="playSound()"><i>
[[It attacks without hesitation|king battle main]]
</i></span>
<<masteraudio stop>><<audio "Statue-fight" volume 0.4 play loop>>Hydra, harbinger of death:
<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
<i><<if $dragon_hp is 3>>"You don't stant a chnace against the three of us brat!" - "We're going to end you!" - "this is OUR domain!"<<endif>><<if $dragon_hp is 2>>"Hey woah where did Chris go?! Did this visitor just chop his head off?!" - "Oh dang, this isn't good!"<<endif>><<if $dragon_hp is 1>>"AUGH! NOT THOMAS TOO!! TAKE IT EASY!!"<<endif>><<if $dragon_hp is 0>><<goto "dragon_defeated">><<endif>></i>
<span onmouseover="playSound()"><i>
[[Attack|dragon-battle-attack]]
-
<<if $ratrun is "false">>[[Run|dragon-attackrun]]
-<</if>>
[[Use the Orb|dragon-attackuseorb]]
</i></span>Dragon:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.1s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 50px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "dragonattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "dragonattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>Double-click this passage to edit it.Double-click this passage to edit it.<<if $success is true>><<shakescreen 0.5s>><<set $dragon_hp to $dragon_hp - 1>><<else>><<endif>>Gunrat:<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $dragon_hp is 3>>Your hit smashes one of the dragons heads off.
"OOOF this one packs a punch! We're not going to let you off that easy!" - "Yeah you'll regret crossing us!"<<endif>><<if $dragon_hp is 2>>"You little brat!!"<<endif>><<if $dragon_hp is 1>>"You'll pay for that!!"<<endif>><<if $dragon_hp is 0>>"X("<<endif>></i><<endif>>
<<if $dragon_hp is 0>>[[Continue|Dragon-fight-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|Dragon-fight-main]]", "[[Enemy prepares an attack|dragon-battle-defend_b]]", "[[Enemy Attacks!|dragon-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|dragon-battle-defend_b]]", "[[Enemy Attacks!|dragon-battle-defend_c]]")>><<endif>><<endif>><<unset $success>>Gunrat:<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
The Dragon breathes fire across the room, you attempt to dodge
<div id="attack"> ○○○○○○|○○|○○ </div>\
<span id="timedpress"><<button "Defend">><<goto "dragon_Defend">><<if $success is true>><<audio "purchase" play>><</if>><</button>></span>
<<silently>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<<repeat 1.62s>>
<<timed .09s>> <<replace "#attack">> ●○○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|○● <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○○|●○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○○○|○●|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○○|●○|○○ <</replace>><<set $success to true>>
<<next .09s>> <<replace "#attack">> ○○○○○●|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○○●○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○○●○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○○●○○○|○○|○○ <</replace>><<set $success to false>>
<<next .09s>> <<replace "#attack">> ○●○○○○|○○|○○ <</replace>><<set $success to false>>
<</timed>>
<</repeat>>
<</silently>>Gunrat:<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>><<shakescreen 0.5s>><<audio "hit" play>>
Gunrat hits you hard! You take 1 damage! <<set $health to $health - 1>>
<<if $health is 0>>[[You Black Out!|dragon-battle-blackout]]<<else>>[[Ouch!|Dragon-fight-main]]<<endif>><<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>><<if $success is true>><<else>><<shakescreen 0.5s>><<audio "hit" play>><<set $health to $health - 1>><<endif>>
<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $success is true>><h3><div id="bounce"><b><w>D</w><w>O</w><w>D</w><w>G</w><w>E</w><w>D</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>ENEMY HITS YOU HARD!</w></b></div></h3><<endif>>
<<if $health is 0>>[[You Black Out!|dragon-battle-blackout]]<<else>><<if $success is true>>[[Nice!|Dragon-fight-main]]<<else>>[[Ouch!|Dragon-fight-main]]<<endif>><<unset $success>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
-
The dragon makes you look like burnt toast...
-
Tweet your demise:
-
I can bring you back to the start of the floor if you'd like.
<span onmouseover="playSound()"><i>
[[Try Again|FLOOR 2a]]
</i></span>
<<masteraudio stop>>
<<set $$fourohfour_count to $$fourohfour_count + 1>><<audio "404page" volume 0.3 play loop>>@@#replace-me; <div class="fade-out"><<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
There arer no heads left to speak with.</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
You deafeated the dragon!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 9]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
<i><<if $king_hp is 3>>"I'm at full health!"<<endif>><<if $king_hp is 2>>"I'm at 2 health!"<<endif>><<if $king_hp is 1>>"I'm at 1 health! :("<<endif>><<if $king_hp is 0>>"X("<<endif>></i><<if $king_hp is 0>><<goto "king_defeated">><<endif>><<if $health is 0>><<goto "king404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|king Attack Bar]]>><</button>><<button [[TALK|king-talk]]>>TALK<</button>>
<<button [[ITEM|king-item]]>>ITEM<</button>><<button [[ORB|king-attackuseorb1]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>L O S S
-
<i>That which is held tightest will be the first to be lost.</i>
-
<span onmouseover="playSound()"><i>
[[You ascend the final steps|Top Floor]]
</i></span>Double-click this passage to edit it.G R I E F
<i>- What has been broken shall remain shattered. -</i>
<span onmouseover="playSound()"><i>
[[You ascend the final steps|Comet 1]]
</i></span>Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it.<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
The king is brought to it's knees. His body crumbling.
He finally speaks.
"My queen, I am sorry - I could not prevent the end you feared. The end you gave your life to avoid."
..
"I'm sorry."
...
"... I'm sorry..."
-
The king of the stars turns to dust before your eyes, leaving behind the gem that powered it's core
<span onmouseover="playSound()"><i>
[[Gem Acquired|king-gotgem]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
"Yeah it fire a blast of charged energy and destroy anything that tries to stop you."
<span onmouseover="playSound()"><i>
[[that's pretty cool, I'm ready to go|beginning5]]
</i></span>Woo hoo! You got them gem of power!
Let's bring it back to the wizard shall we?
<span onmouseover="playSound()"><i>
[[Gem Acquired|king-gotgem]]
</i></span><head>
<style>
/* maze game styling */
body {
touch-action: pan-y;
}
#container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #ffdabe;
display: grid;
grid-template-rows: 60% 40%;
}
#maze {
position: absolute;
width: 340px;
height: 240px;
/*background: #39a;
align-self: center;
justify-self: center;
place-self: center center;*/
top: 30vh;
left: 50%;
transform: translate(-50%, -50%);
}
.mbox,
.controls {
height: 100%;
background: #ffdabe;
display: grid;
}
.mbox {
}
.buttons {
width: 210px;
height: 140px;
background: #ffdabe;
align-self: center;
justify-self: center;
display: grid;
grid-template-rows: 70px 70px;
grid-template-columns: 70px 70px 70px;
}
.btn {
width: 60px;
height: 60px;
border: 2px #da7c36 solid !important;
border-bottom: 2px #da7c36 solid !important;
align-self: center;
justify-self: center;
cursor: pointer;
border-radius: 8px;
display: grid;
padding:0;
}
.chevron {
height: 20px;
width: 20px;
align-self: center;
justify-self: center;
color: #ffdabe;
font-size: 20px;
line-height: 20px;
text-align: center;
color: #da7c36;
}
#bu {
grid-column-start: 2;
}
#bd {
grid-column-start: 2;
grid-row-start: 2;
}
#bl {
grid-column-start: 1;
grid-row-start: 2;
}
#br {
grid-column-start: 3;
grid-row-start: 2;
}
#thingie,
#home {
position: absolute;
top: 100px;
left: 100px;
width: 20px;
height: 20px;
border-radius: 20px;
/*background: #39a;
transition: all .1s;*/
}
.emo {
position: absolute;
top: 4px;
left: 4px;
width: 13px;
height: 13px;
border-radius: 20px;
font-size: 15px;
line-height: 15px;
text-align: left;
color: #da7c36;
}
.barrier {
position: absolute;
background: #da7c36;
}
#top {
top: 20px;
left: 20px;
width: 300px;
height: 2px;
}
#bottom {
top: 220px;
left: 20px;
width: 302px;
height: 2px;
}
/*style reset*/
button {
display: inline-block;
border: none;
padding: none;
margin: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
background: none;
-webkit-tap-highlight-color: transparent;
}
button:hover,
button:focus {
-webkit-appearance: none;
}
button:focus {
outline: none;
}
button:active {
transform: scale(1);
-webkit-appearance: none;
}
</style>
<script>
var cont = document.getElementById("container");
var maze = document.getElementById("maze");
var thingie = document.getElementById("thingie");
var home = document.getElementById("home");
var emo = document.getElementById("emo");
var bu = document.getElementById("bu");
var bd = document.getElementById("bd");
var bl = document.getElementById("bl");
var br = document.getElementById("br");
var step = 20;
var size = 20;
var bwidth = 2;
var mazeHeight = 200;
var mazeWidth = 300;
var nogoX = [];
var nogoX2 = [];
var nogoY = [];
var nogoY2 = [];
var prevDist = mazeWidth * 2;
//tilt vars
var lastUD = 0;
var lastLR = 0;
var mThreshold = 15;
var firstMove = true;
var allowTilt = true;
//swipe vars
var sThreshold = 15;
//scroll vars
var scThreshold = 20;
//generate sides and starting position
genSides();
//define size
var my = mazeHeight / step;
var mx = mazeWidth / step;
//create full grid
var grid = [];
for (var i = 0; i < my; i++) {
var sg = [];
for (var a = 0; a < mx; a++) {
sg.push({ u: 0, d: 0, l: 0, r: 0, v: 0 });
}
grid.push(sg);
}
//create direction arrays
var dirs = ["u", "d", "l", "r"];
var modDir = {
u: { y: -1, x: 0, o: "d" },
d: { y: 1, x: 0, o: "u" },
l: { y: 0, x: -1, o: "r" },
r: { y: 0, x: 1, o: "l" }
};
//generate maze
genMaze(0, 0, 0);
drawMaze();
//get all the barriers
var barriers = document.getElementsByClassName("barrier");
for (var b = 0; b < barriers.length; b++) {
nogoX.push(barriers[b].offsetLeft);
nogoX2.push(barriers[b].offsetLeft + barriers[b].clientWidth);
nogoY.push(barriers[b].offsetTop);
nogoY2.push(barriers[b].offsetTop + barriers[b].clientHeight);
}
//console.log(nogoX, nogoX2, nogoY, nogoY2);
document.addEventListener("keydown", keys);
function keys(e) {
var code = e.code;
switch (code) {
//arrows
case "ArrowUp":
up();
break;
case "ArrowDown":
down();
break;
case "ArrowLeft":
left();
break;
case "ArrowRight":
right();
break;
//wasd
case "KeyW":
up();
break;
case "KeyS":
down();
break;
case "KeyA":
left();
break;
case "KeyD":
right();
break;
}
}
bu.addEventListener("click", (e) => {
up();
firstMove = true;
});
bd.addEventListener("click", (e) => {
down();
firstMove = true;
});
bl.addEventListener("click", (e) => {
left();
firstMove = true;
});
br.addEventListener("click", (e) => {
right();
firstMove = true;
});
function up() {
animKeys(bu);
if (checkYboundry("u")) {
thingie.style.top = thingie.offsetTop - step + "px";
updateEmo(false);
}
}
function down() {
animKeys(bd);
if (checkYboundry("d")) {
thingie.style.top = thingie.offsetTop + step + "px";
updateEmo(false);
}
}
function left() {
animKeys(bl);
if (checkXboundry("l")) {
thingie.style.left = thingie.offsetLeft - step + "px";
}
updateEmo(true);
}
function right() {
animKeys(br);
if (checkXboundry("r")) {
thingie.style.left = thingie.offsetLeft + step + "px";
}
updateEmo(true);
}
//check if one can move horizontally
function checkXboundry(dir) {
var x = thingie.offsetLeft;
var y = thingie.offsetTop;
var ok = [];
var len = Math.max(nogoX.length, nogoX2.length, nogoY.length, nogoY2.length);
var check = 0;
for (var i = 0; i < len; i++) {
check = 0;
if (y < nogoY[i] || y > nogoY2[i] - size) {
check = 1;
}
if (dir === "r") {
if (x < nogoX[i] - size || x > nogoX2[i] - size) {
check = 1;
}
}
if (dir === "l") {
if (x < nogoX[i] || x > nogoX2[i]) {
check = 1;
}
}
ok.push(check);
}
//check what to return
var res = ok.every(function (e) {
return e > 0;
});
return res;
}
//check if one can move vertically
function checkYboundry(dir) {
var x = thingie.offsetLeft;
var y = thingie.offsetTop;
var ok = [];
var len = Math.max(nogoX.length, nogoX2.length, nogoY.length, nogoY2.length);
var check = 0;
for (var i = 0; i < len; i++) {
check = 0;
if (x < nogoX[i] || x > nogoX2[i] - size) {
check = 1;
}
if (dir === "u") {
if (y < nogoY[i] || y > nogoY2[i]) {
check = 1;
}
}
if (dir === "d") {
if (y < nogoY[i] - size || y > nogoY2[i] - size) {
check = 1;
}
}
ok.push(check);
}
//check what to return
var res = ok.every(function (e) {
return e > 0;
});
return res;
}
//generate sides with random entry and exit points
function genSides() {
var max = mazeHeight / step;
var l1 = Math.floor(Math.random() * max) * step;
//var l1 = 0;
var l2 = mazeHeight - step - l1;
//console.log(l1, l2);
var lb1 = document.createElement("div");
lb1.style.top = step + "px";
lb1.style.left = step + "px";
lb1.style.height = l1 + "px";
var lb2 = document.createElement("div");
lb2.style.top = l1 + step * 2 + "px";
lb2.style.left = step + "px";
lb2.style.height = l2 + "px";
var rb1 = document.createElement("div");
rb1.style.top = step + "px";
rb1.style.left = mazeWidth + step + "px";
rb1.style.height = l2 + "px";
var rb2 = document.createElement("div");
rb2.style.top = l2 + step * 2 + "px";
rb2.style.left = mazeWidth + step + "px";
rb2.style.height = l1 + "px";
//create invisible barriers for start and end: vertical left, vertical right, left top, left bottom, right top, right bottom
nogoX.push(0, mazeWidth + 2 * step, 0, 0, mazeWidth + step, mazeWidth + step);
nogoX2.push(
0 + bwidth,
mazeWidth + 2 * step + bwidth,
step,
step,
mazeWidth + 2 * step,
mazeWidth + 2 * step
);
nogoY.push(
l1 + step,
l2 + step,
l1 + step,
l1 + 2 * step,
l2 + step,
l2 + 2 * step
);
nogoY2.push(
l1 + 2 * step,
l2 + 2 * step,
l1 + step + bwidth,
l1 + 2 * step + bwidth,
l2 + step + bwidth,
l2 + 2 * step + bwidth
);
//set start-pos
thingie.style.top = l1 + step + "px";
thingie.style.left = 0 + "px";
//set end-pos & store height of end
home.style.top = l2 + step + "px";
home.style.left = mazeWidth + step + "px";
//style & append
var els = [lb1, lb2, rb1, rb2];
for (var i = 0; i < els.length; i++) {
confSideEl(els[i]);
maze.appendChild(els[i]);
}
}
function confSideEl(el) {
el.setAttribute("class", "barrier");
el.style.width = bwidth + "px";
}
//gen maze using Recursive Backtracking
function genMaze(cx, cy, s) {
// shuffle unchecked directions
var d = limShuffle(dirs, s);
for (var i = 0; i < d.length; i++) {
var nx = cx + modDir[d[i]].x;
var ny = cy + modDir[d[i]].y;
grid[cy][cx].v = 1;
if (nx >= 0 && nx < mx && ny >= 0 && ny < my && grid[ny][nx].v === 0) {
grid[cy][cx][d[i]] = 1;
grid[ny][nx][modDir[d[i]].o] = 1;
//avoid shuffling d if d's not exhausted.. hence the i
genMaze(nx, ny, i);
}
}
}
//draw maze
function drawMaze() {
for (var x = 0; x < mx; x++) {
for (var y = 0; y < my; y++) {
var l = grid[y][x].l;
var r = grid[y][x].r;
var u = grid[y][x].u;
var d = grid[y][x].d;
drawLines(x, y, l, r, u, d);
}
}
}
//draw the actual lines
function drawLines(x, y, l, r, u, d) {
var top = (y + 1) * step;
var left = (x + 1) * step;
if (l === 0 && x > 0) {
var el = document.createElement("div");
el.style.left = left + "px";
el.style.height = step + "px";
el.style.top = top + "px";
el.setAttribute("class", "barrier");
el.style.width = bwidth + "px";
maze.appendChild(el);
}
if (d === 0 && y < my - 1) {
var el = document.createElement("div");
el.style.left = left + "px";
el.style.height = bwidth + "px";
el.style.top = top + step + "px";
el.setAttribute("class", "barrier");
el.style.width = step + bwidth + "px";
maze.appendChild(el);
}
}
function limShuffle(array, s) {
var con = array.slice(0, s);
var ran = array.slice(s, array.length);
for (var i = ran.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
//console.log(i, j);
[ran[i], ran[j]] = [ran[j], ran[i]];
}
var comb = con.concat(ran);
return comb;
}
function animKeys(key) {
if (key.id === "bu") {
key.style.border = "3px #fff solid";
key.style.borderTop = "1px #fff solid";
key.style.borderBottom = "4px #fff solid";
key.style.transform = "translateY(-2px)";
}
if (key.id === "bd") {
key.style.border = "3px #fff solid";
key.style.borderBottom = "1px #fff solid";
key.style.borderTop = "4px #fff solid";
key.style.transform = "translateY(2px)";
}
if (key.id === "bl") {
key.style.border = "3px #fff solid";
key.style.borderLeft = "1px #fff solid";
key.style.borderRight = "4px #fff solid";
key.style.transform = "translateX(-2px)";
}
if (key.id === "br") {
key.style.border = "3px #fff solid";
key.style.borderRight = "1px #fff solid";
key.style.borderLeft = "4px #fff solid";
key.style.transform = "translateX(2px)";
}
//reset
setTimeout(() => {
key.style.border = "2px #fff solid";
key.style.borderTop = "2px #fff solid";
key.style.borderBottom = "2px #fff solid";
key.style.borderLeft = "2px #fff solid";
key.style.borderRight = "2px #fff solid";
key.style.transform = "translateY(0px)";
key.style.transform = "translateX(0px)";
}, "150");
}
var maxl = 0;
var prevl = 0;
function updateEmo(lr) {
//simple/manual emo-adjustment - old
if (lr) {
if (thingie.offsetLeft < maxl) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 2 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 4 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 6 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft > prevl) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft >= maxl) {
if (thingie.offsetLeft > mazeWidth * 0.6) {
emo.innerHTML = "◉";
} else {
emo.innerHTML = "◉";
}
maxl = thingie.offsetLeft;
}
if (thingie.offsetLeft === 0) {
emo.innerHTML = "◉";
}
if (
thingie.offsetLeft > mazeWidth - step &&
thingie.offsetTop === home.offsetTop
) {
emo.innerHTML = "◉";
home.innerHTML = "✓";
}
if (thingie.offsetLeft > mazeWidth) {
emo.innerHTML = "";
home.innerHTML = "✓";
$.wiki('<<set $maze to 1>><<goto "mazedone">>')
}
prevl = thingie.offsetLeft;
} else {
if (thingie.offsetLeft > (mazeWidth - step) && thingie.offsetTop === home.offsetTop) {
emo.innerHTML = "◉";
}else{
if(thingie.offsetLeft > (mazeWidth - step) && thingie.offsetTop != home.offsetTo){
emo.innerHTML = "◉";
}
}
}
// //Variant: Detect distance to target using old Greeks: Phytagoras (More scientifically interesting, but somehow less funny 🙃)
// var h = home.offsetLeft - thingie.offsetLeft;
// var v = Math.abs(home.offsetTop - thingie.offsetTop);
// var dist = Math.hypot(h, v);
// console.log(h, v, dist);
// //dist = h;
// //dynamic stuff
// if (dist <= prevDist) {
// //happy
// emo.innerHTML = "😀";
// } else {
// //sad
// emo.innerHTML = "🙄";
// }
// //fixed values
// if (dist === 20) {
// emo.innerHTML = "🤗";
// }
// if (dist === 0) {
// emo.innerHTML = "🥳";
// home.innerHTML = "";
// } else {
// home.innerHTML = "✕";
// }
// prevDist = dist;
}
//navigate with tilting
window.addEventListener("deviceorientation", handleOrientation);
function tiltTimer() {
allowTilt = false;
setTimeout(() => {
allowTilt = true;
}, "200");
}
function handleOrientation(e) {
//up/down = beta (smaller = up)
//left/right = gamma (neg = left)
if (firstMove) {
lastUD = e.beta;
lastLR = e.gamma;
firstMove = false;
}
if (allowTilt) {
if (e.beta < lastUD - mThreshold) {
up();
tiltTimer();
}
if (e.beta > lastUD + mThreshold) {
down();
tiltTimer();
}
if (e.gamma < lastLR - mThreshold) {
left();
tiltTimer();
}
if (e.gamma > lastLR + mThreshold) {
right();
tiltTimer();
}
}
}
//navigate with controller
var haveEvents = "ongamepadconnected" in window;
var gp = [];
var allowU = true;
var allowD = true;
var allowL = true;
var allowR = true;
var allowAU = true;
var allowAD = true;
var allowAL = true;
var allowAR = true;
window.addEventListener("gamepadconnected", connectGamepad);
window.addEventListener("gamepaddisconnected", disconnectGamepad);
function disconnectGamepad() {
gp = [];
}
function connectGamepad(e) {
console.log("trying to connect");
gp[0] = e.gamepad;
requestAnimationFrame(updateStatus);
}
function updateStatus() {
if (!haveEvents) {
scangamepads();
}
for (var i = 0; i < gp[0].buttons.length; i++) {
//up
if (gp[0].buttons[12].pressed) {
if (allowU) {
up();
gpTimer("u");
}
}
if (gp[0].buttons[12].pressed === false) {
allowU = true;
}
//down
if (gp[0].buttons[13].pressed) {
if (allowD) {
down();
gpTimer("d");
}
}
if (gp[0].buttons[13].pressed === false) {
allowD = true;
}
//left
if (gp[0].buttons[14].pressed) {
if (allowL) {
left();
gpTimer("l");
}
}
if (gp[0].buttons[14].pressed === false) {
allowL = true;
}
//up
if (gp[0].buttons[15].pressed) {
if (allowR) {
right();
gpTimer("r");
}
}
if (gp[0].buttons[15].pressed === false) {
allowR = true;
}
}
for (var j = 0; j < gp[0].axes.length; j++) {
//console.log(gp[0].axes[3]);
if (gp[0].axes[1] < -0.8 || gp[0].axes[3] < -0.8) {
if (allowAU) {
up();
gpATimer("u");
}
}
if (gp[0].axes[1] > 0.8 || gp[0].axes[3] > 0.8) {
if (allowAD) {
down();
gpATimer("d");
}
}
if (gp[0].axes[0] < -0.8 || gp[0].axes[2] < -0.8) {
if (allowAL) {
left();
gpATimer("l");
}
}
if (gp[0].axes[0] > 0.8 || gp[0].axes[2] > 0.8) {
if (allowAR) {
right();
gpATimer("r");
}
}
}
requestAnimationFrame(updateStatus);
}
function scangamepads() {
var gamepads = navigator.getGamepads
? navigator.getGamepads()
: navigator.webkitGetGamepads
? navigator.webkitGetGamepads()
: [];
for (var i = 0; i < gamepads.length; i++) {
if (gamepads[i]) {
if (gamepads[i].index in gp) {
gp[gamepads[i].index] = gamepads[i];
} else {
addgamepad(gamepads[i]);
}
}
}
}
if (!haveEvents) {
setInterval(scangamepads, 500);
}
function gpTimer(adir) {
switch (adir) {
case "u":
allowU = false;
break;
case "d":
allowD = false;
break;
case "l":
allowL = false;
break;
case "r":
allowR = false;
break;
}
setTimeout(() => {
allowU = true;
allowD = true;
allowL = true;
allowR = true;
}, "200");
}
function gpATimer(adir) {
switch (adir) {
case "u":
allowAU = false;
break;
case "d":
allowAD = false;
break;
case "l":
allowAL = false;
break;
case "r":
allowAR = false;
break;
}
setTimeout(() => {
allowAU = true;
allowAD = true;
allowAL = true;
allowAR = true;
}, "200");
}
//Navigate with swipe
var lasttouchpY = 0;
var lasttouchpX = 0;
cont.addEventListener("touchstart", (e) => {
lasttouchpY = e.changedTouches[0].pageY;
lasttouchpX = e.changedTouches[0].pageX;
});
cont.addEventListener("touchmove", (e) => {
e.preventDefault();
//console.log("touch " + e.changedTouches[0].pageY);
var diffY = e.changedTouches[0].pageY - lasttouchpY;
var diffX = e.changedTouches[0].pageX - lasttouchpX;
if (diffY > sThreshold) {
down();
lasttouchpY = e.changedTouches[0].pageY;
} else {
if (diffY < -1 * sThreshold) {
up();
lasttouchpY = e.changedTouches[0].pageY;
}
}
if (diffX > sThreshold) {
right();
lasttouchpX = e.changedTouches[0].pageX;
} else {
if (diffX < -1 * sThreshold) {
left();
lasttouchpX = e.changedTouches[0].pageX;
}
}
});
//Navigate with scrolling
var lastscrollpY = 0;
var lastscrollpX = 0;
cont.addEventListener("wheel", (e) => {
//console.log("scrollY: " + e.deltaY + " scrollX: " + e.deltaX);
//handle Y scrolling
lastscrollpY = lastscrollpY + e.deltaY;
if (lastscrollpY > 0 && e.deltaY < 0) {
lastscrollpY = 0;
}
if (lastscrollpY < 0 && e.deltaY > 0) {
lastscrollpY = 0;
}
if (lastscrollpY > scThreshold) {
up();
lastscrollpY = 0;
}
if (lastscrollpY < (-1 * scThreshold)) {
down();
lastscrollpY = 0;
}
//handle X scrolling
lastscrollpX = lastscrollpX + e.deltaX;
if (lastscrollpX > 0 && e.deltaX < 0) {
lastscrollpX = 0;
}
if (lastscrollpX < 0 && e.deltaX > 0) {
lastscrollpX = 0;
}
if (lastscrollpX > scThreshold) {
left();
lastscrollpX = 0;
}
if (lastscrollpX < (-1 * scThreshold)) {
right();
lastscrollpX = 0;
}
});
</script>
</head>
<div id="container">
<div class="mbox">
<div id="maze">
<div id="thingie">
<div class="emo" id="emo">◉</div>
</div>
<div id="home">
<div class="emo">✕</div>
</div>
<div class="barrier" id="top"></div>
<div class="barrier" id="bottom"></div>
</div>
</div>
<div class="controls">
<div class="buttons">
<button class="btn" id="bu"><div class="chevron">↑</div></button>
<button class="btn" id="bd"><div class="chevron">↓</div></button>
<button class="btn" id="bl"><div class="chevron">←</div></button>
<button class="btn" id="br"><div class="chevron">→</div></button>
</div>
</div>
</div>
<span onmouseover="playSound()"><i>
[[skip|mazedone]]
</i></span>
<<if $maze is 1>><<goto "maze done">><<endif>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" /><<set $riddle to 8>><span id="countdown">$riddle</span>
"What has a head and a tail, but no body?"
<span onmouseover="playSound()"><i>
[[A coin|thief-correctanswer]]
-
[[An envelope|thief-wronganswer]]
-
[[Ur mom|thief-wronganswer]]
-
[[Hot Dog|thief-wronganswer]]
</i></span>
<<silently>>
<<repeat 1s>>
<<set $riddle to $riddle - 1>>
<<if $riddle gt 0>>
<<replace "#countdown">>$riddle<</replace>>
<<else>>
<<replace "#countdown">><</replace>>
<<goto "Too Slow">>
<<stop>>
<</if>>
<</repeat>>
<</silently>><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $thief_hp to $thief_hp - 1>><<else>><<endif>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>C</w><w>O</w><w>R</w><w>R</w><w>E</w><w>C</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>W</w><w>R</w><w>O</w><w>N</w><w>G</w><w>!</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $thief_hp is 3>>"Lucky guess"<<endif>><<if $thief_hp is 2>>"Lucky guess"<<endif>><<if $thief_hp is 1>>"Lucky guess"<<endif>><<if $thief_hp is 0>>"Lucky guess"<<endif>></i><<endif>>
<span onmouseover="playSound()"><i>
[[Next question|thief-riddle-main]]
</i></span>
<<audio "purchase" play>>
<<set $riddle_count to $riddle_count + 1>><<set $riddle_correct to $riddlecorrect + 1>><<if $success is true>><<shakescreen 0.5s>><<set $thief_hp to $thief_hp - 1>><<else>><<endif>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>C</w><w>O</w><w>R</w><w>R</w><w>E</w><w>C</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>W</w><w>R</w><w>O</w><w>N</w><w>G</w><w>!</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $thief_hp is 3>>"Lucky guess"<<endif>><<if $thief_hp is 2>>"Lucky guess"<<endif>><<if $thief_hp is 1>>"Lucky guess"<<endif>><<if $thief_hp is 0>>"Lucky guess"<<endif>></i><<endif>>
<span onmouseover="playSound()"><i>
[[Next question|thief-riddle-main]]
</i></span>
<<audio "purchase" play>>
<<set $riddle_count to $riddle_count + 1>><<shakescreen 0.5s>><<set $thief_hp to $thief_hp - 1>><<else>><<endif>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<h3><div id="bounce"><b><w>T</w><w>O</w><w>O</w><w> </w><w>S</w><w>L</w><w>O</w><w>W</w><w>!</w></b></div></h3>
<<if $success is true>><i><<if $thief_hp is 3>>"Lucky guess"<<endif>><<if $thief_hp is 2>>"Lucky guess"<<endif>><<if $thief_hp is 1>>"Lucky guess"<<endif>><<if $thief_hp is 0>>"Lucky guess"<<endif>></i><<endif>>
<span onmouseover="playSound()"><i>
[[Next question|thief-riddle-main]]
</i></span>
<<audio "purchase" play>>
<<set $riddle_count to $riddle_count + 1>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" /><<set $riddle to 8>><span id="countdown">$riddle</span>
"What color am I?"
<span onmouseover="playSound()"><i>
[[Blue|thief-wronganswer]]
-
[[Green|thief-wronganswer]]
-
[[Orange|thief-correctanswer]]
-
[[Orenge|thief-wronganswer]]
</i></span>
<<silently>>
<<repeat 1s>>
<<set $riddle to $riddle - 1>>
<<if $riddle gt 0>>
<<replace "#countdown">>$riddle<</replace>>
<<else>>
<<replace "#countdown">><</replace>>
<<goto "Too Slow">>
<<stop>>
<</if>>
<</repeat>>
<</silently>>Purrglar:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" /><<set $riddle to 8>><span id="countdown">$riddle</span>
"What does the wizard seek?"
<span onmouseover="playSound()"><i>
[[Power|thief-wronganswer]]
-
[[A Gem|thief-correctanswer]]
-
[[Wealth|thief-wronganswer]]
-
[[Friendship|thief-wronganswer]]
</i></span>
<<silently>>
<<repeat 1s>>
<<set $riddle to $riddle - 1>>
<<if $riddle gt 0>>
<<replace "#countdown">>$riddle<</replace>>
<<else>>
<<replace "#countdown">><</replace>>
<<goto "Too Slow">>
<<stop>>
<</if>>
<</repeat>>
<</silently>>@@#replace-me; <div class="fade-out"><img class="center" <img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
No more riddles</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
The thief hisses a warning to you as it disappears back into the dark.
"Beware the wizard, those who trust blindly will bleed from the deepest wound of all."
Ominous, time to get moving though.
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 5 new]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-left-still.gif" alt="" width="400" height="400" />
You approach the guard on the left.
...
The armor rumbles, a voice echos out from within it.
...
"Solve my riddle and gain a prize, answer poorly and meet your demise."
...
The guard poses a simple question.
...
"Do you like hotdogs?"
<span onmouseover="playSound()"><i>
[[Yes|left-guard-yes]]
-
[[No|guard-left-no]]
</i></span>You find yourself in a storage room for sorts - all sorts of mysterious items and intriguing curios luitter the room.
Two things seem to capture your attention though.
<span onmouseover="playSound()"><i>
[[A chest sitting in the middle of the room|FLOOR 6b]]
-
[[An ornate mirror hung on the wall|FLOOR 6c]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
The mirror hangs silently, though it feels as if it beckons you to approach. You can already see your reflection in it.
<span onmouseover="playSound()"><i>
[[Inspect the mirror|mirror]]
</i></span>Double-click this passage to edit it.nice it works
thanks random internet stranger
lets try another one
<span onmouseover="playSound()"><i>
[[It feels like the world is breaking.|maze2]]
</i></span>
<<unset $maze>><head>
<style>
/* maze game styling */
body {
touch-action: pan-y;
}
#container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #ffdabe;
display: grid;
grid-template-rows: 60% 40%;
}
#maze {
position: absolute;
width: 340px;
height: 240px;
/*background: #39a;
align-self: center;
justify-self: center;
place-self: center center;*/
top: 30vh;
left: 50%;
transform: translate(-50%, -50%);
}
.mbox,
.controls {
height: 100%;
background: #ffdabe;
display: grid;
}
.mbox {
}
.buttons {
width: 210px;
height: 140px;
background: #ffdabe;
align-self: center;
justify-self: center;
display: grid;
grid-template-rows: 70px 70px;
grid-template-columns: 70px 70px 70px;
}
.btn {
width: 60px;
height: 60px;
border: 2px #da7c36 solid !important;
border-bottom: 2px #da7c36 solid !important;
align-self: center;
justify-self: center;
cursor: pointer;
border-radius: 8px;
display: grid;
padding:0;
}
.chevron {
height: 20px;
width: 20px;
align-self: center;
justify-self: center;
color: #ffdabe;
font-size: 20px;
line-height: 20px;
text-align: center;
color: #da7c36;
}
#bu {
grid-column-start: 2;
}
#bd {
grid-column-start: 2;
grid-row-start: 2;
}
#bl {
grid-column-start: 1;
grid-row-start: 2;
}
#br {
grid-column-start: 3;
grid-row-start: 2;
}
#thingie,
#home {
position: absolute;
top: 100px;
left: 100px;
width: 20px;
height: 20px;
border-radius: 20px;
/*background: #39a;
transition: all .1s;*/
}
.emo {
position: absolute;
top: 4px;
left: 4px;
width: 13px;
height: 13px;
border-radius: 20px;
font-size: 15px;
line-height: 15px;
text-align: left;
color: #da7c36;
}
.barrier {
position: absolute;
background: #da7c36;
}
#top {
top: 20px;
left: 20px;
width: 300px;
height: 2px;
}
#bottom {
top: 220px;
left: 20px;
width: 302px;
height: 2px;
}
/*style reset*/
button {
display: inline-block;
border: none;
padding: none;
margin: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
background: none;
-webkit-tap-highlight-color: transparent;
}
button:hover,
button:focus {
-webkit-appearance: none;
}
button:focus {
outline: none;
}
button:active {
transform: scale(1);
-webkit-appearance: none;
}
</style>
<script>
var cont = document.getElementById("container");
var maze = document.getElementById("maze");
var thingie = document.getElementById("thingie");
var home = document.getElementById("home");
var emo = document.getElementById("emo");
var bu = document.getElementById("bu");
var bd = document.getElementById("bd");
var bl = document.getElementById("bl");
var br = document.getElementById("br");
var step = 20;
var size = 20;
var bwidth = 2;
var mazeHeight = 200;
var mazeWidth = 300;
var nogoX = [];
var nogoX2 = [];
var nogoY = [];
var nogoY2 = [];
var prevDist = mazeWidth * 2;
//tilt vars
var lastUD = 0;
var lastLR = 0;
var mThreshold = 15;
var firstMove = true;
var allowTilt = true;
//swipe vars
var sThreshold = 15;
//scroll vars
var scThreshold = 20;
//generate sides and starting position
genSides();
//define size
var my = mazeHeight / step;
var mx = mazeWidth / step;
//create full grid
var grid = [];
for (var i = 0; i < my; i++) {
var sg = [];
for (var a = 0; a < mx; a++) {
sg.push({ u: 0, d: 0, l: 0, r: 0, v: 0 });
}
grid.push(sg);
}
//create direction arrays
var dirs = ["u", "d", "l", "r"];
var modDir = {
u: { y: -1, x: 0, o: "d" },
d: { y: 1, x: 0, o: "u" },
l: { y: 0, x: -1, o: "r" },
r: { y: 0, x: 1, o: "l" }
};
//generate maze
genMaze(0, 0, 0);
drawMaze();
//get all the barriers
var barriers = document.getElementsByClassName("barrier");
for (var b = 0; b < barriers.length; b++) {
nogoX.push(barriers[b].offsetLeft);
nogoX2.push(barriers[b].offsetLeft + barriers[b].clientWidth);
nogoY.push(barriers[b].offsetTop);
nogoY2.push(barriers[b].offsetTop + barriers[b].clientHeight);
}
//console.log(nogoX, nogoX2, nogoY, nogoY2);
document.addEventListener("keydown", keys);
function keys(e) {
var code = e.code;
switch (code) {
//arrows
case "ArrowUp":
up();
break;
case "ArrowDown":
down();
break;
case "ArrowLeft":
left();
break;
case "ArrowRight":
right();
break;
//wasd
case "KeyW":
up();
break;
case "KeyS":
down();
break;
case "KeyA":
left();
break;
case "KeyD":
right();
break;
}
}
bu.addEventListener("click", (e) => {
up();
firstMove = true;
});
bd.addEventListener("click", (e) => {
down();
firstMove = true;
});
bl.addEventListener("click", (e) => {
left();
firstMove = true;
});
br.addEventListener("click", (e) => {
right();
firstMove = true;
});
function up() {
animKeys(bu);
if (checkYboundry("u")) {
thingie.style.top = thingie.offsetTop - step + "px";
updateEmo(false);
}
}
function down() {
animKeys(bd);
if (checkYboundry("d")) {
thingie.style.top = thingie.offsetTop + step + "px";
updateEmo(false);
}
}
function left() {
animKeys(bl);
if (checkXboundry("l")) {
thingie.style.left = thingie.offsetLeft - step + "px";
}
updateEmo(true);
}
function right() {
animKeys(br);
if (checkXboundry("r")) {
thingie.style.left = thingie.offsetLeft + step + "px";
}
updateEmo(true);
}
//check if one can move horizontally
function checkXboundry(dir) {
var x = thingie.offsetLeft;
var y = thingie.offsetTop;
var ok = [];
var len = Math.max(nogoX.length, nogoX2.length, nogoY.length, nogoY2.length);
var check = 0;
for (var i = 0; i < len; i++) {
check = 0;
if (y < nogoY[i] || y > nogoY2[i] - size) {
check = 1;
}
if (dir === "r") {
if (x < nogoX[i] - size || x > nogoX2[i] - size) {
check = 1;
}
}
if (dir === "l") {
if (x < nogoX[i] || x > nogoX2[i]) {
check = 1;
}
}
ok.push(check);
}
//check what to return
var res = ok.every(function (e) {
return e > 0;
});
return res;
}
//check if one can move vertically
function checkYboundry(dir) {
var x = thingie.offsetLeft;
var y = thingie.offsetTop;
var ok = [];
var len = Math.max(nogoX.length, nogoX2.length, nogoY.length, nogoY2.length);
var check = 0;
for (var i = 0; i < len; i++) {
check = 0;
if (x < nogoX[i] || x > nogoX2[i] - size) {
check = 1;
}
if (dir === "u") {
if (y < nogoY[i] || y > nogoY2[i]) {
check = 1;
}
}
if (dir === "d") {
if (y < nogoY[i] - size || y > nogoY2[i] - size) {
check = 1;
}
}
ok.push(check);
}
//check what to return
var res = ok.every(function (e) {
return e > 0;
});
return res;
}
//generate sides with random entry and exit points
function genSides() {
var max = mazeHeight / step;
var l1 = Math.floor(Math.random() * max) * step;
//var l1 = 0;
var l2 = mazeHeight - step - l1;
//console.log(l1, l2);
var lb1 = document.createElement("div");
lb1.style.top = step + "px";
lb1.style.left = step + "px";
lb1.style.height = l1 + "px";
var lb2 = document.createElement("div");
lb2.style.top = l1 + step * 2 + "px";
lb2.style.left = step + "px";
lb2.style.height = l2 + "px";
var rb1 = document.createElement("div");
rb1.style.top = step + "px";
rb1.style.left = mazeWidth + step + "px";
rb1.style.height = l2 + "px";
var rb2 = document.createElement("div");
rb2.style.top = l2 + step * 2 + "px";
rb2.style.left = mazeWidth + step + "px";
rb2.style.height = l1 + "px";
//create invisible barriers for start and end: vertical left, vertical right, left top, left bottom, right top, right bottom
nogoX.push(0, mazeWidth + 2 * step, 0, 0, mazeWidth + step, mazeWidth + step);
nogoX2.push(
0 + bwidth,
mazeWidth + 2 * step + bwidth,
step,
step,
mazeWidth + 2 * step,
mazeWidth + 2 * step
);
nogoY.push(
l1 + step,
l2 + step,
l1 + step,
l1 + 2 * step,
l2 + step,
l2 + 2 * step
);
nogoY2.push(
l1 + 2 * step,
l2 + 2 * step,
l1 + step + bwidth,
l1 + 2 * step + bwidth,
l2 + step + bwidth,
l2 + 2 * step + bwidth
);
//set start-pos
thingie.style.top = l1 + step + "px";
thingie.style.left = 0 + "px";
//set end-pos & store height of end
home.style.top = l2 + step + "px";
home.style.left = mazeWidth + step + "px";
//style & append
var els = [lb1, lb2, rb1, rb2];
for (var i = 0; i < els.length; i++) {
confSideEl(els[i]);
maze.appendChild(els[i]);
}
}
function confSideEl(el) {
el.setAttribute("class", "barrier");
el.style.width = bwidth + "px";
}
//gen maze using Recursive Backtracking
function genMaze(cx, cy, s) {
// shuffle unchecked directions
var d = limShuffle(dirs, s);
for (var i = 0; i < d.length; i++) {
var nx = cx + modDir[d[i]].x;
var ny = cy + modDir[d[i]].y;
grid[cy][cx].v = 1;
if (nx >= 0 && nx < mx && ny >= 0 && ny < my && grid[ny][nx].v === 0) {
grid[cy][cx][d[i]] = 1;
grid[ny][nx][modDir[d[i]].o] = 1;
//avoid shuffling d if d's not exhausted.. hence the i
genMaze(nx, ny, i);
}
}
}
//draw maze
function drawMaze() {
for (var x = 0; x < mx; x++) {
for (var y = 0; y < my; y++) {
var l = grid[y][x].l;
var r = grid[y][x].r;
var u = grid[y][x].u;
var d = grid[y][x].d;
drawLines(x, y, l, r, u, d);
}
}
}
//draw the actual lines
function drawLines(x, y, l, r, u, d) {
var top = (y + 1) * step;
var left = (x + 1) * step;
if (l === 0 && x > 0) {
var el = document.createElement("div");
el.style.left = left + "px";
el.style.height = step + "px";
el.style.top = top + "px";
el.setAttribute("class", "barrier");
el.style.width = bwidth + "px";
maze.appendChild(el);
}
if (d === 0 && y < my - 1) {
var el = document.createElement("div");
el.style.left = left + "px";
el.style.height = bwidth + "px";
el.style.top = top + step + "px";
el.setAttribute("class", "barrier");
el.style.width = step + bwidth + "px";
maze.appendChild(el);
}
}
function limShuffle(array, s) {
var con = array.slice(0, s);
var ran = array.slice(s, array.length);
for (var i = ran.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
//console.log(i, j);
[ran[i], ran[j]] = [ran[j], ran[i]];
}
var comb = con.concat(ran);
return comb;
}
function animKeys(key) {
if (key.id === "bu") {
key.style.border = "3px #fff solid";
key.style.borderTop = "1px #fff solid";
key.style.borderBottom = "4px #fff solid";
key.style.transform = "translateY(-2px)";
}
if (key.id === "bd") {
key.style.border = "3px #fff solid";
key.style.borderBottom = "1px #fff solid";
key.style.borderTop = "4px #fff solid";
key.style.transform = "translateY(2px)";
}
if (key.id === "bl") {
key.style.border = "3px #fff solid";
key.style.borderLeft = "1px #fff solid";
key.style.borderRight = "4px #fff solid";
key.style.transform = "translateX(-2px)";
}
if (key.id === "br") {
key.style.border = "3px #fff solid";
key.style.borderRight = "1px #fff solid";
key.style.borderLeft = "4px #fff solid";
key.style.transform = "translateX(2px)";
}
//reset
setTimeout(() => {
key.style.border = "2px #fff solid";
key.style.borderTop = "2px #fff solid";
key.style.borderBottom = "2px #fff solid";
key.style.borderLeft = "2px #fff solid";
key.style.borderRight = "2px #fff solid";
key.style.transform = "translateY(0px)";
key.style.transform = "translateX(0px)";
}, "150");
}
var maxl = 0;
var prevl = 0;
function updateEmo(lr) {
//simple/manual emo-adjustment - old
if (lr) {
if (thingie.offsetLeft < maxl) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 2 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 4 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft < maxl - 6 * step) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft > prevl) {
emo.innerHTML = "◉";
}
if (thingie.offsetLeft >= maxl) {
if (thingie.offsetLeft > mazeWidth * 0.6) {
emo.innerHTML = "◉";
} else {
emo.innerHTML = "◉";
}
maxl = thingie.offsetLeft;
}
if (thingie.offsetLeft === 0) {
emo.innerHTML = "◉";
}
if (
thingie.offsetLeft > mazeWidth - step &&
thingie.offsetTop === home.offsetTop
) {
emo.innerHTML = "◉";
home.innerHTML = "✓";
}
if (thingie.offsetLeft > mazeWidth) {
emo.innerHTML = "";
home.innerHTML = "✓";
$.wiki('<<set $maze to 1>><<goto "mazedone">>')
}
prevl = thingie.offsetLeft;
} else {
if (thingie.offsetLeft > (mazeWidth - step) && thingie.offsetTop === home.offsetTop) {
emo.innerHTML = "◉";
}else{
if(thingie.offsetLeft > (mazeWidth - step) && thingie.offsetTop != home.offsetTo){
emo.innerHTML = "◉";
}
}
}
// //Variant: Detect distance to target using old Greeks: Phytagoras (More scientifically interesting, but somehow less funny 🙃)
// var h = home.offsetLeft - thingie.offsetLeft;
// var v = Math.abs(home.offsetTop - thingie.offsetTop);
// var dist = Math.hypot(h, v);
// console.log(h, v, dist);
// //dist = h;
// //dynamic stuff
// if (dist <= prevDist) {
// //happy
// emo.innerHTML = "😀";
// } else {
// //sad
// emo.innerHTML = "🙄";
// }
// //fixed values
// if (dist === 20) {
// emo.innerHTML = "🤗";
// }
// if (dist === 0) {
// emo.innerHTML = "🥳";
// home.innerHTML = "";
// } else {
// home.innerHTML = "✕";
// }
// prevDist = dist;
}
//navigate with tilting
window.addEventListener("deviceorientation", handleOrientation);
function tiltTimer() {
allowTilt = false;
setTimeout(() => {
allowTilt = true;
}, "200");
}
function handleOrientation(e) {
//up/down = beta (smaller = up)
//left/right = gamma (neg = left)
if (firstMove) {
lastUD = e.beta;
lastLR = e.gamma;
firstMove = false;
}
if (allowTilt) {
if (e.beta < lastUD - mThreshold) {
up();
tiltTimer();
}
if (e.beta > lastUD + mThreshold) {
down();
tiltTimer();
}
if (e.gamma < lastLR - mThreshold) {
left();
tiltTimer();
}
if (e.gamma > lastLR + mThreshold) {
right();
tiltTimer();
}
}
}
//navigate with controller
var haveEvents = "ongamepadconnected" in window;
var gp = [];
var allowU = true;
var allowD = true;
var allowL = true;
var allowR = true;
var allowAU = true;
var allowAD = true;
var allowAL = true;
var allowAR = true;
window.addEventListener("gamepadconnected", connectGamepad);
window.addEventListener("gamepaddisconnected", disconnectGamepad);
function disconnectGamepad() {
gp = [];
}
function connectGamepad(e) {
console.log("trying to connect");
gp[0] = e.gamepad;
requestAnimationFrame(updateStatus);
}
function updateStatus() {
if (!haveEvents) {
scangamepads();
}
for (var i = 0; i < gp[0].buttons.length; i++) {
//up
if (gp[0].buttons[12].pressed) {
if (allowU) {
up();
gpTimer("u");
}
}
if (gp[0].buttons[12].pressed === false) {
allowU = true;
}
//down
if (gp[0].buttons[13].pressed) {
if (allowD) {
down();
gpTimer("d");
}
}
if (gp[0].buttons[13].pressed === false) {
allowD = true;
}
//left
if (gp[0].buttons[14].pressed) {
if (allowL) {
left();
gpTimer("l");
}
}
if (gp[0].buttons[14].pressed === false) {
allowL = true;
}
//up
if (gp[0].buttons[15].pressed) {
if (allowR) {
right();
gpTimer("r");
}
}
if (gp[0].buttons[15].pressed === false) {
allowR = true;
}
}
for (var j = 0; j < gp[0].axes.length; j++) {
//console.log(gp[0].axes[3]);
if (gp[0].axes[1] < -0.8 || gp[0].axes[3] < -0.8) {
if (allowAU) {
up();
gpATimer("u");
}
}
if (gp[0].axes[1] > 0.8 || gp[0].axes[3] > 0.8) {
if (allowAD) {
down();
gpATimer("d");
}
}
if (gp[0].axes[0] < -0.8 || gp[0].axes[2] < -0.8) {
if (allowAL) {
left();
gpATimer("l");
}
}
if (gp[0].axes[0] > 0.8 || gp[0].axes[2] > 0.8) {
if (allowAR) {
right();
gpATimer("r");
}
}
}
requestAnimationFrame(updateStatus);
}
function scangamepads() {
var gamepads = navigator.getGamepads
? navigator.getGamepads()
: navigator.webkitGetGamepads
? navigator.webkitGetGamepads()
: [];
for (var i = 0; i < gamepads.length; i++) {
if (gamepads[i]) {
if (gamepads[i].index in gp) {
gp[gamepads[i].index] = gamepads[i];
} else {
addgamepad(gamepads[i]);
}
}
}
}
if (!haveEvents) {
setInterval(scangamepads, 500);
}
function gpTimer(adir) {
switch (adir) {
case "u":
allowU = false;
break;
case "d":
allowD = false;
break;
case "l":
allowL = false;
break;
case "r":
allowR = false;
break;
}
setTimeout(() => {
allowU = true;
allowD = true;
allowL = true;
allowR = true;
}, "200");
}
function gpATimer(adir) {
switch (adir) {
case "u":
allowAU = false;
break;
case "d":
allowAD = false;
break;
case "l":
allowAL = false;
break;
case "r":
allowAR = false;
break;
}
setTimeout(() => {
allowAU = true;
allowAD = true;
allowAL = true;
allowAR = true;
}, "200");
}
//Navigate with swipe
var lasttouchpY = 0;
var lasttouchpX = 0;
cont.addEventListener("touchstart", (e) => {
lasttouchpY = e.changedTouches[0].pageY;
lasttouchpX = e.changedTouches[0].pageX;
});
cont.addEventListener("touchmove", (e) => {
e.preventDefault();
//console.log("touch " + e.changedTouches[0].pageY);
var diffY = e.changedTouches[0].pageY - lasttouchpY;
var diffX = e.changedTouches[0].pageX - lasttouchpX;
if (diffY > sThreshold) {
down();
lasttouchpY = e.changedTouches[0].pageY;
} else {
if (diffY < -1 * sThreshold) {
up();
lasttouchpY = e.changedTouches[0].pageY;
}
}
if (diffX > sThreshold) {
right();
lasttouchpX = e.changedTouches[0].pageX;
} else {
if (diffX < -1 * sThreshold) {
left();
lasttouchpX = e.changedTouches[0].pageX;
}
}
});
//Navigate with scrolling
var lastscrollpY = 0;
var lastscrollpX = 0;
cont.addEventListener("wheel", (e) => {
//console.log("scrollY: " + e.deltaY + " scrollX: " + e.deltaX);
//handle Y scrolling
lastscrollpY = lastscrollpY + e.deltaY;
if (lastscrollpY > 0 && e.deltaY < 0) {
lastscrollpY = 0;
}
if (lastscrollpY < 0 && e.deltaY > 0) {
lastscrollpY = 0;
}
if (lastscrollpY > scThreshold) {
up();
lastscrollpY = 0;
}
if (lastscrollpY < (-1 * scThreshold)) {
down();
lastscrollpY = 0;
}
//handle X scrolling
lastscrollpX = lastscrollpX + e.deltaX;
if (lastscrollpX > 0 && e.deltaX < 0) {
lastscrollpX = 0;
}
if (lastscrollpX < 0 && e.deltaX > 0) {
lastscrollpX = 0;
}
if (lastscrollpX > scThreshold) {
left();
lastscrollpX = 0;
}
if (lastscrollpX < (-1 * scThreshold)) {
right();
lastscrollpX = 0;
}
});
</script>
</head>
<div id="container">
<div class="mbox">
<div id="maze">
<div id="thingie">
<div class="emo" id="emo">◉</div>
</div>
<div id="home">
<div class="emo">✕</div>
</div>
<div class="barrier" id="top"></div>
<div class="barrier" id="bottom"></div>
</div>
</div>
<div class="controls">
<div class="buttons">
<button class="btn" id="bu"><div class="chevron">↑</div></button>
<button class="btn" id="bd"><div class="chevron">↓</div></button>
<button class="btn" id="bl"><div class="chevron">←</div></button>
<button class="btn" id="br"><div class="chevron">→</div></button>
</div>
</div>
</div>
<span onmouseover="playSound()"><i>
[[skip|mazedone]]
</i></span>
<<if $maze is 1>><<goto "maze done">><<endif>>neat the maze can be repeated<<include "Maze test" "div">>
<span onmouseover="playSound()"><i>
[[skip|maze2]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
Your belief in your own strength has proven to be a opportunity for someone to take adavantage of you.
-
A figure now stands before you, it's voice and appearance identical to your own.
-
"All I needed was to steal a little more from you so I could benefit and make you weaker all the same!"
-
<h3><div id="bounce"><w>"H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>H</w><w>A</w><w>!</w><w>!"</w></div></h3>
A laugh like your own fills the room.
-
See you sucker!
<span onmouseover="playSound()"><i>
[[The mirror begins to melt|mirror-gone]]
</i></span>The being that now resembles you sprint across the room and further up the tower out of sight.
-
<i>strange</i>
-
CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "chatattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "chatattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $chat_hp to $chat_hp - 1>><<else>><<endif>>chat:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $chat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $chat_hp is 2>>"You little brat!!"<<endif>><<if $chat_hp is 1>>"You'll pay for that!!"<<endif>><<if $chat_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $chat_hp is 0>>[[Continue|chat-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|chat-battle-main]]", "[[Enemy prepares an attack|Chat-block_attack]]", "[[Enemy Attacks!|Chat-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|Chat-block_attack]]", "[[Enemy Attacks!|Chat-block_attack]]")>><<endif>><<endif>><<unset $success>><<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $chat_hp to $chat_hp - 1>><<else>><<endif>>chat:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $chat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $chat_hp is 2>>"You little brat!!"<<endif>><<if $chat_hp is 1>>"You'll pay for that!!"<<endif>><<if $chat_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $chat_hp is 0>>[[Continue|chat-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|chat-battle-main]]", "[[Enemy prepares an attack|Chat-block_attack]]", "[[Enemy Attacks!|Chat-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|Chat-block_attack]]", "[[Enemy Attacks!|Chat-block_attack]]")>><<endif>><<endif>><<unset $success>><<set $chat_hp to 3>>CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|chat-battle-main]]
</i></span>
<<masteraudio stop>><<audio "gunrat.mp3" volume 0.5 play loop>>
CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<i><<if $chat_hp is 3>>"I'm at full health!"<<endif>><<if $chat_hp is 2>>"I'm at 2 health!"<<endif>><<if $chat_hp is 1>>"I'm at 1 health! :("<<endif>><<if $chat_hp is 0>>"X("<<endif>></i><<if $chat_hp is 0>><<goto "chat_defeated">><<endif>><<if $health is 0>><<goto "chat404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|Chat Attack Bar]]>><</button>><<button [[TALK|chat-talk]]>>TALK<</button>>
<<button [[ITEM|chat-item]]>>ITEM<</button>><<button [[ORB|chat-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
"gg no re"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
Good work!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>><b>GUNRAT</b><meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "gunratattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "gunratattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $gunrat_hp to $gunrat_hp - 1>><<else>><<endif>>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $gunrat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $gunrat_hp is 2>>"You little brat!!"<<endif>><<if $gunrat_hp is 1>>"You'll pay for that!!"<<endif>><<if $gunrat_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $gunrat_hp is 0>>[[Continue|gunrat-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|gunrat-battle-main]]", "[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<endif>><<endif>><<unset $success>><<if $success is true>><<shakescreen 0.5s>><<set $gunrat_hp to $gunrat_hp - 1>><<else>><<endif>>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $gunrat_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $gunrat_hp is 2>>"You little brat!!"<<endif>><<if $gunrat_hp is 1>>"You'll pay for that!!"<<endif>><<if $gunrat_hp is 0>>"X("<<endif>></i><<endif>>
<<if $gunrat_hp is 0>>[[Continue|gunrat-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|gunrat-battle-main]]", "[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<else>><<print either("[[Enemy prepares an attack|gunrat-battle-defend_b]]", "[[Enemy Attacks!|gunrat-battle-defend_c]]")>><<endif>><<endif>><<unset $success>><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $dragon_hp to $dragon_hp - 1>><<else>><<endif>>dragon:<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $dragon_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $dragon_hp is 2>>"You little brat!!"<<endif>><<if $dragon_hp is 1>>"You'll pay for that!!"<<endif>><<if $dragon_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $dragon_hp is 0>>[[Continue|Dragon-fight-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|Dragon-fight-main]]", "[[Enemy prepares an attack|Dragon-fight-main]]", "[[Enemy Attacks!|Dragon-fight-main]]")>><<else>><<print either("[[Enemy prepares an attack|Dragon-fight-main]]", "[[Enemy Attacks!|Dragon-fight-main]]")>><<endif>><<endif>><<unset $success>><<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $dragon_hp to $dragon_hp - 1>><<else>><<endif>>dragon:<meter @value="$dragon_hp" min="0" max="3"></meter> <b>$dragon_hp hp</b>
<<if $dragon_hp is 3>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_3a.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 2>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_2.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 1>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_1.gif" alt="" width="400" height="400" /><<endif>><<if $dragon_hp is 0>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/11/dragon_0.gif" alt="" width="400" height="400" /><<endif>>
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $dragon_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $dragon_hp is 2>>"You little brat!!"<<endif>><<if $dragon_hp is 1>>"You'll pay for that!!"<<endif>><<if $dragon_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $dragon_hp is 0>>[[Continue|Dragon-fight-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|Dragon-fight-main]]", "[[Enemy prepares an attack|Dragon-fight-main]]", "[[Enemy Attacks!|Dragon-fight-main]]")>><<else>><<print either("[[Enemy prepares an attack|Dragon-fight-main]]", "[[Enemy Attacks!|Dragon-fight-main]]")>><<endif>><<endif>><<unset $success>>Double-click this passage to edit it.<style>
#game-area {
width: 300px;
height: 300px;
border: 2px solid #da7c36;
position: relative;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin: auto;
}
#targetgameinfo {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin: auto;
}
#score {
font-size: 24px;
font-weight: bold;
margin-bottom: 20px;
align-content:center;
}
#game-message {
font-size: 36px;
font-weight: bold;
margin-bottom: 20px;
}
.target {
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 50%;
position: absolute;
cursor: pointer;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameArea = document.getElementById('game-area');
var startButton = document.getElementById('start-button');
var scoreDisplay = document.getElementById('score');
var messageDisplay = document.getElementById('game-message');
var targetInterval = 350; // Time interval in ms for creating targets
var targetLifetime = 755; // Time in ms for targets to live
var maxTargets = 10; // Maximum number of targets on screen at once
var winningScore = 50; // Score needed to win the game
var score = 0;
var targets = [];
var targetTimer, gameTimer;
// Start the game
function startGame() {
score = 0;
targets = [];
updateScore();
messageDisplay.textContent = '';
startButton.disabled = true;
gameArea.removeEventListener('click', startGame);
clearInterval(gameTimer); // Clear the game timer
targetTimer = setInterval(() => {
if (targets.length < maxTargets) {
createTarget();
}
}, targetInterval);
gameTimer = setTimeout(() => {
clearInterval(targetTimer);
if (score >= winningScore) {
endGame('win');
} else {
endGame('lose');
}
}, 3500); // Game lasts for 4 seconds
}
// Generate a new target
function createTarget() {
// Check if the game is still in progress
if (!gameTimer) {
return;
}
var target = document.createElement('div');
target.classList.add('target');
target.style.left = Math.floor(Math.random() * (gameArea.offsetWidth - 50)) + 'px';
target.style.top = Math.floor(Math.random() * (gameArea.offsetHeight - 50)) + 'px';
target.addEventListener('click', () => {
target.remove();
score++;
playSound();
updateScore();
if (score === winningScore) {
endGame('win');
}
});
gameArea.appendChild(target);
targets.push(target);
// Remove the target after its lifetime has expired
setTimeout(() => {
if (targets.indexOf(target) !== -1) {
target.remove();
targets.splice(targets.indexOf(target), 1);
if (score < winningScore && targets.length === 0) {
endGame('lose');
}
}
}, targetLifetime);
}
// End the game
function endGame(result) {
clearTimeout(gameTimer);
clearInterval(targetTimer);
if (result === 'win') {
messageDisplay.textContent = `You won! Your score is ${score}.`;
} else {
messageDisplay.textContent = `You lost! Your score is ${score}.`;
$.wiki('<<goto "testpostdefend">>')
}
startButton.disabled = false;
startButton.textContent = 'Start Game';
gameArea.addEventListener('click', startGame);
}
// Update the score display
function updateScore() {
scoreDisplay.textContent = `Score: ${score}`;
}
// Play a sound when a target is clicked
function playSound() {
const audio = new Audio('https://www.coltonfloris.com/wp-content/uploads/2021/04/selection.mp3');
audio.play();
$.wiki('<<set $defendstate to $defendstate + 1>>')
}
// Start the game when the start button is clicked
document.getElementById('start-button').addEventListener('click', () => {
startGame();
});
</script>
<div id="game-area"></div>
<button id="start-button">BLOCK!</button>
<div id="targetgameinfo">
<div id="score">0</div>
<div id="game-message"></div>
</div>
<<if $defendstate is 5>><<goto "testpostdefendwin">><<endif>>This should say how many targets you clicked<<print $defendstate>>
<<if $defendstate gte 5>>defend win!
<<else>>You lost!
<<endif>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-image:url("https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif");
background-size: cover;
background-repeat:
background-repeat:
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#000000;
font-weight:900;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
display:none;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "chatblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
I don't want to talk to you!
<span onmouseover="playSound()"><i>
[[fine|gunrat-battle-main]]
-
[[run away|rat-attackrun]]
</i></span>Gunrat:<meter @value="$gunrat_hp" min="0" max="3"></meter> <b>$gunrat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/gunrat-coltonfloris.gif" alt="" width="400" height="400" />
You have nothing to use!
<span onmouseover="playSound()"><i>
[[return|gunrat-battle-main]]
</i></span>CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You have nothing to say!
<span onmouseover="playSound()"><i>
[[return|chat-battle-main]]
</i></span>CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
You have nothing to use!
<span onmouseover="playSound()"><i>
[[return|chat-battle-main]]
</i></span>CHAT:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
Let's leave the orb out of this!
<span onmouseover="playSound()"><i>
[[return|chat-battle-main]]
</i></span>chat:<meter @value="$chat_hp" min="0" max="3"></meter> <b>$chat_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/popup-1.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $chat_hp is 3>>Enemy is not concerned<<endif>><<if $chat_hp is 2>>Enemy is not concerned<<endif>><<if $chat_hp is 1>>Enemy is panicking!<<endif>><<if $chat_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|chat-battle-main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|chat-battle-main]]</i></span><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/01/404.gif" alt="" width="400" height="400" />
Bummer, looks like you got knocked out!
<span onmouseover="playSound()"><i>
[[Try Again|chat-battle-main]]
</i></span>
<<masteraudio stop>><<audio "gunrat.mp3" volume 0.5 play loop>><<set $guard_hp to 3>>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Very well, let us partake in combat."
-
Time to learn some battle tactics!
<span onmouseover="playSound()"><i>
[[FIGHT!|guard-battle-main]]
</i></span>
<<masteraudio stop>><<audio "guard" volume 0.7 play loop>>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<i><<if $guard_hp is 3>>"Combat is quite simple, you have a few options at your disposal - try attacking me and I shall guide your strike."<<endif>><<if $guard_hp is 2>>"Very good, use the talk action now that you've attacked successfully"<<endif>><<if $guard_hp is 1>>"Do not strike me again, use the talk action."<<endif>><<if $guard_hp is 0>>"X("<<endif>></i><<if $guard_hp is 0>><<goto "guard_defeated">><<endif>><<if $health is 0>><<goto "guard404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|guard Attack Bar]]>><</button>><<button [[TALK|guard-talk]]>>TALK<</button>>
<<button [[ITEM|guard-item]]>>ITEM<</button>><<button [[ORB|guard-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Do your best to attack when the gem is within the strike zone."
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "guardattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "guardattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<i><<if $guard_hp is 3>>"Sometimes you can talk your way out of situations you find yourself trapped in. Try talking with combatents when they have been worn down in battle, they may change their tune. - now attack me and I shall guide your strike."<<endif>><<if $guard_hp is 2>>"You're training is complete, you are ready for the dangers ahead."<<endif>><<if $guard_hp is 1>>"You are a poor listener but have learnt everything you need."<<endif>><<if $guard_hp is 0>>"X("<<endif>></i>
<span onmouseover="playSound()"><i><<if $guard_hp is 3>>[[alright sure|guard-battle-main]]<<endif>><<if $guard_hp is 2>>[[the guard releases it's grip on the stone key|take-stone]]<<endif>><<if $guard_hp is 1>>[[Why don't you just join me and defend for me|guard-right-whydont]]<<endif>><<if $guard_hp is 0>>[[the guard releases it's grip on the stone key|guard-battle-main]]<<endif>>
</i></span>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"If you had an item this is where you would see if it has any use in battle."
<span onmouseover="playSound()"><i>[[makes sense|guard-battle-main]]</i></span><i>"Those who hide behind power they have not earned shall perish by it all the same."</i>
<<if $orb_count is 0>><<include "Use Orb 1" "div">><<elseif $orb_count is 1>><<include "Use Orb 2" "div">><<elseif $orb_count is 2>><<include "Use Orb 3" "div">><<endif>>
-
Nothing but the key remains.
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">><<set $orb_count to $orb_count + 1>><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $guard_hp to $guard_hp - 1>><<else>><<endif>>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<i><<if $guard_hp is 3>>"Close, try again and focus on your timing."<<endif>><<if $guard_hp is 2>>"Excellent, now I will strike."<<endif>><<if $guard_hp is 1>>"I said use the talk action, do not atempt to strike me again or you will pay the price."<<endif>><<if $guard_hp is 0>>"Fool, I cannot die, but you will."<<endif>></i><<audio "hit" play>>
<<if $guard_hp is 0>>[[Continue|guard-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy prepares an attack|guard-block_attack]]", "[[Enemy Attacks!|guard-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|guard-block_attack]]", "[[Enemy Attacks!|guard-block_attack]]")>><<endif>><<endif>><<unset $success>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-image:url("<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />");
background-size: cover;
background-repeat:
background-repeat:
margin:0 auto;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "guardblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
"To defend yourself, click on the area to begin - and click each target as they appear to block my attack."
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>
<<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $guard_hp to $guard_hp - 1>><<else>><<endif>>guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<i><<if $guard_hp is 3>>"Close, try again and focus on your timing."<<endif>><<if $guard_hp is 2>>"Wonderful, now use the talk action to speak to me further."<<endif>><<if $guard_hp is 1>>"I said use the talk action, do not atempt to strike me again or you will pay the price."<<endif>><<if $guard_hp is 0>>"Fool, I cannot die, but you will."<<endif>></i><<audio "miss1" play>>
<<if $guard_hp is 0>>[[Continue|guard-battle-main]]<<else>><<if $success is true>>[[Enemy is stunned!|guard-battle-main]]", "[[Enemy prepares an attack|guard-block_attack]]", "[[Enemy Attacks!|guard-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|guard-block_attack]]", "[[Enemy Attacks!|guard-block_attack]]")>><<endif>><<endif>><<unset $success>>
guard:<meter @value="$guard_hp" min="0" max="3"></meter> <b>$guard_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $health is 3>>"Very good, enemies will have different amounts of attacks that need to be blocked - remain vigilant."<<endif>><<if $health is 2>>"You can always bounce back from an attack - don't give up!"<<endif>><<if $health is 1>>"Maybe use the talk action instead of trying to block again."<<endif>><<if $health is 0>><<set $health to 1>>"I will refrain from striking you further"<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|guard-battle-main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|guard-battle-main]]</i></span><<endif>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/armor-right-ani2.gif" alt="" width="400" height="400" />
"Just kidding I was bluffing"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
The guard turns to dust and drops the stone key onto the ground.
<span onmouseover="playSound()"><i>
[[Move on|hallway-largedoor]]
</i></span>
<<set $rightkey to "true">><<audio "purchase" play>>
<</replace>><</timed>>
<<masteraudio stop>>
<span onmouseover="playSound()"><i>
[[Approach the tower|tower-approach]]
</i></span>Your goal is to reach the top of the tower
...
The heart and number within represents your life force, if it reaches zero your quest will be over.
...
if you are on a smaller device click the heart to open your inventory and see your equipment.
...
If you wish to learn combat - please speak with one of the guards.
...
<span onmouseover="playSound()">
[[Have a safe journey!|beginning]]
</span>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 0.9s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 40px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "kingattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "kingattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it.<<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $king_hp to $king_hp - 1>><<else>><<endif>>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $king_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $king_hp is 2>>"You little brat!!"<<endif>><<if $king_hp is 1>>"You'll pay for that!!"<<endif>><<if $king_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $king_hp is 0>>[[Continue|king battle main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|king battle main]]", "[[Enemy prepares an attack|king-block_attack]]", "[[Enemy Attacks!|king-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|king-block_attack]]", "[[Enemy Attacks!|king-block_attack]]")>><<endif>><<endif>><<unset $success>><<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $king_hp to $king_hp - 1>><<else>><<endif>>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $king_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $king_hp is 2>>"You little brat!!"<<endif>><<if $king_hp is 1>>"You'll pay for that!!"<<endif>><<if $king_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $king_hp is 0>>[[Continue|king battle main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|king battle main]]", "[[Enemy prepares an attack|king-block_attack]]", "[[Enemy Attacks!|king-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|king-block_attack]]", "[[Enemy Attacks!|king-block_attack]]")>><<endif>><<endif>><<unset $success>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-color:#fff;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "kingblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>king:<meter @value="$king_hp" min="0" max="3"></meter> <b>$king_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/12/king.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $king_hp is 3>>Enemy is not concerned<<endif>><<if $king_hp is 2>>Enemy is not concerned<<endif>><<if $king_hp is 1>>Enemy is panicking!<<endif>><<if $king_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|king battle main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|king battle main]]</i></span><<endif>><<set $mirror_hp to 3>> mirror:<meter @value="$mirror_hp" min="0" max="3"></meter> <b>$mirror_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
<i><<if $mirror_hp is 3>>"I saw this coming, if you think fighting me will change anything you're sadly mistaken."<<endif>><<if $mirror_hp is 2>>"Cracks only help me breath"<<endif>><<if $mirror_hp is 1>>"I'm at 1 health! :("<<endif>><<if $mirror_hp is 0>>"X("<<endif>></i><<if $mirror_hp is 0>><<goto "mirror_defeated">><<endif>><<if $health is 0>><<goto "mirror404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|mirror Attack Bar]]>><</button>><<button [[TALK|mirror-talk]]>>TALK<</button>>
<<button [[ITEM|mirror-item]]>>ITEM<</button>><<button [[ORB|mirror-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>
mirror:<meter @value="$mirror_hp" min="0" max="3"></meter> <b>$mirror_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "mirrorattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "mirrorattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
Talk
<span onmouseover="playSound()"><i>
[[FIGHT!|mirror-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
Item
<span onmouseover="playSound()"><i>
[[FIGHT!|mirror-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
Orb
<span onmouseover="playSound()"><i>
[[FIGHT!|mirror-battle-main]]
</i></span>Double-click this passage to edit it.
<<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $mirror_hp to $mirror_hp - 1>><<else>><<endif>>mirror:<meter @value="$mirror_hp" min="0" max="3"></meter> <b>$mirror_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $mirror_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $mirror_hp is 2>>"You little brat!!"<<endif>><<if $mirror_hp is 1>>"You'll pay for that!!"<<endif>><<if $mirror_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $mirror_hp is 0>>[[Continue|mirror-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|mirror-battle-main]]", "[[Enemy prepares an attack|mirror-block_attack]]", "[[Enemy Attacks!|mirror-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|mirror-block_attack]]", "[[Enemy Attacks!|mirror-block_attack]]")>><<endif>><<endif>><<unset $success>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-color:#fff;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "mirrorblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>
<<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $mirror_hp to $mirror_hp - 1>><<else>><<endif>>mirror:<meter @value="$mirror_hp" min="0" max="3"></meter> <b>$mirror_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $mirror_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $mirror_hp is 2>>"You little brat!!"<<endif>><<if $mirror_hp is 1>>"You'll pay for that!!"<<endif>><<if $mirror_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $mirror_hp is 0>>[[Continue|mirror-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|mirror-battle-main]]", "[[Enemy prepares an attack|mirror-block_attack]]", "[[Enemy Attacks!|mirror-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|mirror-block_attack]]", "[[Enemy Attacks!|mirror-block_attack]]")>><<endif>><<endif>><<unset $success>>
mirror:<meter @value="$mirror_hp" min="0" max="3"></meter> <b>$mirror_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $mirror_hp is 3>>Enemy is not concerned<<endif>><<if $mirror_hp is 2>>Enemy is not concerned<<endif>><<if $mirror_hp is 1>>Enemy is panicmirror!<<endif>><<if $mirror_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|mirror-battle-main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|mirror-battle-main]]</i></span><<endif>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/mirror.gif" alt="" width="400" height="400" />
"gg no re"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
Good work!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>So many books, it feels like it would take a lifetime to read them all.
You grab the nearest one from the shelf and flip though the pages.
To your surprise the pages are all blank!lich:<meter @value="$lich_hp" min="0" max="3"></meter> <b>$lich_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
<i><<if $lich_hp is 3>>"I'm at full health!"<<endif>><<if $lich_hp is 2>>"I'm at 2 health!"<<endif>><<if $lich_hp is 1>>"I'm at 1 health! :("<<endif>><<if $lich_hp is 0>>"X("<<endif>></i><<if $lich_hp is 0>><<goto "lich_defeated">><<endif>><<if $health is 0>><<goto "lich404">><<else>><<endif>>
<<if $drank is "drunk">><span onmouseover="playSound()"><i>
<<button [[Atcak!!|lich Attack Bar]]>>Tlak<</button>><<button [[TALekK|lich-talk]]>>TALekK<</button>>
<<button [[ieatm|lich-item]]>>ieatm<</button>><<button [[bOrB|lich-attackuseorb]]>>bOrB<</button>>
</i></span><<else>><span onmouseover="playSound()"><i>
<<button [[ATTACK|lich Attack Bar]]>><</button>><<button [[TALK|lich-talk]]>>TALK<</button>>
<<button [[ITEM|lich-item]]>>ITEM<</button>><<button [[ORB|lich-attackuseorb]]>>ORB<</button>>
</i></span><<endif>>
<script>
delete attackBar;
</script>
<<if $drank is "drunk">>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/goincrazy.gif");
background-size: cover;
}
</style><<endif>>Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it.Double-click this passage to edit it.<<set $lich_hp to 3>>lich:<meter @value="$lich_hp" min="0" max="3"></meter> <b>$lich_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/08/LichKing2.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|lich-battle-main]]
</i></span>
<<if $drank is "drunk">>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/goincrazy.gif");
background-size: cover;
}
</style><<endif>>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<i><<if $arrows_hp is 3>>"I'm at full health!"<<endif>><<if $arrows_hp is 2>>"I'm at 2 health!"<<endif>><<if $arrows_hp is 1>>"I'm at 1 health! :("<<endif>><<if $arrows_hp is 0>>"X("<<endif>></i><<if $arrows_hp is 0>><<goto "arrows_defeated">><<endif>><<if $health is 0>><<goto "arrows404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|arrows Attack Bar]]>><</button>><<button [[TALK|arrows-talk]]>>TALK<</button>>
<<button [[ITEM|arrows-item]]>>ITEM<</button>><<button [[ORB|arrows-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "arrowsattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "arrowsattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>
ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
The arrows say nothing back! Big surprise!
-
One of them embeds itself into your shoulder! Ouch!
<span onmouseover="playSound()"><i>
[[JUMP!|arrows attack intro]]
</i></span>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
The arrows say nothing back! Big surprise!
-
One of them embeds itself into your shoulder! Ouch!
<span onmouseover="playSound()"><i>
[[JUMP!|arrows attack intro]]
</i></span>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
The arrows say nothing back! Big surprise!
-
One of them embeds itself into your shoulder! Ouch!
<span onmouseover="playSound()"><i>
[[JUMP!|arrows attack intro]]
</i></span><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $arrows_hp to $arrows_hp - 1>><<else>><<endif>>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $arrows_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $arrows_hp is 2>>"You little brat!!"<<endif>><<if $arrows_hp is 1>>"You'll pay for that!!"<<endif>><<if $arrows_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $arrows_hp is 0>>[[Continue|arrows attack intro]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|arrows attack intro]]", "[[Enemy prepares an attack|arrows-block_attack]]", "[[Enemy Attacks!|arrows-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|arrows-block_attack]]", "[[Enemy Attacks!|arrows-block_attack]]")>><<endif>><<endif>><<unset $success>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-color:#fff;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "arrowsblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>
<<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $arrows_hp to $arrows_hp - 1>><<else>><<endif>>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $arrows_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $arrows_hp is 2>>"You little brat!!"<<endif>><<if $arrows_hp is 1>>"You'll pay for that!!"<<endif>><<if $arrows_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $arrows_hp is 0>>[[Continue|arrows attack intro]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|arrows attack intro]]", "[[Enemy prepares an attack|arrows-block_attack]]", "[[Enemy Attacks!|arrows-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|arrows-block_attack]]", "[[Enemy Attacks!|arrows-block_attack]]")>><<endif>><<endif>><<unset $success>>ARROWS!:<meter @value="$arrows_hp" min="0" max="3"></meter> <b>$arrows_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $arrows_hp is 3>>Enemy is not concerned<<endif>><<if $arrows_hp is 2>>Enemy is not concerned<<endif>><<if $arrows_hp is 1>>Enemy is panicarrows!<<endif>><<if $arrows_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|arrows attack intro]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|arrows attack intro]]</i></span><<endif>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2022/01/ARROWED.gif" alt="" width="400" height="400" />
!!!</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
there are no more arrows left.
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>thief:<meter @value="$thief_hp" min="0" max="3"></meter> <b>$thief_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
<i><<if $thief_hp is 3>>"I could hear you coming from a mile away"
The Purrglar is eying your pockets.
"tell you what, normally I snatch and grab without a second thought. I'll give a chance though because you look like you're new 'round here."
"Answer my riddles correctly and I'll let you pass. However, if you fail, I'll take that <<print $itemshop>> of yours off your hands. >:3"<<endif>><<if $thief_hp is 2>>"I'm at 2 health!"<<endif>><<if $thief_hp is 1>>"I'm at 1 health! :("<<endif>><<if $thief_hp is 0>>"X("<<endif>></i><<if $thief_hp is 0>><<goto "thief_defeated">><<endif>><<if $health is 0>><<goto "thief404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[RIDDLE|thief-riddle-main]]>><</button>><<button [[TALK|thief-talk]]>>TALK<</button>>
<<button [[ITEM|thief-item]]>>ITEM<</button>><<button [[ORB|thief-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
"Nice try, I'll be the one asking the questions here."
<span onmouseover="playSound()"><i>
[[Fine Fine lets get started|thief-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
The thief's eyes go wide when you start to look for an item to use.
<span onmouseover="playSound()"><i>
[[Fine Fine lets get started|thief-battle-main]]
</i></span><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/thief-new.gif" alt="" width="400" height="400" />
use Orb
<span onmouseover="playSound()"><i>
[[Fine Fine lets get started|thief-battle-main]]
</i></span>Double-click this passage to edit it.wizardcorrupt:<meter @value="$wizardcorrupt_hp" min="0" max="3"></meter> <b>$wizardcorrupt_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<i><<if $wizardcorrupt_hp is 3>>"I'm at full health!"<<endif>><<if $wizardcorrupt_hp is 2>>"I'm at 2 health!"<<endif>><<if $wizardcorrupt_hp is 1>>"I'm at 1 health! :("<<endif>><<if $wizardcorrupt_hp is 0>>"X("<<endif>></i><<if $wizardcorrupt_hp is 0>><<goto "wizardcorrupt_defeated">><<endif>><<if $health is 0>><<goto "wizardcorrupt404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|wizardcorrupt Attack Bar]]>><</button>><<button [[TALK|wizardcorrupt-talk]]>>TALK<</button>>
<<button [[ITEM|wizardcorrupt-item]]>>ITEM<</button>><<button [[ORB|wizardcorrupt-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>>wizardcorrupt:<meter @value="$wizardcorrupt_hp" min="0" max="3"></meter> <b>$wizardcorrupt_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker 1.6s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "wizardcorruptattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "wizardcorruptattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
You really think talking will save you?!?!
-
You really are pathetic.
<span onmouseover="playSound()"><i>
[[FIGHT|wizardcorrupt-battle-main]]
</i></span>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
No items to use!
<span onmouseover="playSound()"><i>
[[FIGHT|wizardcorrupt-battle-main]]
</i></span>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
The orb is gone.
<span onmouseover="playSound()"><i>
[[FIGHT|wizardcorrupt-battle-main]]
</i></span>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $wizardcorrupt_hp to $wizardcorrupt_hp - 1>><<else>><<endif>>wizardcorrupt:<meter @value="$wizardcorrupt_hp" min="0" max="3"></meter> <b>$wizardcorrupt_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $wizardcorrupt_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $wizardcorrupt_hp is 2>>"You little brat!!"<<endif>><<if $wizardcorrupt_hp is 1>>"You'll pay for that!!"<<endif>><<if $wizardcorrupt_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $wizardcorrupt_hp is 0>>[[Continue|wizardcorrupt-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|wizardcorrupt-battle-main]]", "[[Enemy prepares an attack|wizardcorrupt-block_attack]]", "[[Enemy Attacks!|wizardcorrupt-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|wizardcorrupt-block_attack]]", "[[Enemy Attacks!|wizardcorrupt-block_attack]]")>><<endif>><<endif>><<unset $success>>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-color:#fff;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "wizardcorruptblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>><<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $wizardcorrupt_hp to $wizardcorrupt_hp - 1>><<else>><<endif>>wizardcorrupt:<meter @value="$wizardcorrupt_hp" min="0" max="3"></meter> <b>$wizardcorrupt_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $wizardcorrupt_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $wizardcorrupt_hp is 2>>"You little brat!!"<<endif>><<if $wizardcorrupt_hp is 1>>"You'll pay for that!!"<<endif>><<if $wizardcorrupt_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $wizardcorrupt_hp is 0>>[[Continue|wizardcorrupt-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|wizardcorrupt-battle-main]]", "[[Enemy prepares an attack|wizardcorrupt-block_attack]]", "[[Enemy Attacks!|wizardcorrupt-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|wizardcorrupt-block_attack]]", "[[Enemy Attacks!|wizardcorrupt-block_attack]]")>><<endif>><<endif>><<unset $success>>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>>wizardcorrupt:<meter @value="$wizardcorrupt_hp" min="0" max="3"></meter> <b>$wizardcorrupt_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $wizardcorrupt_hp is 3>>Enemy is not concerned<<endif>><<if $wizardcorrupt_hp is 2>>Enemy is not concerned<<endif>><<if $wizardcorrupt_hp is 1>>Enemy is panicwizardcorrupt!<<endif>><<if $wizardcorrupt_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|wizardcorrupt-battle-main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|wizardcorrupt-battle-main]]</i></span><<endif>>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/CONSUMED2.gif" alt="" width="400" height="400" />
"gg no re"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/wizard-2.gif" alt="" width="400" height="400" />
Good work!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>
<<if $wizardcorrupt_hp is 3>><style>
body {
color: #f4f0ed;
background-color: #222;
overflow: auto;
}
#ui-bar {
background-color: #000000 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 2>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 1>><style>
body {
color: #f4f0ed;
background-color: #3b3734;
overflow: auto;
}
#ui-bar {
background-color: #3b3734 !important;
}
</style><<endif>><<if $wizardcorrupt_hp is 0>><<endif>>
<<masteraudio stop>><<audio "quietsong" volume 0.6 play loop>><<set $queen_hp to 3>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|queen-battle-main]]
</i></span>
<<masteraudio stop>><<audio "Statue-fight" volume 0.4 play loop>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
<i><<if $queen_hp is 3>>"I'm at full health!"<<endif>><<if $queen_hp is 2>>"I'm at 2 health!"<<endif>><<if $queen_hp is 1>>"I'm at 1 health! :("<<endif>><<if $queen_hp is 0>>"X("<<endif>></i><<if $queen_hp is 0>><<goto "queen_defeated">><<endif>><<if $health is 0>><<goto "queen404">><<else>><<endif>>
<span onmouseover="playSound()"><i>
<<button [[ATTACK|queen Attack Bar]]>><</button>><<button [[TALK|queen-talk]]>>TALK<</button>>
<<button [[ITEM|queen-item]]>>ITEM<</button>><<button [[ORB|queen-attackuseorb]]>>ORB<</button>>
</i></span>
<script>
delete attackBar;
</script>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
<<nobr>><style>
.attack-bar {
position: relative;
width: 300px;
height: 20px;
border: 2px solid #da7c36;
overflow: hidden;
align-content:center;
display: block;
margin-left: auto;
margin-right: auto;
}
.marker {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #da7c36;
animation: bounce-marker .8s ease-in-out infinite;
transform: rotate(45deg);
}
.hit-area {
position: absolute;
top: 0;
left: calc(50% - 100px);
width: 80px;
height: 20px;
opacity: 0.2;
background-color: #da7c36;
}
@keyframes bounce-marker {
0% { left: 0; }
50% { left: 280px; }
100% { left: 0; }
}
.attack-button {
position: block;
bottom: 0;
right: 0;
width:300px;
padding: 40px;
border-radius:60px;
font-size: 20px;
background-color: #da7c36;
color: #fff;
border: none;
cursor: pointer;
margin-top:10px;
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<script>
var attackBar = document.querySelector('.attack-bar');
var hitArea = document.createElement('div');
hitArea.classList.add('hit-area');
function randomPosition() {
var maxWidth = attackBar.offsetWidth - hitArea.offsetWidth;
var x = Math.floor(Math.random() * maxWidth);
hitArea.style.left = `${x}px`;
}
randomPosition();
attackBar.appendChild(hitArea);
var attackButton = document.querySelector('.attack-button');
function checkHit() {
var marker = document.querySelector('.marker');
var hitLeft = hitArea.offsetLeft;
var hitRight = hitArea.offsetLeft + hitArea.offsetWidth;
var markerLeft = marker.offsetLeft;
if (markerLeft >= hitLeft && markerLeft <= hitRight) {
attackButton.textContent = 'HIT!';
$.wiki('<<set $hit to 2>><<goto "queenattacksuccess">>')
} else {
attackButton.textContent = 'FAIL!';
$.wiki('<<set $hit to 1>><<goto "queenattackfail">>')
}
}
attackButton.addEventListener('click', checkHit);
</script>
<</nobr>>
<div class="attack-bar">
<div class="marker"></div>
</div>
<button class="attack-button">ATTACK</button>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><<set $queen_hp to 3>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|queen-battle-main]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><<set $queen_hp to 3>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|queen-battle-main]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><<set $queen_hp to 3>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
Test battle appears!
<span onmouseover="playSound()"><i>
[[FIGHT!|queen-battle-main]]
</i></span>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><<set $success to true>><<if $success is true>><<shakescreen 0.5s>><<set $queen_hp to $queen_hp - 1>><<else>><<endif>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $queen_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $queen_hp is 2>>"You little brat!!"<<endif>><<if $queen_hp is 1>>"You'll pay for that!!"<<endif>><<if $queen_hp is 0>>"X("<<endif>></i><<endif>><<audio "hit" play>>
<<if $queen_hp is 0>>[[Continue|queen-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|queen-battle-main]]", "[[Enemy prepares an attack|queen-block_attack]]", "[[Enemy Attacks!|queen-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|queen-block_attack]]", "[[Enemy Attacks!|queen-block_attack]]")>><<endif>><<endif>><<unset $success>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><style>
body {
display: flex;
justify-content: center;
align-items: center;
margin: 0;
}
#game-container {
position: relative;
width: 300px;
height: 300px;
border: none;
cursor: pointer;
user-select: none;
background-color:#fff;
}
.target {
position: absolute;
/* Customize the target appearance */
width: 50px;
height: 50px;
background-color: #da7c36;
border-radius: 0%;
animation: fadeIn .5s;
animation: fadeOut .1s;
}
#start-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
color:#da7c36;
}
#result-message {
position: absolute;
width: 100%;
text-align: center;
top: 50%;
transform: translateY(-50%);
padding-top:50px;
color:#da7c36;
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes fadeOut {
0% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<script>
var gameContainer = document.getElementById('game-container');
var startMessage = document.getElementById('start-message');
var resultMessage = document.getElementById('result-message');
// Customize these values as desired
var targetSpeed = 5;
var targetLifespan = 1500;
var targetsToWin = 5;
var gameTime = 3000;
var targetColor = '#da7c36';
var targetSpawnDelay = 300; // New customizable value for target appearance delay
var targetsClicked = 0;
var gameActive = false;
var stopExecution = false; // New variable to control execution flow
function startGame(event) {
if (gameActive) return;
gameActive = true;
startMessage.style.display = 'none';
resultMessage.style.display = 'none';
createTargets(targetsToWin);
}
function createTargets(numTargets) {
var createdTargets = 0;
var spawnTarget = () => {
if (createdTargets >= numTargets || stopExecution) return;
var target = document.createElement('div');
target.classList.add('target');
target.style.backgroundColor = targetColor;
target.style.left = `${Math.random() * (gameContainer.clientWidth - target.clientWidth)}px`;
target.style.top = `${Math.random() * (gameContainer.clientHeight - target.clientHeight)}px`;
target.onclick = (event) => {
event.stopPropagation();
targetsClicked++;
gameContainer.removeChild(target);
checkWinCondition();
};
gameContainer.appendChild(target);
setTimeout(() => {
if (gameContainer.contains(target) && !stopExecution) {
removeAllTargets();
showResult('You Lose!');
gameActive = false;
$.wiki('<<set $success to false>>')
}
}, targetLifespan);
createdTargets++;
if (!stopExecution) {
setTimeout(spawnTarget, targetSpawnDelay);
}
};
spawnTarget();
}
function removeAllTargets() {
var targets = gameContainer.querySelectorAll('.target');
targets.forEach(target => {
gameContainer.removeChild(target);
});
}
function checkWinCondition() {
if (targetsClicked === targetsToWin) {
showResult('You Win!');
gameActive = false;
$.wiki('<<set $success to true>>')
}
}
function showResult(message) {
resultMessage.textContent = message;
resultMessage.style.display = 'block';
startMessage.style.display = 'block';
targetsClicked = 0;
gameActive = false;
$.wiki('<<goto "queenblockresult">>')
}
// Listen to the :passagedisplay event to stop execution when the passage changes
document.addEventListener(':passagedisplay', function () {
stopExecution = true;
});
</script>
<div id="game-container" onclick="startGame(event)">
<div id="start-message">ATTACK INCOMING</div>
</div>
<div id="result-message"></div>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style><<set $success to false>><<if $success is true>><<shakescreen 0.5s>><<set $queen_hp to $queen_hp - 1>><<else>><<endif>>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
<<if $success is true>><h3><div id="bounce"><b><w>H</w><w>I</w><w>T</w><w>!</w></b></div></h3><<else>><h3><div id="bounce"><b><w>M</w><w>I</w><w>S</w><w>S</w></b></div></h3><<endif>>
<<if $success is true>><i><<if $queen_hp is 3>>"I'm gonna end this little quest real quick for ya"<<endif>><<if $queen_hp is 2>>"You little brat!!"<<endif>><<if $queen_hp is 1>>"You'll pay for that!!"<<endif>><<if $queen_hp is 0>>"X("<<endif>></i><<endif>><<audio "miss1" play>>
<<if $queen_hp is 0>>[[Continue|queen-battle-main]]<<else>><<if $success is true>><<print either("[[Enemy is stunned!|queen-battle-main]]", "[[Enemy prepares an attack|queen-block_attack]]", "[[Enemy Attacks!|queen-block_attack]]")>><<else>><<print either("[[Enemy prepares an attack|queen-block_attack]]", "[[Enemy Attacks!|queen-block_attack]]")>><<endif>><<endif>><<unset $success>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style>queen:<meter @value="$queen_hp" min="0" max="3"></meter> <b>$queen_hp hp</b>
<img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
<<if $success is true>><<audio "purchase" play>><<endif>>
<<if $success is false>><<audio "hit" play>><<set $health to $health - 1>><<shakescreen 0.5s>><<endif>>
<i><<if $queen_hp is 3>>Enemy is not concerned<<endif>><<if $queen_hp is 2>>Enemy is not concerned<<endif>><<if $queen_hp is 1>>Enemy is panicqueen!<<endif>><<if $queen_hp is 0>>"X("<<endif>></i>
<<if $success is true>><span onmouseover="playSound()"><i>[[Blocked!|queen-battle-main]]</i></span><<endif>><<if $success is false>><span onmouseover="playSound()"><i>[[OUCH! You take 1 Damage!|queen-battle-main]]</i></span><<endif>>
<style>
body {
background-image: url("https://www.coltonfloris.com/wp-content/uploads/2021/11/rain-bg-3.gif");
background-size: cover;
}
</style>@@#replace-me; <div class="fade-out"><img class="center" src="https://www.coltonfloris.com/wp-content/uploads/2021/11/new-queen.gif" alt="" width="400" height="400" />
"gg no re"</div> @@
<<timed 2s>><<replace '#replace-me'>>
<h3><div id="bounce"><b><w>V</w><w>I</w><w>C</w><w>T</w><w>O</w><w>R</w><w>Y</w><w>!</w></b></div></h3>
Good work!
<span onmouseover="playSound()"><i>
[[Continue|FLOOR 3]]
</i></span>
<</replace>><</timed>>
<<masteraudio stop>><<audio "heavyhit" play>>