<<set $Honor = 0>>
<<set $Adapt = 0>>
<<set $Duty = 0>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Prologue</h1>
It was a day like any other for Archibald: slaying foul beasts, saving damsels in distress, having more parades in his honor, he had seen it all before. As much as the enchanted forests and towering castles awed him once upon a time, the luster had faded long ago.
Verily, Archibald aspired for a new frontier, a new adventure to prove that he could overcome any trial thrown his way. Almost as if his thoughts were being declared for the world to hear, a strange old wizard approached him.
“Dost thou seeketh a new environs?” the man croaked out. Archibald did in fact seeketh a new environs, he seekethed it very, very much. The wizard offered to take him to a world far, far removed from their own, one full of evildoers ripe for conquering.
Archibald thought long and hard on it, and decided to…
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-between; width: 100%;">
<button class="option-button" onclick="SugarCube.Engine.play('Venture');">Venture</button>
<button class="option-button" onclick="SugarCube.Engine.play('Remain');">Remain</button>
</div>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Venture to another World</h1>
When would Archibald ever stumble upon an opportunity such as this? He swore upon his sword that he would fight these outlanders with every ounce of his strength and fury. The wizard chuckled, “Good…” he muttered. With a wave of his finger, the wizard threw Archibald through time and space into worlds unknown.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter I');">Continue</button>
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Remain in this World</h1>
As much as Archibald wanted something fresh and unexplored, he knew that deep within his heart his duty belonged to the world he knew. Grateful to the wizard, Archibald bid him farewell.
The wizard didn’t like that answer, “That’s not what the game is abouteth, Archie” he croaked once more. With a wave of his finger, he disintegrated Archibald, never to be seen again in any world.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Prologue');">Back to Start</button>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Chapter I</h1>
At some point during the journey Archibald had lost consciousness, and when he awoke he found himself face down in some revolting bile. Gathering himself, he stood up and assessed where he found himself: tunnels stretching everywhere he looked, scrawled with colorful scripts that he could not decipher.
Could the wizard not have transported him somewhere more pleasant? Thought Archibald. But then again, he thought, perhaps this is as pleasant as it got in this sordid realm. The thought made him shiver. Regardless, he pressed forward. This wasn’t quite like any dungeon he faced before, but it was close enough.
He emerged out of the dungeon into something seemingly more welcoming, and yet equally as unsettling just the same. Monoliths of steel and glass towered over him as far as he could see. He could not taste a hint of the magical or holy, this was wrong, horribly wrong.
Strangely dressed people milled about the area, and some started to take notice of Archibald, clearly not of their world. Some looked scared, some laughed, and some took out a strange black object and pointed it at him. To Archibald, it was clear that…
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Enemies');">They were enemies</button><button class="option-button" onclick="SugarCube.Engine.play('Victims');">They were victims</button><button class="option-button" onclick="SugarCube.Engine.play('Harmless');">They were harmless</button>
/*Duty Path: View them as Enemies*/
/*Honor Path: View them as Victims*/
/*Adaptation Path: View them as Harmless*/
</div><<set $Duty += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Enemies</h1>
“These strange people, with their garish attire and eyes that never lingered long enough for a proper stare-down, could only be minions of the sorcery that shaped this twisted place,” Archibald thought, steeling himself. Their laughter, their gasps, and the strange black boxes they wielded—these were tools of distraction, perhaps even weapons unknown to him.
He felt his grip tighten on his blade as he observed them. If this was to be a battle, he would meet it as he had countless others: with courage, fury, and steel in hand. Archibald resolved that these people were no ordinary folk; they were enemies, awaiting his strike.
However, Archibald knew better than to start a fight he could not win, his mentor taught him better than that. He had trained relentlessly and could wield a blade as if it were an extension of his body, but he knew when he was outnumbered. Despite the knowledge that he was not safe here, nobody had made a move. For the time being he would need to keep his head down and find out who was leading them, only then would this land be conquered.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter II');">Continue</button>
</div><<set $Honor += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Victims</h1>
“Poor souls,” Archibald muttered as he gazed upon the bewildered faces around him. There was a hollowness in their eyes, a lack of spark he had once seen in people under tyrannical rule. Perhaps they, too, were trapped, enslaved by some unseen power that drained the light from their lives and burdened them with these drab, lifeless garments.
His heart softened, and he gripped his sword with solemn resolve. If they were to be freed, if the chains of this unnatural world were to be shattered, he would be their liberator. Archibald resolved that these people were victims, awaiting his valor.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter II');">Continue</button>
</div><<set $Adapt += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Harmless</h1>
He paused, watching the onlookers around him. There was no immediate threat in their postures—only curiosity, surprise, and perhaps a bit of awe. Their strange habits of pointing and murmuring to one another were not dissimilar to children who had spotted a knight for the first time in their village square.
Archibald relaxed his stance, though he kept his guard. These were not soldiers or sorcerers; they were simply denizens of this strange world, neither friend nor foe. Archibald resolved that these people were harmless, too enmeshed in their own lives to interfere with his quest.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter II');">Continue</button>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Chapter II</h1>
Archibald tried as hard as he was able to learn of his new enemy, but he soon found his mind addled with a swirling mass of ideas and images from which no coherent thought could be ascertained. Was his enemy the president, the governor, or the “CEO?” Each person he asked gave a completely different answer and for a different reason. Archibald’s blade held no power if he did not know where to point it.
Keeping the testimonials in order was hard enough, but all the other strange workings of the new world certainly did not help. Steel chariots being pulled without a horse, flashing lights on every surface, and constant roars and whirs from creatures out of sight made his mind a cacophony. Attempting to get some quiet, Archibald found a small path of wilderness, but he could only enjoy it so much with the ever present monoliths towering in each direction, almost like talons grasping the very land he sat on.
As the sun set and Archibald’s mind threatened to sleep, a group of people clad in blue approached him. “We’ve been getting reports of a man in armor holding a sword from all around the city, looks like we’ve finally managed to track you down.” Their clothes were as strange as ever, but he would know guards anywhere. “Carrying a weapon in the streets is illegal, come with us to the station or else.” Archibald was met with a dilemma, should he…
<!-- Option Buttons -->
<div style="display: flex; gap: 10px;">
<button class="option-button" onclick="SugarCube.Engine.play('Fight cops');">Stand and Fight</button>
<button class="option-button" onclick="SugarCube.Engine.play('Flee cops');">Make a Tactical Retreat</button>
<button class="option-button" onclick="SugarCube.Engine.play('Follow');">Comply and Observe</button>
</div>
/*Duty Path: Enemies -> Fight*/
/*Honor Path: Victims -> Flee*/
/*Adaptation Path: Harmless -> Follow*/
</div><<set $Duty += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Fight Enemies</h1>
The enemy was onto him, and Archibald knew that he could not show weakness now. The guards, while unfamiliar in their ways, were no match for a knight trained in battle. Without a word, Archibald readied his blade, facing them with unwavering resolve.
In the blink of an eye, he struck down the first guard, his sword slicing through the cheap fabric that served as armor. The second guard, stunned by the sudden assault, fell swiftly as well. The final guard stumbled back, raising a strange, box-like weapon. A flash, a loud bang, and a ping as something struck Archibald’s armor, but he pressed forward, finishing his foes. The city’s eerie silence fell as he fled into the darkness, knowing his stand would not go unnoticed.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter III');">Continue</button>
</div><<set $Honor += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Flee from Guards</h1>
Archibald understood that these “guards” were merely doing their duty, misguided as it might be in this strange land. He could not accomplish his quest from within a prison cell, and his pride, though strong, yielded to a greater wisdom. With a final glance at the guards, he turned and fled.
He vaulted over a nearby hedge, his athletic training allowing him to outpace the clumsy pursuers. Strange, loud pops echoed behind him, startling him, yet he continued until he found a quiet alley. Pausing, he caught his breath and allowed himself a moment’s reprieve. There would be another way to fulfill his mission without needless bloodshed.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter III');">Continue</button>
</div><<set $Adapt += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Follow Officers</h1>
The law is the law, thought Archibald. Regardless of the fact that those rules were not made apparent to him, he certainly did not want to stir up any trouble. “Very well, but I have important business to attend to so let’s keep this brief.” With a nod he came with the guards and put up no fuss. Detainment had never held him for long, whether he ended up waiting out his sentence or breaking out was irrelevant.
At the guard house, Archibald was peppered with questions, to which Archibald answered with clear purpose. With each earnest answer from him, the guards seemed more and more perplexed. After the final question, a thick silence filled the room, and soon enough the chief muttered under his breath: “I don’t get paid enough for this… just let him go, he seems harmless.” and not too long after, they did just that. “You got lucky here,” the guard said from behind him, “the other precincts probably won’t be as lenient as us, try and stay outta view, alright?” Archibald walked the streets once more bereft of direction.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter III');">Continue</button>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Chapter III</h1>
Archibald wandered the streets in a daze, the clang of his armor swallowed by the din of the city around him. Lights blazed from every direction—towering structures of steel and glass casting harsh, unnatural glows, filling every corner of this world with a perpetual, feverish brightness. Exhaustion tugged at his muscles, and his mind whirled with unfamiliar sights, sounds, and devices that defied all reason. He’d faced dragons, endured the blackness of ancient dungeons, but this… this was different. This city was alive, throbbing with a pulse of its own, and yet utterly void of the magic or life he had always known.
Physically, Archibald ached from his encounters thus far, his armor feeling heavier with each step. He had thought his training prepared him for any battle, any land—but the crushing realization began to dawn on him that this world might demand more from him than his sword and valor could provide. His usual confidence wavered, his thoughts drifting between his unwavering knightly resolve and the doubt creeping at the edges of his mind. Was this world meant to test his honor, to force him to adapt, or perhaps, to conquer?
For a moment, he found a quieter alleyway and slumped against the cold, unyielding wall, letting out a frustrated breath. There was no horizon of familiar hills, no soft flickering torchlight to comfort him—only the relentless hum of the city. Every corner he turned brought him face to face with reminders of his foreignness, a knight adrift in a place that seemed like a waking nightmare.
Just as he began to wonder if his mission here was futile, he caught a figure out of the corner of his eye—a young woman watching him from a short distance away. Unlike the others who had either gawked or fled, she seemed… intrigued, yet cautious. Her expression held a mix of curiosity and skepticism, as if she were watching a strange animal who had wandered into her territory.
She approached slowly, hands held slightly up in a gesture that conveyed neither fear nor friendliness, but rather caution mixed with something else—a spark of interest.
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-between; width: 100%;">
<button class="option-button" onclick="SugarCube.Engine.play('Pawn');">Accept a Pawn</button>
<button class="option-button" onclick="SugarCube.Engine.play('Refuse');">Refuse Help</button>
<button class="option-button" onclick="SugarCube.Engine.play('Hear');">Hear Out</button>
</div>
/*Duty Path: Fight -> Accept a Pawn*/
/*Honor Path: Flee -> Refuse Help*/
/*Adaptation Path: Follow -> Hear Out*/
</div>
<!-- Minigame HTML Structure -->
<div id="game-info-minigame1">
<p>Smite your Enemies before they overpower you</p>
<p>Time Left: <span id="time-left-minigame1">10</span> seconds</p>
<p>Targets Left: <span id="targets-left-minigame1">12</span></p>
</div>
<div id="game-area-minigame1">
<!-- Targets will be dynamically generated here -->
<button class="click-target-minigame1 enemy-target" id="target-1-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-2-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-3-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-4-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-5-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-6-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-7-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-8-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-9-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-10-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-11-minigame1"></button>
<button class="click-target-minigame1 enemy-target" id="target-12-minigame1"></button>
</div>
<div id="button-container-minigame1">
<button id="start-game-button-minigame1">Start Attacking</button>
<button id="stop-game-button-minigame1">Stop Attacking</button>
</div>
<!-- Optional: Audio for click sound -->
<audio id="click-sound-minigame1" src="path_to_click_sound.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Game info section */
#game-info-minigame1 {
position: absolute;
top: 100px;
left: 520px;
text-align: center;
font-size: 18px;
color: #000000; /* Black text */
margin-bottom: 10px; /* Space between game info and game area */
}
/* Style for the instruction text */
#game-info-minigame1 p:first-of-type {
font-size: 18px; /* Adjust font size as desired */
font-weight: bold; /* Makes the instruction text stand out */
margin: 0 0 10px 0; /* Adds space below this line only */
color: #333333; /* Adjust color to match your theme */
}
/* Game area container */
#game-area-minigame1 {
position: absolute; /* Allows precise positioning */
top: 370px; /* Adjust this value to move the game area vertically */
left: 520px; /* Adjust this value to move the game area horizontally */
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
margin: 0; /* Remove default margin to avoid unintended shifts */
overflow: hidden; /* Prevent targets from overflowing */
border-radius: 10px; /* Optional: rounded corners for aesthetics */
}
/* Clickable targets styled as circles with background images */
.click-target-minigame1 {
position: absolute;
width: 65px; /* Fixed width for circular shape */
height: 65px; /* Fixed height for a perfect circle */
/* background-color: #d0403f; */ /* Removed background color */
border: none;
cursor: pointer;
font-size: 14px;
display: none; /* Initially hidden */
border-radius: 50%; /* Makes the targets circular */
justify-content: center;
align-items: center;
transition: transform 0.2s; /* Smooth hover effects */
}
/* Enemy target background image */
.enemy-target {
background-image: url('https://i.ibb.co/q7zQXk4/Cops.png');
background-size: cover; /* Ensures the image covers the entire button */
background-position: center; /* Centers the image */
background-repeat: no-repeat; /* Prevents the image from repeating */
}
/* Hover effect for targets */
.click-target-minigame1:hover {
transform: scale(1.1); /* Slightly enlarge the target on hover */
}
/* Hover effect for targets */
.click-target-minigame1:hover {
/* background-color: #a83232; */ /* Removed background color */
color: #ffffff; /* Keeps the text white on hover */
transform: scale(1.1); /* Slightly enlarge the target on hover */
}
/* Button container for Start and Stop buttons */
#button-container-minigame1 {
position: absolute;
top: 640px;
left: 650px;
text-align: center;
margin-top: 10px; /* Space between buttons and game area */
}
/* Position and style for Start and Stop buttons */
#start-game-button-minigame1,
#stop-game-button-minigame1 {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB; /* Blue color for buttons */
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-game-button-minigame1:hover,
#stop-game-button-minigame1:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
/* Disabled Start Button Styling */
#start-game-button-minigame1:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- JavaScript Functionality -->
<script>
(function() {
// Game variables
var timeLeft = 10; // Total time for the game
var targetsLeft = 12; // Total targets to click
var currentTarget = 1; // Keeps track of the current target to click
var countdownInterval;
var gameActive = false;
// Fixed size for targets based on CSS
var TARGET_SIZE = 65; // in pixels
// Function to start the game
function startMinigame() {
console.log("Start Minigame clicked.");
// Prevent starting the game if it's already active
if (gameActive) {
console.log("Game is already active. Ignoring start request.");
return;
}
// Set game variables
timeLeft = 10; // Set initial time
targetsLeft = 12; // Set initial targets
currentTarget = 1;
gameActive = true;
// Update UI elements
document.getElementById('time-left-minigame1').innerText = timeLeft;
document.getElementById('targets-left-minigame1').innerText = targetsLeft;
// Disable the Start button to prevent multiple clicks
var startButton = document.getElementById('start-game-button-minigame1');
startButton.disabled = true;
startButton.style.opacity = "0.6";
startButton.style.cursor = "not-allowed";
// Remove any existing targets
removeAllTargets();
// Create and show the first target
createAndShowTarget(currentTarget);
// Play click sound
var clickSound = document.getElementById('click-sound-minigame1');
if (clickSound) {
clickSound.currentTime = 0;
clickSound.play();
console.log("Click sound played.");
} else {
console.warn("Click sound element not found.");
}
// Start countdown timer
countdownInterval = setInterval(countdown, 1000);
console.log("Countdown timer started.");
}
// Countdown function
function countdown() {
if (timeLeft > 0) {
timeLeft--;
document.getElementById('time-left-minigame1').innerText = timeLeft;
console.log("Time Left:", timeLeft);
} else {
console.log("Time ran out.");
endMinigame(false, true); // End the game with failure due to time running out
}
}
// Function to create and show a target button
function createAndShowTarget(targetNumber) {
console.log("Creating and showing target:", targetNumber);
var gameArea = document.getElementById('game-area-minigame1');
var button = document.getElementById('target-' + targetNumber + '-minigame1');
if (button) {
// Calculate random positions within bounds using fixed TARGET_SIZE
var maxTop = gameArea.clientHeight - TARGET_SIZE;
var maxLeft = gameArea.clientWidth - TARGET_SIZE;
var randomTop = Math.floor(Math.random() * (maxTop + 1)); // +1 to include maxTop
var randomLeft = Math.floor(Math.random() * (maxLeft + 1)); // +1 to include maxLeft
button.style.top = randomTop + "px";
button.style.left = randomLeft + "px";
button.style.display = 'flex'; // Flex for centering
// Log the position inside the if block to ensure variables are defined
console.log("Target " + targetNumber + " positioned at (" + randomLeft + "px, " + randomTop + "px).");
} else {
console.warn("Button with ID target-" + targetNumber + "-minigame1 not found.");
}
}
// Function to remove all target buttons
function removeAllTargets() {
console.log("Removing all existing targets.");
var gameArea = document.getElementById('game-area-minigame1');
var existingTargets = gameArea.querySelectorAll('.click-target-minigame1');
existingTargets.forEach(function(target) {
target.style.display = 'none';
});
}
// Function to handle clicks on targets
function clickTarget(targetNumber) {
console.log("Target clicked:", targetNumber);
if (targetNumber === currentTarget && gameActive) {
// Play click sound
var clickSound = document.getElementById('click-sound-minigame1');
if (clickSound) {
clickSound.currentTime = 0;
clickSound.play();
console.log("Click sound played on target click.");
} else {
console.warn("Click sound element not found.");
}
// Decrement targets left
targetsLeft--;
document.getElementById('targets-left-minigame1').innerText = targetsLeft;
console.log("Targets Left:", targetsLeft);
// Hide the clicked target
var target = document.getElementById('target-' + targetNumber + '-minigame1');
if (target) {
target.style.display = 'none';
console.log("Target removed:", targetNumber);
}
// Move to the next target
currentTarget++;
if (targetsLeft === 0) {
console.log("All targets defeated. Success!");
endMinigame(true, false); // End the game with success
} else {
// Create and show the next target
createAndShowTarget(currentTarget);
}
} else {
console.log("Clicked target is not the current target or game is inactive.");
}
}
// Function to end the game
function endMinigame(success, ranOutOfTime) {
console.log("Ending game. Success:", success, "Ran Out Of Time:", ranOutOfTime);
clearInterval(countdownInterval);
gameActive = false;
// Remove all targets
removeAllTargets();
// Re-enable the Start button
var startButton = document.getElementById('start-game-button-minigame1');
startButton.disabled = false;
startButton.style.opacity = "1";
startButton.style.cursor = "pointer";
// Show result message or redirect to next passage
if (success) {
alert("You succeeded! You eliminated all enemies in time.");
// Link to the next passage in Twine
SugarCube.Engine.play('Fight'); // Replace with your actual passage name
} else if (ranOutOfTime) {
alert("Game over! You ran out of time.");
} else {
alert("You chose to stop the game.");
}
}
// Attach event listeners
document.getElementById('start-game-button-minigame1').addEventListener('click', startMinigame);
document.getElementById('stop-game-button-minigame1').addEventListener('click', function() {
if (gameActive) {
console.log("Stop Minigame clicked.");
endMinigame(false, false); // Stopping the game manually
} else {
console.log("Stop Minigame clicked, but game is not active.");
}
});
// Attach click handlers to targets
for (var i = 1; i <= 12; i++) {
(function(i) {
var targetButton = document.getElementById('target-' + i + '-minigame1');
if (targetButton) {
targetButton.addEventListener('click', function() {
clickTarget(i);
});
}
})(i);
}
})();
</script><<set $Duty += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Accept a Pawn</h1>
Archibald, still tense from his clash with the guards, instinctively straightened, his hand hovering near his sword. He regarded the woman with a calculating gaze as she drew closer, his mind shifting from defense to strategy.
The young woman raised an eyebrow, stopping a few paces away as she took in his battered armor and guarded stance. “Well, you don’t see that every day,” she remarked, folding her arms. “A knight in full armor, swinging at the cops. You’re either very bold… or very lost. Which is it?”
Archibald’s eyes glinted with cold pride. “I am neither lost nor fearful, though this land is foreign to me. I come from a place where valor is honored and justice served through strength. And who are you, woman, to question my purpose here?”
She gave a skeptical smile, her eyes studying him carefully. “Who am I? Just someone with a bit of common sense. And if you don’t want to spend the rest of your time here in a holding cell, you might want someone to help you make sense of this place. Name’s Jessica, and… well, I’m interested in what someone like you is doing here, though I’m not convinced I trust you yet.”
Archibald considered her words, his gaze steely. Trust was irrelevant. What mattered was the utility she might provide in this strange, chaotic world. This Jessica was no ally—merely a pawn, a means to an end. If she could guide him through the intricacies of this land’s politics and its faceless rulers, she would serve her purpose. When the time came to establish his rule, her usefulness would be reassessed. For now, he would play her game.
“Very well, Jessica,” he said, his tone measured, masking any hint of his true intentions. “Show me the ways of this land, and perhaps your assistance will be… rewarded in kind.”
Jessica nodded, still wary but intrigued, unaware of the role she had unwittingly accepted.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Monolith');">The Monolith's Purpose</button>
</div><<set $Honor += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Refuse Her Help</h1>
The woman’s eyes swept over him, taking in his out-of-place armor and the exhaustion etched into his face. “So,” she said, her voice edged with dry curiosity, “you’re running from the cops in full plate armor. Let me guess—you’re some kind of medieval reenactor who got a little too committed?”
Archibald managed a deep breath, standing straighter despite his fatigue. His gaze was steady, carrying the weight of his pride. “Thou art perceptive, yet mistaken. I am no mere ‘reenactor,’ nor am I beholden to this place or its customs. I am a knight, bound to honor and duty. My path may be unclear, but I do not seek aid from strangers.”
She raised an eyebrow, unconvinced but slightly impressed by his resolve. “Right. Because anyone wandering around here in armor, looking like they’ve stepped out of a history book, is clearly in full control.” She folded her arms, watching him intently. “Listen, I’m Jessica. I could help you… if you tell me what’s going on. But if you’re going to keep up this whole ‘knight from another world’ thing, well, you’re on your own.”
Archibald inclined his head, his expression softening only slightly as he regarded her. “Thou art generous with thy offer, Jessica, but I must decline. I am a knight, my place is to help those in need, I am in no position to accept help from the very people I am trying to save, my honor demands it.” Archibald turned away in, for the first time, shame. “What kind of a knight am I if I do not even know what evildoer I am protecting you from…?”
Jessica rolled her eyes but gave a faint, reluctant smile. “Alright, suit yourself, Sir Knight. Just don’t say I didn’t offer.” With a shrug, she turned away, leaving Archibald to face the city’s challenges alone, his resolve unwavering.
“Celestial Dynamics.” Jessica’s voice rang out once more from behind Archibald, startling him. “If you’re looking for an ‘evildoer’ you should probably start there.” She chuckled “Sorry, I’ll get out of your hair now, o Sir Knight.” Archibald couldn’t pretend that the information wasn’t welcome. “...Thank you.”
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Monolith');">The Monolith's Purpose</button>
</div><<set $Adapt += 1>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Hear Her Out</h1>
The woman tilted her head, a skeptical smirk pulling at her lips. “Looks like you had a rough time back there,” she observed, crossing her arms as she approached. “And, let me guess, you’re… not exactly from around here, are you?”
Archibald exhaled, his weariness evident, but his tone softened with an unusual humility. “Thou speakest truly. This world baffles me at every turn, and my patience frays as swiftly as my understanding. If thou dost mean to help, I would welcome thy guidance… for I must learn the ways of this place if I am to survive it.”
Jessica’s expression shifted, her skepticism giving way to something closer to curiosity and even respect. “Alright, fair enough. You don’t look like a guy who asks for directions very often,” she said, offering a faint, amused smile. “I’m Jessica, and I might be able to show you the ropes. But, you’ll have to be open-minded, alright? Things work differently here, and if you’re going to blend in, you’ll have to ditch some of that medieval-sounding language too.”
Archibald nodded, a hint of resolve flickering in his eyes. “Then teach me, Jessica. Show me how thy… how *your* people speak, how they act. I will listen, and I will learn, as I must.”
Jessica chuckled, though her tone was not unkind. “Alright, first lesson: it’s ‘you’ and ‘your,’ not ‘thou’ and ‘thy.’ And maybe… we could start with some clothes that don’t look like they came from a history exhibit.”
Archibald managed a small, almost hesitant smile. “As you say. I am ready to… adapt.”
Jessica nodded approvingly, now fully invested in the strange knight who was so willing to cast aside pride for practicality. Together, they set off, one step at a time, as Archibald began his journey into understanding and blending into this new world.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Monolith');">The Monolith's Purpose</button>
</div><!-- HTML Structure -->
<div id="flee-game-info">
<p>Use the arrow keys to flee from the guards until the time runs out</p>
<p>Time Left: <span id="flee-time-left">10</span> seconds</p>
</div>
<div id="flee-game-area">
<div id="flee-player"></div>
<div class="flee-guard guard-target" id="flee-guard-1" aria-label="Guard 1"></div>
<div class="flee-guard guard-target" id="flee-guard-2" aria-label="Guard 2"></div>
<div class="flee-guard guard-target" id="flee-guard-3" aria-label="Guard 3"></div>
</div>
<div id="flee-button-container">
<button id="start-flee-game-button">Start Evading</button>
<button id="stop-flee-game-button">Stop Evading</button>
</div>
<!-- Optional: Audio for click sound -->
<audio id="flee-click-sound" src="sounds/click.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Center the game area vertically and horizontally */
#passage {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
margin: 0;
flex-direction: column;
}
/* Game info section */
#flee-game-info {
position: absolute;
top: 100px;
left: 440px;
text-align: center;
font-size: 18px;
color: #000000;
margin-bottom: 20px;
}
#flee-game-info p:first-of-type {
font-weight: bold;
font-size: 18px;
margin: 0 0 10px 0;
color: #000000;
}
/* Game area container */
#flee-game-area {
position: absolute;
top: 370px;
left: 520px;
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
overflow: hidden;
border-radius: 10px; /* Optional: rounded corners for aesthetics */
}
/* Player styling */
#flee-player {
background-image: url('https://i.ibb.co/k52r3Fh/Archibald.png');
background-size: cover;
position: absolute;
width: 30px;
height: 30px;
background-color: #C0C0C0;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
}
/* Guard styling with background image */
.flee-guard {
position: absolute;
width: 30px;
height: 30px;
/* background-color: #FF0000; */ /* Removed background color */
border-radius: 50%;
cursor: pointer; /* Optional: indicates interactivity */
transition: transform 0.2s; /* Smooth hover effects */
}
/* Guard target background image */
.guard-target {
background-image: url('https://i.ibb.co/q7zQXk4/Cops.png');
background-size: cover; /* Ensures the image covers the entire div */
background-position: center; /* Centers the image */
background-repeat: no-repeat; /* Prevents the image from repeating */
}
/* Hover effect for guards */
.flee-guard:hover {
transform: scale(1.1); /* Slightly enlarge the guard on hover */
}
/* Button container for Start and Stop buttons */
#flee-button-container {
position: absolute;
top: 640px;
left: 650px;
margin-top: 10px;
text-align: center;
}
/* Position and style for Start and Stop buttons */
#start-flee-game-button,
#stop-flee-game-button {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB; /* Blue color for buttons */
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-flee-game-button:hover,
#stop-flee-game-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
/* Disabled Start Button Styling */
#start-flee-game-button:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- JavaScript Functionality -->
<script>
// Fleeing game variables
let fleeGameTimeLeft = 10;
let fleeGameInterval;
let fleeGameActive = false;
let fleePlayerSpeed = 15;
let fleeGuardSpeed = 1;
let gameEnded = false;
// DOM Elements
const fleePlayerElement = document.getElementById('flee-player');
const fleeGameArea = document.getElementById('flee-game-area');
const fleeGuards = Array.from(document.getElementsByClassName('flee-guard'));
const fleeTimeLeftDisplay = document.getElementById('flee-time-left');
const startFleeGameButton = document.getElementById('start-flee-game-button');
const stopFleeGameButton = document.getElementById('stop-flee-game-button');
// Audio Element for click sound
const fleeClickSound = document.getElementById('flee-click-sound');
// Player Position
let fleePlayerPosition = { x: 200, y: 150 };
// Guard initial positions
let fleeGuardPositions = [
{ x: 50, y: 0 },
{ x: 350, y: 0 },
{ x: 200, y: 0 }
];
// Function to start the fleeing game
function startFleeingGame() {
console.log("Start Fleeing Game clicked.");
// Prevent starting the game if it's already active
if (fleeGameActive) {
console.log("Fleeing Game is already active. Ignoring start request.");
return;
}
// Initialize game variables
fleeGameActive = true;
gameEnded = false;
fleeGameTimeLeft = 10;
fleeTimeLeftDisplay.innerText = fleeGameTimeLeft;
// Reset player position
fleePlayerPosition = { x: 200, y: 150 };
fleePlayerElement.style.top = `${fleePlayerPosition.y}px`;
fleePlayerElement.style.left = `${fleePlayerPosition.x}px`;
console.log(`Player position set to (${fleePlayerPosition.x}, ${fleePlayerPosition.y}).`);
// Reset guards' positions
fleeGuardPositions = [
{ x: 50, y: 0 },
{ x: 350, y: 0 },
{ x: 200, y: 0 }
];
fleeGuards.forEach((guard, index) => {
const pos = fleeGuardPositions[index];
guard.style.top = `${pos.y}px`;
guard.style.left = `${pos.x}px`;
console.log(`Guard ${index + 1} positioned at (${pos.x}, ${pos.y}).`);
});
// Disable the Start button to prevent multiple clicks
startFleeGameButton.disabled = true;
console.log("Start button disabled.");
// Play click sound for starting the game
if (fleeClickSound) {
fleeClickSound.currentTime = 0;
fleeClickSound.play();
console.log("Start game click sound played.");
}
// Start countdown timer
fleeGameInterval = setInterval(fleeingCountdown, 1000);
console.log("Countdown timer started.");
// Start moving guards
moveFleeingGuards();
// Add event listener for player movement
document.addEventListener('keydown', moveFleeingPlayer);
console.log("Player movement event listener added.");
}
// Countdown timer function for fleeing game
function fleeingCountdown() {
if (fleeGameTimeLeft > 0) {
fleeGameTimeLeft--;
fleeTimeLeftDisplay.innerText = fleeGameTimeLeft;
console.log(`Time Left: ${fleeGameTimeLeft} seconds`);
} else {
console.log("Time ran out.");
endFleeingGame(true);
}
}
// Function to move the Player using arrow keys
function moveFleeingPlayer(event) {
if (!fleeGameActive) return;
const playerRadius = fleePlayerElement.offsetWidth / 2;
const gameAreaWidth = fleeGameArea.clientWidth;
const gameAreaHeight = fleeGameArea.clientHeight;
switch (event.key) {
case 'ArrowUp':
fleePlayerPosition.y = Math.max(playerRadius, fleePlayerPosition.y - fleePlayerSpeed);
console.log("Player moved up.");
break;
case 'ArrowDown':
fleePlayerPosition.y = Math.min(gameAreaHeight - playerRadius, fleePlayerPosition.y + fleePlayerSpeed);
console.log("Player moved down.");
break;
case 'ArrowLeft':
fleePlayerPosition.x = Math.max(playerRadius, fleePlayerPosition.x - fleePlayerSpeed);
console.log("Player moved left.");
break;
case 'ArrowRight':
fleePlayerPosition.x = Math.min(gameAreaWidth - playerRadius, fleePlayerPosition.x + fleePlayerSpeed);
console.log("Player moved right.");
break;
default:
return; // Exit for other keys
}
// Update player's position in the DOM
fleePlayerElement.style.top = `${fleePlayerPosition.y}px`;
fleePlayerElement.style.left = `${fleePlayerPosition.x}px`;
console.log(`Player position updated to (${fleePlayerPosition.x}, ${fleePlayerPosition.y}).`);
// Check for collision after movement
checkFleeingCollision();
}
// Function to move Guards toward the Player with the same boundary constraints as the Player
function moveFleeingGuards() {
if (!fleeGameActive) return;
const guardRadius = fleeGuards[0].offsetWidth / 2;
const gameAreaWidth = fleeGameArea.clientWidth;
const gameAreaHeight = fleeGameArea.clientHeight;
fleeGuards.forEach((guard, index) => {
let pos = fleeGuardPositions[index];
// Move guard toward player position
if (pos.y < fleePlayerPosition.y) {
pos.y = Math.min(gameAreaHeight - guardRadius, pos.y + fleeGuardSpeed);
} else if (pos.y > fleePlayerPosition.y) {
pos.y = Math.max(guardRadius, pos.y - fleeGuardSpeed);
}
if (pos.x < fleePlayerPosition.x) {
pos.x = Math.min(gameAreaWidth - guardRadius, pos.x + fleeGuardSpeed);
} else if (pos.x > fleePlayerPosition.x) {
pos.x = Math.max(guardRadius, pos.x - fleeGuardSpeed);
}
// Update guard position in DOM
guard.style.top = `${pos.y}px`;
guard.style.left = `${pos.x}px`;
// Update position in the array
fleeGuardPositions[index] = pos;
console.log(`Guard ${index + 1} moved to (${pos.x}, ${pos.y}).`);
});
// Check for collision after moving guards
checkFleeingCollision();
// Continue moving guards if the game is active
if (fleeGameActive) requestAnimationFrame(moveFleeingGuards);
}
// Function to check for exact collision between Player and Guards (circle-based)
function checkFleeingCollision() {
const playerRect = fleePlayerElement.getBoundingClientRect();
const playerRadius = fleePlayerElement.offsetWidth / 2;
const playerCenter = {
x: playerRect.left + playerRadius,
y: playerRect.top + playerRadius
};
for (let guard of fleeGuards) {
const guardRect = guard.getBoundingClientRect();
const guardRadius = guard.offsetWidth / 2;
const guardCenter = {
x: guardRect.left + guardRadius,
y: guardRect.top + guardRadius
};
const dx = playerCenter.x - guardCenter.x;
const dy = playerCenter.y - guardCenter.y;
const distance = Math.sqrt(dx * dx + dy * dy);
if (distance < playerRadius + guardRadius) {
console.log("Player collided with a guard.");
endFleeingGame(false, true);
break;
}
}
}
// Function to end the fleeing game
function endFleeingGame(playerWon, wasCaught = false) {
if (gameEnded) return;
gameEnded = true;
console.log(`Ending Fleeing Game. Player Won: ${playerWon}, Was Caught: ${wasCaught}`);
fleeGameActive = false;
clearInterval(fleeGameInterval);
document.removeEventListener('keydown', moveFleeingPlayer);
console.log("Countdown timer cleared and event listener removed.");
// Re-enable the Start button
startFleeGameButton.disabled = false;
console.log("Start button re-enabled.");
// Play appropriate sound based on game outcome (only click sound at the beginning is desired)
// Since the user does not want additional audio, we skip playing success/failure sounds here.
// Show result message and redirect to next passage
if (playerWon) {
alert("You succeeded! You escaped the guards.");
console.log("Player succeeded and escaped.");
// Redirect to the next passage in Twine
SugarCube.Engine.play('Flee'); // Replace with your actual passage name
} else if (wasCaught) {
alert("Game over! You were caught.");
console.log("Player was caught by a guard.");
} else {
alert("You chose to stop the game.");
console.log("Player manually stopped the game.");
}
}
// Function to reset guards' positions (optional based on your game logic)
function removeAllGuards() {
console.log("Resetting guards' positions.");
fleeGuards.forEach((guard, index) => {
const pos = fleeGuardPositions[index];
guard.style.top = `${pos.y}px`;
guard.style.left = `${pos.x}px`;
console.log(`Guard ${index + 1} reset to (${pos.x}, ${pos.y}).`);
});
}
// Event listeners for Start and Stop game buttons
startFleeGameButton.onclick = startFleeingGame;
stopFleeGameButton.onclick = function() {
if (!gameEnded && fleeGameActive) {
console.log("Stop Fleeing Game clicked.");
endFleeingGame(false, false);
} else {
console.log("Stop Fleeing Game clicked, but game is not active.");
}
};
</script><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Monolith</h1>
After sharing some basic information about the city, Jessica led Archibald to a rooftop overlooking a building that towered even higher than most. She folded her arms, casting a wary eye on him as he took in the sight—a fortress of steel and glass that seemed to radiate power, casting long shadows over the city below.
“That,” Jessica said, her voice edged with distaste, “is the headquarters of Celestial Dynamics. They have their hands in just about everything—politics, technology, resources. And if you’re here to ‘save the city’ or whatever, you should know they aren’t exactly the good guys.”
Archibald stared at the building, his grip tightening on his sword. The idea of such power wielded without the guiding principles of honor or virtue set his teeth on edge. Yet, he could feel Jessica’s gaze on him, scrutinizing his reaction.
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Chapter IV');">Make your move</button>
</div><<set $gameWon = $gameWon or false>>
<<set $minigameStarted = $minigameStarted or false>>
<<if not $minigameStarted and not $gameWon>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Chapter IV</h1>
Archibald stood in the shadow of the Celestial Dynamics building. The surrounding skyline had stopped seeming so intimidating in his time here, but this one stood out from the rest. This one felt wrong, twisted, but unmistakably closer to his world than any of the rest. He felt something was wrong. No, he knew something was wrong; Jessica had made that much clear to him. Archibald readied his blade, business as usual.
As he burst through the doors, he found immediate resistance. The whole floor had weapons pointed at him as if they were expecting him to show up. Regardless, he knew in his heart that this was not a fight he could afford to back down from. “En Garde!”
<!-- Button inside #text-box -->
<div style="text-align: center; margin-top: 20px;">
<<button "Begin the Battle">>
<<set $minigameStarted = true>>
<<remove "#text-box">>
<<replace "#minigame-section">>
<!-- Minigame Section -->
<div id="minigame">
<!-- Game Info -->
<div id="game-info">
<p>Smite your Enemies before they overpower you</p>
<p>Time Left: <span id="time-left">10</span> seconds</p>
<p>Targets Left: <span id="targets-left">15</span></p>
</div>
<!-- Game Area -->
<div id="game-area">
<!-- Targets will be dynamically generated here -->
<<for _i = 1; _i <= 15; _i++>>
<button class="click-target" id="target-<<_i>>" aria-label="Enemy"></button>
<</for>>
</div>
<!-- Buttons -->
<div id="button-container">
<button id="start-game-button">Start Attacking</button>
<button id="stop-game-button">Stop Attacking</button>
</div>
<!-- Optional: Audio for click sound -->
<!-- Make sure to provide the correct path to your audio file -->
<audio id="click-sound" src="path_to_click_sound.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Center the minigame container */
#minigame {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
/* Game info section */
#game-info {
position: absolute;
top: 100px;
left: 520px;
text-align: center;
font-size: 18px;
color: #000000;
margin-bottom: 10px;
}
#game-info p:first-of-type {
font-size: 18px;
font-weight: bold;
margin: 0 0 10px 0;
color: #333333;
}
/* Game area container */
#game-area {
position: absolute;
top: 370px;
left: 520px;
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
margin: 0 auto;
overflow: hidden;
border-radius: 10px;
}
/* Clickable targets styled with the enemy image */
.click-target {
position: absolute;
width: 65px;
height: 65px;
border: none;
background-color: #FFD700;
background-image: url('https://i.ibb.co/0M3NmyP/Resistance.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
display: none;
border-radius: 50%;
transition: opacity 0.3s, transform 0.2s;
/* Styles to hide text */
font-size: 0;
line-height: 0;
color: transparent;
text-indent: -9999px;
overflow: hidden;
padding: 0;
margin: 0;
}
.click-target:hover {
background-color: #E6BE00;
opacity: 0.8;
transform: scale(1.1);
}
/* Button container for Start and Stop buttons */
#button-container {
position: absolute;
top: 640px;
left: 650px;
text-align: center;
margin-top: 10px;
}
/* Position and style for Start and Stop buttons */
#start-game-button,
#stop-game-button {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB;
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-game-button:hover,
#stop-game-button:hover {
background-color: #5a9bcf;
}
/* Disabled Start Button Styling */
#start-game-button:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- Initialize the Minigame -->
<script>
new Minigame('minigame', null, 15, 10);
</script>
</div>
<</replace>>
<</button>>
</div>
</div>
<</if>>
<!-- Minigame Placeholder -->
<div id="minigame-section"></div>
<<if $gameWon>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Chapter IV</h1>
Having dispatched his attackers, the way to the CEO’s throne room was clear. He climbed up the steps, one by one, his armor seemingly clanking louder and louder with each step up. As he rose higher and higher, the air became thicker and thicker, each floor he passed on the way to the top was compounding his trepidation more and more.
Every path has its end, however, and soon enough Archibald came face-to-face with his enemy, back turned, standing in front of some device unknown to Archibald. However, one thing was unmistakable: the device radiated with magic, his home.
“Villain!” Archibald announced, “I have been enlightened to your misdeeds! On my honor as a knight I shall strike you down!” The CEO turned, and appraised his intruder. However, the look upon his face was not of anger, nor fear, no, it was of wonder. “...You’re everything I hoped you’d be, Archibald.” The knight recoiled, this man expected this, no, he wanted this.
“Thou art the hooded man who sent me to this plane! What dost thou seek to accomplish?” The CEO’s wistful gaze hardened and met Archibald’s: “The same thing you did, Archie. I’m sick of this boring world and I think it needs to change,” he pointed to Archibald, “and I think that you and your world are the key.”
Archibald lowered his blade, trying to understand what exactly this man wanted. Sensing this confusion, the CEO continued: “Don’t give me that look, knight, you’ve seen how horrid this place is. There is no wonder, no excitement, no hope. But, if you and your kingdom invade you can fix this twisted world from its roots, make this place magical and strong like I’ve seen your world be.”
“I know I’m asking a lot, so I could just send you home for now with that device behind me, but I’ll always be here if you change your mind. What do you say, Sir Knight?” The CEO’s words weighed heavily on Archibald’s mind, the plan was beyond anything he could have imagined. Deliberating on it, Archibald realized what he must do and he…
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-between; width: 100%;">
<<if $Duty == 3>>
<button class="option-button" onclick="SugarCube.Engine.play('Ally');">Ally with him and invade</button>
<</if>>
<<if $Honor == 3>>
<button class="option-button" onclick="SugarCube.Engine.play('Appeal');">Appeal to his better judgment</button>
<</if>>
<<if $Adapt == 3>>
<button class="option-button" onclick="SugarCube.Engine.play('Stay');">Let the authorities handle it and stay here</button>
<</if>>
<button class="option-button" onclick="SugarCube.Engine.play('Strike');">Strike him down</button>
<button class="option-button" onclick="SugarCube.Engine.play('Home');">Ask to be sent home</button>
</div>
</div>
<</if>><<if $gameWonStrike is undefined>> <<set $gameWonStrike = false>>
<</if>>
<<if $minigameStartedStrike is undefined>> <<set $minigameStartedStrike = false>><</if>>
<!-- Pre-Minigame Content -->
<<if not $minigameStartedStrike and not $gameWonStrike>>
<style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Strike</h1>
“I’ve met many foul beasts along my travels, yet you put them all to shame! You would forsake the entire world for your twisted design? Don’t make me laugh! This ends right here, evildoer!” the CEO’s resolute gaze shattered into disbelief and then twisted into a snarl. “Fine. I can always try again, find another like you.” With a wave of his finger, he summoned a magical set of armor and weapons. “I learned my fair share of magic over there, don’t think I’ll go down without a fight, hero.”
<!-- Begin the Final Battle Button -->
<div style="text-align: center; margin-top: 20px;">
<<button "Begin the Final Battle">>
<<set $minigameStartedStrike = true>>
<<remove "#text-box">>
<<replace "#minigame-strike">>
<!-- Minigame Section -->
<div id="minigame-strike">
<!-- Game Info -->
<div id="game-info-strike">
<p>Smite your Enemy before they overpower you</p>
<p>Time Left: <span id="time-left-strike">10</span> seconds</p>
<p>Targets Left: <span id="targets-left-strike">16</span></p>
</div>
<!-- Game Area -->
<div id="game-area-strike">
<!-- Targets will be dynamically generated here -->
<<for _i = 1; _i <= 16; _i++>>
<button class="click-target-strike" id="target-<<_i>>-strike" aria-label="Enemy"></button>
<</for>>
</div>
<!-- Buttons -->
<div id="button-container-strike">
<button id="start-game-button-strike">Start Attacking</button>
<button id="stop-game-button-strike">Stop Attacking</button>
</div>
<!-- Optional: Audio for click sound -->
<!-- Make sure to provide the correct path to your audio file -->
<audio id="click-sound-strike" src="path_to_click_sound.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Center the minigame container */
#minigame-strike {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
/* Game info section */
#game-info-strike {
position: absolute;
top: 100px;
left: 520px;
text-align: center;
font-size: 18px;
color: #000000;
margin-bottom: 10px;
}
#game-info-strike p:first-of-type {
font-size: 18px;
font-weight: bold;
margin: 0 0 10px 0;
color: #333333;
}
/* Game area container */
#game-area-strike {
position: absolute;
top: 370px;
left: 520px;
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
margin: 0;
overflow: hidden;
border-radius: 10px;
}
/* Clickable targets styled with the enemy image */
.click-target-strike {
position: absolute;
width: 65px;
height: 65px;
border: none;
background-color: #58436c;
background-image: url('https://i.ibb.co/sVwYQk3/CEO.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
display: none;
border-radius: 50%;
transition: opacity 0.3s, transform 0.2s;
/* Styles to hide text */
font-size: 0;
line-height: 0;
color: transparent;
text-indent: -9999px;
overflow: hidden;
padding: 0;
margin: 0;
}
.click-target-strike:hover {
background-color: #201a3a;
opacity: 0.8;
transform: scale(1.1);
}
/* Button container for Start and Stop buttons */
#button-container-strike {
position: absolute;
top: 640px;
left: 650px;
text-align: center;
margin-top: 10px;
}
/* Position and style for Start and Stop buttons */
#start-game-button-strike,
#stop-game-button-strike {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB;
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-game-button-strike:hover,
#stop-game-button-strike:hover {
background-color: #5a9bcf;
}
/* Disabled Start Button Styling */
#start-game-button-strike:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- Initialize the Minigame -->
<script>
new Minigame('minigame-strike', null, 16, 10, 'gameWonStrike', '-strike');
</script>
</div>
<</replace>>
<</button>>
</div> <!-- Close the button container div -->
</div> <!-- Close the text-box div -->
<</if>>
<!-- Minigame Placeholder -->
<div id="minigame-strike"></div>
<!-- Post-Minigame Content -->
<<if $gameWonStrike>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Strike</h1>
The CEO fell to the ground, injured but still conscious. He attempted to get back on his feet, but his legs buckled from under him. Archibald approached the now bested villain before him, but before he could end things, the CEO cried out: “W-wait!” Archibald stopped and heard out his foe, there was no harm in it after all. If there lay an opportunity for him to pull a trick, the knight knew he could stop it in a single stroke of the blade. “If… if you kill me, then who’s going to operate your portal home, huh?! You’ll be stuck here in this shithole unless you stand down now!” Archibald could detect no deception in the man’s voice. As vile as he knew the man to be, he was Archibald’s only hope of seeing his beloved home again.
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-between; width: 100%;">
<button class="option-button" onclick="SugarCube.Engine.play('Finish the Fight');">Finish the Fight</button>
<button class="option-button" onclick="SugarCube.Engine.play('Accept Offer');">Accept Offer</button>
</div>
</div>
<</if>><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Finish the Fight</h1>
<<if $Honor >= 2>>
Archibald chuckled to himself. “Perhaps a lesser knight than I would be tempted by such an offer,” he raised his blade once more, “but I would sooner give my life than allow a villain such as thee mercy. Goodbye, CEO. For what it is worth, you fought well.” And in a blink, it was over.
Quiet filled the room in a flash. Archibald sheathed his blade, content with the knowledge of a job well done. He turned to the window overlooking the city that was now his home for what remained of his life. These steel monoliths as he called them were still a threat, this campaign had taught him that much. This CEO was the first, but Archibald knew in his heart that this would not be the last.
Archibald walked out of the entrance to Celestial Dynamics with a resolute gaze. He shuddered at the thought that this was only the beginning of a much longer road, but he took in a breath knowing that only he would be able to carry this out, this was his purpose. Jessica met him outside with a smile, but when Archibald explained what happened, her smile melted away.
“Oh… oh man we’ve gotta get you out of here before they figure out it was you! Maybe we could get you out of that armor or-” but Archibald stopped her there. “No, Jessica. I appreciate your support in this endeavor, but this war is not yours to wage. If I am to be labeled a criminal then so be it, I will fight as I always have.” Jessica seemed heartbroken, “No, Archie! You deserve to be happy I can tell you’re a good man, just-” but Archibald stopped her once more with a smile.
“It is alright, Jessica. This is what I do, after all. If my actions mean more people like you can be happy, that is more than enough. Goodbye, perhaps we will meet again.” And with a resolution now firmly burning in his heart, Archibald walked off into the sunset.
In the months following, more and more reports of a mysterious man in armor deposing CEOs and government officials cropped up left and right. Almost any evidence of corruption in someone higher up being made public was soon followed by their demise and the hand of Archibald’s blade.
In time, his face became a symbol of revolution and more and more rallied behind him. It was clear to Archibald now that this world was not so different from his at all, it had simply lacked someone like him to rise up and do what a hero needed to do. Archibald had come here in search of a new adventure, and he got exactly what he wanted and more.
<<elseif $Adapt >= 2>>
Archibald scoffed. “Even I, accustomed to lush fields and deep woods throughout my entire life, can clearly see the beauty in this strange world. The fact that you, in your many years in this world, failed to see that same beauty means you are beyond saving. Goodbye, CEO. For what it is worth, you fought well.” And in a blink, it was over.
Quiet filled the room in a flash. Archibald sheathed his blade, content with the knowledge of a job well done. He turned to the window overlooking the city that was now his home for what remained of his life. These steel monoliths as he called them were not imprisoning the people, they were giving them the chance to rise up higher than they could alone. As the sun set on the landscape outstretched before him, one truth became evident: this was worth protecting and Archibald swore that he would do his part in protecting it in whatever manner he could.
As Archibald stepped out from the entrance, who else would be there to meet him other than that woman who had shown a vital kindness just the night before? “Soooo? How’d it go, Sir Knight?” with a satisfaction he had not felt in some time, Archibald proudly proclaimed that “the villain is slain, you may rest easy.”
Jessica’s easy smile melted away as soon as the word “slain” exited the knight’s lips. “Wait you- you killed him?” “I- yes? Was I not supposed to?” With a dumbfounded look, Jessica gave a slow shake of her head back and forth. “Oh.” An awkward silence weighed heavy on the two. Jessica’s mind raced, but soon came to a stop. With a sigh, she said “Ok… It’ll probably take them a bit to figure out something’s wrong. If we get you out of that armor we could probably pretend you’re just some dude and wait until this all blows over.”
A regular citizen? It certainly would be a change of pace for the knight, but the idea of a normal life in this strange world seemed comforting. “Very well, I will follow your lead.” Weeks passed, Archibald, now going as Archie, had been living around Jessica’s apartment helping around wherever he was needed: tending to plants, hauling groceries, whatever it was he was happy to help. It certainly wasn’t as glamorous as he was used to, but it was fulfilling all the same, just in a new way.
Archie’s thoughts did drift to his lost home from time to time, but the longing never did last for long. Archie had come here in search of a new adventure, and even if it wasn’t in the form he expected, he got exactly what he had wanted. He was not a hero, not like before anyway, but he was happy.
<<elseif $Duty >= 2>>
Archibald’s face contorted in disgust. “Pathetic. The fact that you believe anyone from a world such as this has a place in mine is reason enough to silence you forever. As much as I wish to see my home once more,” Archibald raised his blade high, “I can rest easy knowing that you shall never sully it ever again. Goodbye, CEO. For what it is worth, you fought well.” And in a blink, it was over.
Quiet filled the room in a flash. Archibald sheathed his blade, content with the knowledge of a job well done. He turned to the window overlooking the city that he was now permanently stuck in. These steel monoliths as he called them were as horrid as ever. How many like this CEO laid in each one he spied? The thought made him shudder, this world was beyond saving, he thought.
As Archibald walked from the building, he was met by the woman he had met the night before. She met him outside with a smile, but when Archibald explained what happened, her smile melted away.
“Oh… oh man we’ve gotta get you out of here before they figure out it was you! Maybe we could get you out of that armor or-” but Archibald stopped her there. “Do you think me a coward, woman?” the woman was taken aback, “What did you just call me?-”
Archibald glared at her, unfazed by the interruption: “I may be stuck in this hellhole, but I can do one more thing for my homeland: I can ensure that the means that man used to get there in the first place shall never be replicated again. How far does Celestial Dynamics’ influence reach? Do they lord over other regions as well?”
Jessica was taken aback by the knight’s tone, he was not this abrasive yesterday. “You’re asking if they have other branches..?” Archibald rolled his eyes, “Whatever insipid name you give it, yes.” “I think they might have others, I don’t know where though-” Archibald interrupted her once more, “Then you’ve outlived your usefulness, woman. Out of my sight.”
With a march Archibald walked off, intent on discovering any remaining traces of Celestial Dynamics and snuffing out their influence for good. Archibald had made good progress, finding occasional regional branches and clearing them out all the same as he did the first, but soon enough his luck had caught up with him. As he lay bleeding, his final words spilled from his lips like venom: “Long live the kingdom…”
<</if>>
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Accept Offer</h1>
<<if $Honor >= 2>>
Archibald knew that the man was a threat that needed to be stopped, but what then? He questioned whether the kind of justice he could enact was even needed in this world. Would this CEO have been taken down by some other means if he had not arrived? Ultimately, if he was going to be a hero, it would have to be back home.
“...Very well. I shall let you live. Now, please take me back where I belong.” The CEO, finally managing some balance, shambled to his feet once more. “Good. You can see sense if nothing else.” With a wave of his finger, the portal swirled to life. “I’ll stay out of your hair, Archie, don’t worry. Now get out of here already, I’m finished one way or another.” But before Archibald stepped through the portal, he gave one last warning to the CEO: “If you continue down this path, I will not be able to stop you, but I have no doubt somebody else will. For everyone’s sake, including your own, I urge you to be better.” And with that, he was gone.
Back home, Archibald continued his usual routine, finally back in his element. Occasionally memories of that other world creeped into his mind, and whenever they arrived Archibald could feel nothing but shame. He lamented that he could not be better for Jessica and for everyone else who lived there, but he had to trust that things would be fine without him and that perhaps his words had an effect. That was all he could do, after all.
<<elseif $Adapt >= 2>>
“...Very well. If one thing has been made clear to me it is that I do not belong here. The same goes for you in my world, please understand.” The CEO, finally managing some balance, shambled to his feet once more. “Good. You can see sense if nothing else.” With a wave of his finger, the portal swirled to life. “I’ll stay out of your hair, Archie, don’t worry. Now get out of here already, I’m finished one way or another.” But before Archibald stepped through the portal, he gave one last word of advice to the CEO: “There is beauty here, CEO, you must simply go looking for it.” And with that, the knight was never seen again on this plane.
Archibald returned home, but it was never quite the same to him. The streets of the castle town now seemed so incredibly dull in comparison to the dazzling lights lining every corner of that city. Almost every waking moment his thoughts would drift to that other world and of the kind woman who had helped him. Every night, he mourned the life he could have had in that other world.
<<elseif $Duty >= 2>>
Archibald sheathed his blade. “You are right. I care not what happens to this world. Forgive me for attacking you, if I take umbrage with selfish peons desperate to be lorded over I should instead take up arms against the entire world. Open the portal and swear that you will never set foot through it again, or you will be cut down the moment I see you next.”
The CEO, finally managing some balance, shambled to his feet once more. “Good. You can see sense if nothing else-” Archibald’s glare cut the CEO like a knife. “Swear it.” With a whimper and a scowl, the CEO managed out a weak “I-I swear.” With a wave of his finger, the portal opened, glowing a marvelous green. With one last grimace looking back at what he was leaving behind, Archibald stepped through the portal and muttered “good riddance.” and he was never seen again on this plane.
What would become of Jessica, the CEO, nay the entire world he had just left behind? Not one of these questions crossed Archibald’s mind once. When returning, Archibald continued his adventuring days in the kingdom he held dear, his mind as far from that errant trip through space and time as he could manage. Some nights the memories threatened to echo once more in Archibald’s dreams, but he was happy to call them nothing but nightmares.
<</if>>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Home</h1>
"If one thing has been made apparent during my time here, it is that I do not belong. I came here because I believed I needed it, and in a way I did need it.” Archibald’s gaze turned downward. “I needed to be taught that this world certainly doesn’t need me. Please, show me the way home."
The CEO took a deep breath. “Ok, if that’s what you want.” with a wave of his finger the portal swirled to life. As Archibald took a step towards the portal, he turned and gave one last glance to the CEO. He was clearly disappointed, dejected even. Archibald felt as if he should say something…
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-around; gap: 10px; width: 100%;">
<<if $Duty >= 1 && $Duty < 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Forbid');">Have him swear never to come again</button>
<</if>>
<<if $Duty == 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Consider');">Assure him you’ll consider his offer</button>
<</if>>
<<if $Honor >= 1 && $Honor < 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Reprimand');">Reprimand him for his scheme</button>
<</if>>
<<if $Honor == 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Offer');">Offer to let him come</button>
<</if>>
<<if $Adapt >= 1 && $Adapt < 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Reassure');">Reassure him of his place here</button>
<</if>>
<<if $Adapt == 3>>
<button class="option-button" style="flex: 1; max-width: 200px; padding: 10px; font-size: 14px;" onclick="SugarCube.Engine.play('Visit');">Ask if you could come visit sometime</button>
<</if>>
</div>
<div style="display: flex; justify-content: space-around; gap: 10px; width: 100%;">
<button class="option-button" onclick="SugarCube.Engine.play('Goodbye');">Give a simple goodbye</button>
<button class="option-button" onclick="SugarCube.Engine.play('Stay Silent');">Stay silent</button>
</div>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Appeal</h1>
What the man before him was saying seemed utter nonsense at first, but as Archibald thought it over he knew that the CEO was right about one thing: The two were more alike than Archibald would have cared to admit. He understood that desire the CEO felt, even if it was in a much more twisted form than Archibald’s. He thought that maybe, just maybe, he could make this CEO understand why he is wrong, but Archibald would need to choose his words carefully or he may risk a battle…
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Better');">“You can be better than this!”</button>
<button class="option-button" onclick="SugarCube.Engine.play('Perfect');">“Dost thou believe my world to be perfect?”</button>
<button class="option-button" onclick="SugarCube.Engine.play('Understand');">“Thou doth not understand what it means to fight!”</button>
</div><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Stay </h1>
“I know not what will happen if I strike you down here, and I care not to find out.” Archibald sheathed his blade. “I want no part of this, but don’t think you’ll be able to enact your plan without resistance. Someone will stop you, someone always will.” The CEO scoffed. “Whatever, get out of here.” Archibald turned to leave, but the CEO had one last jab: “And don’t think you’ll get off scot-free from knocking out my employees.” Archibald turned back, unimpressed: “They attacked me first, I believe. I do in fact think I will get off ‘scot-free,’ CEO.”
As Archibald exited the Celestial Dynamics building, he looked up at the skyscrapers surrounding him. He had once looked upon these as horrid monuments, but now they seemed to envelop him like a warm hug. Archibald could get used to this place, perhaps he already had. A familiar face greeted him at the bottom: Jessica, the woman who had shown him kindness in a once unfamiliar world. “Sooo? How’d it go in there?” Archibald explained every detail, and his eventual choice. Jessica didn’t seem too disappointed, though. “Meh. It was a big ask anyway.” a mischievous smile made its way across Jessica’s face. “Buuut I assume that means you’re staying here?” Archibald nodded with a smile. “Yes. Having seen all of the good this world has to offer it would be a shame to leave it behind. I don’t even know if I could, to be frank.” “Niiice! So, what’s the plan, then? Are you gonna just bum around my apartment or what?” Archibald had not considered what came next. There were so many possibilities open to him, but one seemed more tempting than the others…
<!-- Option Buttons -->
<button class="option-button" onclick="SugarCube.Engine.play('Writer');">Become a Writer</button><button class="option-button" onclick="SugarCube.Engine.play('Officer');">Become an Officer</button><button class="option-button" onclick="SugarCube.Engine.play('Politican');">Become a Politician</button>
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Ally </h1>
“Finally,” Archibald let out with a sigh, “somebody with some sense in this godforsaken place. No… more than just sense, ambition.” Archibald put out his hand. “I like a man with ambition.” The CEO looked down in a brief stint of disbelief, but an excited smile ran across his face as he put his hand on the Knight’s. “Thank you! I wasn’t sure you’d agree, not so quickly anyway. But I’m happy to help with whatever you need!”
The plan was simple: Archibald would return to his kingdom’s court and convince them to invade, the CEO would provide entrance portals at key points, and one by one major cities would be overrun by blades and magic before they could even understand what was happening. It had gone as well as they could have asked for, the city that once trapped Archibald now laid bare at his feet. However, in the chaos of it all a figure approached him exasperated.
“Hey! What the hell are you doing?!” Archibald knew that voice… it was his unwitting peon, Jenniffer or something to that effect. “Ah… I remember you, peon. I give you my thanks: none of this would be possible without your assistance. Because you pointed me to that wonderful man in the tower I came to realize that this world was not a wasteland but an opportunity.” The woman stumbled back, grappling with the idea that this could be her fault. Her mind tossed and turned with any angle she could muster to change the knight’s mind. “I- I thought you were a knight! You know, honor? Defending the weak? How the hell does this fit into that?!”
Archibald chuckled. “Did you not see? This world was filled with sniveling, honorless husks with no purpose or direction. I am providing them a world of duty, where everyone has a purpose. It is a shame that nonbelievers must perish, but such is the cost of progress. Now, as a show of gratitude, I will allow you to serve as my right hand, not many would be granted such an opportunity.” The woman shook her head, a look of something between fear, anger, and sadness on her face. Archibald sighed. “A shame.” and with a decisive swing of his blade, the woman stood no longer. Archibald mourned, she would have made for a good servant. But time marches on, he thought.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Forbid</h1>
“Let us be clear, CEO.” The CEO turned his gaze to the knight. “As soon as I step through this portal, our worlds are never to cross again. If you or anyone else from here steps foot into my kingdom they shall swiftly learn the taste of steel. Are we clear?” The CEO looked away with a scowl. “...crystal.”
What would become of Jessica, the CEO, nay the entire world he had just left behind? Not one of these questions crossed Archibald’s mind once. When returning, Archibald continued his adventuring days in the kingdom he held dear, his mind as far from that errant trip through space and time as he could manage. Some nights the memories threatened to echo once more in Archibald’s dreams, but he was happy to call them nothing but nightmares.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Consider Offer</h1>
“I won’t pretend as if the offer wasn’t tempting, CEO.” The CEO looked back in surprise. “Keep in touch, my mind may yet change.” A grin creeped across the man’s face. “I’m counting on it, o Sir Knight.” The man gave a theatrical bow and Archibald stepped through the portal.
Once Archibald returned home he continued his adventuring days like he had never left. And yet, as he scoured the kingdom for more problems to solve, he could not help but wonder how much he was limiting the kingdom’s growth by keeping it separated from the other world. Yes, certainly, there were other countries that still needed to be conquered, but what comes next?
One night, as Archibald drifted to sleep, he spied a hooded figure entering his inn’s room. The initial wariness softened as the figure got closer, they had met before. “So? What’s your answer, o Sir Knight?”
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Reprimand</h1>
“I do not wish to leave you under a false pretense.” The CEO turned his gaze to the knight. “Your plan is utter lunacy and were it not for the fact that I am needed at home I may very well have cut you down right here. Do not do anything you may come to regret, CEO.” A scowl ran across the man’s face. “And who’s going to stop me?” Archibald chuckled. “I have met many a villain who thought the same.”
Archibald stepped through the portal and found himself back in the world he knew his whole life. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. His thoughts would occasionally drift back to the madman he left in the other world, but his worries never weighed on his mind for long. If he would not be the one to foil his plans, he was sure there would be someone else soon enough.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Offer Company</h1>
“Would you like to accompany me?” The CEO looked back in surprise. “You certainly don’t seem very happy here and you’ve already become quite learned of our ways, perhaps you’d like to stay permanently.” A smile bent across his face. “I- If you’d let me I’d love to!”
The two stepped through the portal and parted ways. Archibald never heard from the CEO since, and he chose to think of that as a sign that he had not gotten up to trouble. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. He would think about the other world from time to time, but he knew that he was happy here.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Reassure</h1>
“I know that feeling as if you don’t belong, that is the reason I came here, after all.” The CEO turned his gaze to the knight. “But I now know that I do belong, it simply took some searching. I believe you can do the same.” The CEO chuckled to himself. “Hmph. Doubt it.”
Archibald stepped through the portal and found himself back in the world he knew his whole life. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. However, Archibald lost many a night to wondering what life could have been like and how Jessica had been faring. Regardless, this was what he had chosen.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Visit</h1>
“I see no reason why this has to be goodbye.” The CEO turned his gaze to the knight. “This world has its charms, it would be a shame to leave it behind forever. If I ever catch you back in my home, I may ask you to take me back here if that is alright.” A smile bent along the CEO’s lips. “If you really want to, sure.”
Archibald stepped through the portal and found himself back in the world he knew his whole life. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. However, whenever peace managed to grip the kingdom for too long, Archibald would make sure to pay a visit to the other world who taught him his place in his own. In every trip he made, his first stop would always be to Jessica, the woman who showed him kindness when he needed it.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Stay Silent</h1>
Archibald could not think of anything to say. Without a word he stepped through the portal, never to be seen again in this world of steel. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. He would think about the other world from time to time, but he knew that he was happy here.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Goodbye</h1>
“Farewell, CEO. I hope you find some peace in this place.” The CEO turned to the knight and chuckled. “We’ll see.” Archibald stepped through the portal, never to be seen again in this world of steel. Archibald continued his adventuring days like he had never left, now more appreciative of his place in this world. He would think about the other world from time to time, but he knew that he was happy here.
</div><<if $gameWonUnderstand is undefined>> <<set $gameWonUnderstand = false>> <</if>>
<<if $minigameStartedUnderstand is undefined>> <<set $minigameStartedUnderstand = false>>
<</if>>
<!-- Pre-Minigame Content -->
<<if not $minigameStartedUnderstand and not $gameWonUnderstand>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Understand</h1>
“What dost thou know of battle, CEO?” the man’s eyebrow raised in confusion as Archibald spoke. “Battle is ugly, battle is cruel, and battle is, in most cases, unnecessary. If changing this world truly is thy wish, it need not be carried out with blades at the ready.” The CEO processed what the knight had to say, but eventually let out a sigh of disappointment. “I know what I’m proposing, Archie, and if you did you’d know just how necessary battle will be.” With a wave of his finger, he summoned a magical set of armor and weapons. “I learned my fair share of magic over there, don’t think I’ll go down without a fight, hero.”
<!-- Begin the Final Battle Button -->
<div style="text-align: center; margin-top: 20px;">
<<button "Begin the Final Battle">>
<<set $minigameStartedUnderstand = true>>
<<remove "#text-box">>
<<replace "#minigame-understand">>
<!-- Minigame Section -->
<div id="minigame-understand">
<!-- Game Info -->
<div id="game-info-understand">
<p>Smite your Enemy before they overpower you</p>
<p>Time Left: <span id="time-left-understand">10</span> seconds</p>
<p>Targets Left: <span id="targets-left-understand">16</span></p>
</div>
<!-- Game Area -->
<div id="game-area-understand">
<!-- Targets will be dynamically generated here -->
<<for _i = 1; _i <= 16; _i++>>
<button class="click-target-understand" id="target-<<_i>>-understand" aria-label="Enemy"></button>
<</for>>
</div>
<!-- Buttons -->
<div id="button-container-understand">
<button id="start-game-button-understand">Start Attacking</button>
<button id="stop-game-button-understand">Stop Attacking</button>
</div>
<!-- Optional: Audio for click sound -->
<!-- Make sure to provide the correct path to your audio file -->
<audio id="click-sound-understand" src="path_to_click_sound.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Center the minigame container */
#minigame-understand {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
/* Game info section */
#game-info-understand {
position: absolute;
top: 100px;
left: 520px;
text-align: center;
font-size: 18px;
color: #000000;
margin-bottom: 10px;
}
#game-info-understand p:first-of-type {
font-size: 18px;
font-weight: bold;
margin: 0 0 10px 0;
color: #333333;
}
/* Game area container */
#game-area-understand {
position: absolute;
top: 370px;
left: 520px;
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
margin: 0;
overflow: hidden;
border-radius: 10px;
}
/* Clickable targets styled with the enemy image */
.click-target-understand {
position: absolute;
width: 65px;
height: 65px;
border: none;
background-color: #58436c;
background-image: url('https://i.ibb.co/sVwYQk3/CEO.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
display: none;
border-radius: 50%;
transition: opacity 0.3s, transform 0.2s;
/* Styles to hide text */
font-size: 0;
line-height: 0;
color: transparent;
text-indent: -9999px;
overflow: hidden;
padding: 0;
margin: 0;
}
.click-target-understand:hover {
background-color: #201a3a;
opacity: 0.8;
transform: scale(1.1);
}
/* Button container for Start and Stop buttons */
#button-container-understand {
position: absolute;
top: 640px;
left: 650px;
text-align: center;
margin-top: 10px;
}
/* Position and style for Start and Stop buttons */
#start-game-button-understand,
#stop-game-button-understand {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB;
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-game-button-understand:hover,
#stop-game-button-understand:hover {
background-color: #5a9bcf;
}
/* Disabled Start Button Styling */
#start-game-button-understand:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- Initialize the Minigame -->
<script>
new Minigame('minigame-understand', null, 16, 10, 'gameWonUnderstand', '-understand');
</script>
</div> <!-- Close minigame-understand div -->
<</replace>>
<</button>>
</div> <!-- Close button container div -->
</div> <!-- Close text-box div -->
<</if>>
<!-- Minigame Placeholder -->
<div id="minigame-understand"></div>
<!-- Post-Minigame Content -->
<<if $gameWonUnderstand>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Failure</h1>
The CEO fell to the ground, injured but still conscious. He attempted to get back on his feet, but his legs buckled from under him. Archibald approached, trying to make sure the man was OK, but as he reached out the CEO he pulled one last trick. The CEO pointed his finger, swirling with magic, to the knight. But before he could fire off his attack, the CEO was cut down in an instant.
In the resulting quiet, Archibald lamented how his words could not break through to the now lifeless man before him. As his mourning came to an end, a question creeped into the knight’s mind: how would he get home? Archibald had certainly come into contact with magic many times, but he was no wizard. With the CEO dead, there would be nobody to operate the portal. Whether he liked it or not, Archibald was stuck in this world for the rest of his days.
As he walked out of the Celestial Dynamics building, he was met by Jessica wearing an easy smile. Archibald lamented that he could not match her enthusiasm. “Well, Sir Knight, how’d it go in there?” Archibald explained all that transpired in the building, including his failed attempt to reason with the CEO and his subsequent death. Jessica clearly did not see this the way the knight did. “Man, I’m really sorry about you not being able to go home, but hey! You’re a hero, man!”
Archibald shook his head. “No… I’m no hero. I could have saved him I could have made him see sense… but instead I cut him down. What kind of hero am I…” Jessica finally understood what Archibald had been feeling. She mulled it over in her head trying to figure out what to say. “Look, last night you complained that you weren’t a hero because you didn’t know who to fight. As soon as you learned you did what you needed to do and saved a lot of people. You need to stop moving the goalpost, man.” The words did not comfort Archibald completely, but it was enough for now.
In the weeks and months following, Archibald got a job at a renaissance fair as he lived with Jessica. He still lamented how that day went and what he could have done.
</div>
<</if>><style>
/* Button styles for the options */
.option-button {
background-color: #87CEEB; /* Base blue color */
color: white;
padding: 10px 20px;
margin: 10px 5px;
border: none;
cursor: pointer;
font-size: 1em;
display: inline-block;
text-align: center;
transition: background-color 0.3s;
}
.option-button:hover {
background-color: #5a9bcf; /* Darker blue on hover */
}
</style>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Perfect</h1>
“Do not think my world to be free of strife, CEO.” the man’s eyebrow raised in confusion as Archibald spoke, “monsters infest every inch of wilderness, lords oppress their serfs without recourse, the entire land comes under threat from some new dragon or what have you, dost thou truly wish to unleash that on this plane?” The CEO searched his mind for an answer, for a retort, but his search came up empty. “...No. I wouldn’t.” his posture sunk, realizing all he had done was for naught. Archibald wouldn’t let that stand: “Take heart, this world has its charms, you simply need to search harder for them.” The CEO stood up, taking the knight’s words to heart. “Maybe I will…”
“Well? Now what? Do you want to go home or what?” Archibald had not considered the question until now, but he knew in his heart that he wished to…
<!-- Option Buttons -->
<div style="display: flex; justify-content: space-between; width: 100%;">
<button class="option-button" onclick="SugarCube.Engine.play('Go Home');">Go Home</button>
<button class="option-button" onclick="SugarCube.Engine.play('Stay Here');">Stay Here</button>
</div>
</div><<if $gameWonBetter is undefined>> <<set $gameWonBetter = false>>
<</if>>
<<if $minigameStartedBetter is undefined>> <<set $minigameStartedBetter = false>> <</if>>
<!-- Pre-Minigame Content -->
<<if not $minigameStartedBetter and not $gameWonBetter>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Better</h1>
“Thou would not sacrifice the world, would thee? Think of all of the good that has happened to thee, would thou truly cast all of that aside? You can be better than this, this I know!” The CEO’s face contorted in annoyance, but then softened as he began to chuckle. “You’re right. I can do better, this world can do better, and I am going to make it better! If you’re gonna stand in my way then so be it!” With a wave of his finger, he summoned a magical set of armor and weapons. “I learned my fair share of magic over there, don’t think I’ll go down without a fight, hero.”
<!-- Begin the Final Battle Button -->
<div style="text-align: center; margin-top: 20px;">
<<button "Begin the Final Battle">>
<<set $minigameStartedBetter = true>>
<<remove "#text-box">>
<<replace "#minigame-better">>
<!-- Minigame Section -->
<div id="minigame-better">
<!-- Game Info -->
<div id="game-info-better">
<p>Smite your Enemy before they overpower you</p>
<p>Time Left: <span id="time-left-better">10</span> seconds</p>
<p>Targets Left: <span id="targets-left-better">16</span></p>
</div>
<!-- Game Area -->
<div id="game-area-better">
<!-- Targets will be dynamically generated here -->
<<for _i = 1; _i <= 16; _i++>>
<button class="click-target-better" id="target-<<_i>>-better" aria-label="Enemy"></button>
<</for>>
</div>
<!-- Buttons -->
<div id="button-container-better">
<button id="start-game-button-better">Start Attacking</button>
<button id="stop-game-button-better">Stop Attacking</button>
</div>
<!-- Optional: Audio for click sound -->
<!-- Make sure to provide the correct path to your audio file -->
<audio id="click-sound-better" src="path_to_click_sound.mp3" preload="auto"></audio>
<!-- CSS Styling -->
<style>
/* Center the minigame container */
#minigame-better {
max-width: 600px;
margin: 0 auto;
padding: 20px;
}
/* Game info section */
#game-info-better {
position: absolute;
top: 100px;
left: 520px;
text-align: center;
font-size: 18px;
color: #000000;
margin-bottom: 10px;
}
#game-info-better p:first-of-type {
font-size: 18px;
font-weight: bold;
margin: 0 0 10px 0;
color: #333333;
}
/* Game area container */
#game-area-better {
position: absolute;
top: 370px;
left: 520px;
width: 400px;
height: 300px;
border: 2px solid #333;
background-color: #f0f0f0;
margin: 0;
overflow: hidden;
border-radius: 10px;
}
/* Clickable targets styled with the enemy image */
.click-target-better {
position: absolute;
width: 65px;
height: 65px;
border: none;
background-color: #58436c;
background-image: url('https://i.ibb.co/sVwYQk3/CEO.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
cursor: pointer;
display: none;
border-radius: 50%;
transition: opacity 0.3s, transform 0.2s;
/* Styles to hide text */
font-size: 0;
line-height: 0;
color: transparent;
text-indent: -9999px;
overflow: hidden;
padding: 0;
margin: 0;
}
.click-target-better:hover {
background-color: #201a3a;
opacity: 0.8;
transform: scale(1.1);
}
/* Button container for Start and Stop buttons */
#button-container-better {
position: absolute;
top: 640px;
left: 650px;
text-align: center;
margin-top: 10px;
}
/* Position and style for Start and Stop buttons */
#start-game-button-better,
#stop-game-button-better {
margin: 5px;
padding: 10px 15px;
background-color: #87CEEB;
color: #ffffff;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 14px;
transition: background-color 0.3s;
}
#start-game-button-better:hover,
#stop-game-button-better:hover {
background-color: #5a9bcf;
}
/* Disabled Start Button Styling */
#start-game-button-better:disabled {
opacity: 0.6;
cursor: not-allowed;
}
</style>
<!-- Initialize the Minigame -->
<script>
new Minigame('minigame-better', null, 16, 10, 'gameWonBetter', '-better');
</script>
</div>
<</replace>>
<</button>>
</div> <!-- Close the button container div -->
</div> <!-- Close the text-box div -->
<</if>>
<!-- Minigame Placeholder -->
<div id="minigame-better"></div>
<!-- Post-Minigame Content -->
<<if $gameWonBetter>>
<div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Failure</h1>
The CEO fell to the ground, injured but still conscious. He attempted to get back on his feet, but his legs buckled from under him. Archibald approached, trying to make sure the man was OK, but as he reached out the CEO he pulled one last trick. The CEO pointed his finger, swirling with magic, to the knight. But before he could fire off his attack, the CEO was cut down in an instant.
In the resulting quiet, Archibald lamented how his words could not break through to the now lifeless man before him. As his mourning came to an end, a question creeped into the knight’s mind: how would he get home? Archibald had certainly come into contact with magic many times, but he was no wizard. With the CEO dead, there would be nobody to operate the portal. Whether he liked it or not, Archibald was stuck in this world for the rest of his days.
As he walked out of the Celestial Dynamics building, he was met by Jessica wearing an easy smile. Archibald lamented that he could not match her enthusiasm. “Well, Sir Knight, how’d it go in there?” Archibald explained all that transpired in the building, including his failed attempt to reason with the CEO and his subsequent death. Jessica clearly did not see this the way the knight did. “Man, I’m really sorry about you not being able to go home, but hey! You’re a hero, man!”
Archibald shook his head. “No… I’m no hero. I could have saved him I could have made him see sense… but instead I cut him down. What kind of hero am I…” Jessica finally understood what Archibald had been feeling. She mulled it over in her head trying to figure out what to say. “Look, last night you complained that you weren’t a hero because you didn’t know who to fight. As soon as you learned you did what you needed to do and saved a lot of people. You need to stop moving the goalpost, man.” The words did not comfort Archibald completely, but it was enough for now.
In the weeks and months following, Archibald got a job at a renaissance fair as he lived with Jessica. He still lamented how that day went and what he could have done.
</div>
<</if>><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Home</h1>
“Your duty remains here, and mine..” Archibald looked to the portal, “...remains there. As charming as this world has been, I have been made keenly aware of how unfit I am for it. It’s time I go home.” The CEO nodded and with a wave of his finger the portal swirled to life. Archibald started to step through, but had a realization: “There was a woman, Jessica was her name, she showed me kindness in this strange place. Tell her I thank her from the bottom of my heart.” The gears in the CEO’s head seemed to turn, “Jessica… Jessica… what, that chick from Twitter?” Archibald tilted his head. “(Of course she put you up to this)... I’ll uh, pass it along.” Archibald nodded in appreciation, and jumped through the portal.
Archibald continued his adventuring days as if he had never left, each day more incredible than the last. Some days his thoughts would drift back to the other world and each time they did his heart grew warmer. He considered it one of his greatest victories. One day, a letter showed up for him and the envelope was signed with a big letter J.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Stay</h1>
“I have done my part in my world, I believe it is time for a change. I will remain here and see what this world has to offer.” The CEO shrugged: “If you say so. The option remains open.” Archibald gave thanks and exited the building. As he returned to fresh air, he was met with a familiar face: Jessica, the woman from last night. “Had a feeling you’d do the right thing, o Sir Knight.” Archibald gave the woman a deep bow. “I cannot thank you enough, Jessica. Because of you I was able to do some real good in this place.” Jessica chuckled “You don’t need to bow, man. But I should really be thanking you. Those guys have been pains in my ass for years.” she tilted her head: “Soooo what now, Archibald? Gonna head home now?” Archibald shook his head. “No, I think I will stay here. This world has its charms.” “Sweet. You can bum at my apartment for now, I’ve been needing a housepet anyway.” She chuckled to herself, and the knight followed in tow.
The weeks and months following were quiet. Archibald, now going by just “Archie,” had settled into the mundanity of life well enough, but something in him still hungered to help those in need. Eventually Archie got a job at a shelter. It was far from glamorous, but it filled his heart all the same.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Writer</h1>
“I think… I will become a writer. If tales of my adventures provide enjoyment to others, that would be more than I could ever ask for.” Jessica gave him a warm smile: “Smart thinking. I’ll be looking forward to it.”
In the years following, the knight seen those strange few days had become unrecognizable from the man he became. Archibald, now going by “Archie,” had managed to turn those exploits of days long past into a successful career as a “fantasy” writer. He and Jessica remained good friends and met regularly to catch up. It took a few months but the CEO that had seemed so imposing long ago had been indicted on unethical labor practices. At some point Archie began to wonder whether those adventures with blade in hand were even real.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Officer</h1>
“I could not strike the CEO down as I am, the methods I had gotten accustomed to in my world clearly have no place in this one. I believe I will join with the guards I had seen before, if that is how I will enact justice then there can be no place better.” Jessica gave him a warm smile: “You’re taking this whole adapting thing seriously, huh? I can’t think of anything better for you.”
In the years following, the knight seen those strange few days had become unrecognizable from the man he became. Archibald, now going by “Archie,” had managed his police training in record time. It was only a matter of weeks before the CEO that had once seemed so imposing had been arrested by Archie’s hand on charges of unethical labor practices. He and Jessica remained good friends and met regularly to catch up. At some point Archie began to wonder whether those adventures with blade in hand were even real.
</div><div id="text-box">
<h1 style="font-size: 2em; font-weight: bold; text-align: center; margin-bottom: 20px;">Politican </h1>
“The CEO was right about one thing: this world needs to change. I have seen many hungry people on the street, people on top of the world but using their power for evil, somebody needs to step in and change it, I believe I could be that person.” Jessica gave him a warm smile: “Ooh, ambitious. I like it. I’m looking forward to president Archibald in a few years.”
In the years following, the knight seen those strange few days had become unrecognizable from the man he became. Archibald, now going by “Archie,” had risen the political ladder in record time, his knightly principles making him a popular choice among voters. Even with his elevated status, he and Jessica remained good friends and met regularly to catch up. At some point Archie began to wonder whether those adventures with blade in hand were even real.
</div>