{
<style>
@media screen and (max-width: 600px) {
.indent_one, .indent_two, .indent_four, .indent_five{
margin-left: 0px;
}
.fall_padding{
margin-top: 10px;
margin-bottom: 10px;
}
}
@media screen and (min-width: 600px) {
.indent_one{
margin-left: 30px;
}
.indent_two{
margin-left: 120px;
}
.indent_four{
margin-left: 240px;
}
.indent_five{
margin-left: 300px;
}
.fall_padding{
margin-top: 100px;
margin-bottom: 100px;
}
}
</style>
}(if: $sequence is 0)[The first thing I remember is |pain>[pain.]
|reminder>[(live: 4s)[<span class="dimLink fadeinoutslow">Touch blue text to continue.</span>(stop:)]]
{
(click: ?pain)[<script>playAudio("audio_big_break");</script>(set: $sequence to $sequence+1)(go-to: $currentPassage)]
(set: $depth to 0)
}
](elseif: $sequence is 1)[The first thing I remember is //pain//.
<span class="soft_error">ERROR ERROR</span>
<span class="indent_one">//Snapping, brittle, blooming// |exp1>[//pain.//]</span>(click: ?exp1)[
<span class="soft_error indent_one">DEATH CURSE DETECTED</span>
The pain fills my |exp2>[body.](click: ?exp2)[<script>playAudio("audio_big_break");</script>
<span class="soft_error">CORE DUMP INITIATED</span>
<span class="indent_one">//The pain is too big for my //|exp3>[//body.//]</span>(click: ?exp3)[
<span class="soft_error indent_one">//She's still under.//</span>
My body is a small cup under a |exp4>[waterfall.](click: ?exp4)[<script>playAudio("audio_big_break");</script>
<span class="soft_error">//There's no time.//</span>
<span class="indent_one">//There is no room for me in my |next>[body.]//</span> ]]]]
](elseif: $sequence is 2)[So I leave my |exp1>[body](click: ?exp1)[
<div class="soft_error fall_padding">Danger: Astral form reaching edge of tether.</div>
<span class="indent_two">|exp2>[and]</span>(click: ?exp2)[
<div class="soft_error fall_padding indent_one">Danger: Astral form no longer connected to body.</div><script>musicFade("music_float");</script>
<span class="indent_four">|next>[fall] </span>]]{
(set: $depth to $depth + 1)
<script>changeBackgroundExt("intro-wave1",".png");</script>
}](elseif: $sequence is 3)[|rep1>[I](click: ?exp1)[
<div class="fall_padding"></div>
<span class="indent_two">|exp2>[fall]</span>(click: ?exp2)[
<div class="indent_two soft_error fall_padding">Entering Surface Web</div>
<span class="indent_four">through the |next>[web.]</span>]] {
(live: 1.5s)[(stop:)(replace: ?rep1)[|rep2>[My spirit]] (live: 1.5s)[(stop:) (replace: ?rep2)[|exp1>[The bits of me beyond muscle and bone]]]]
(set: $depth to $depth + 1)
(set: $sequence to 99)
}
](elseif: $sequence is 100)[The web.
The place below the 'real' world.
A place of thoughts, spirits, and dreams.
|next>[All connected.]
(set: $sequence to 3)
](elseif: $sequence is 4)[{
<style>
body {
margin:0;
padding:0;
}
#canvas {
position:fixed;
top: 0;
left: 0;
width:100%;
height:100%;
}
.draggable {
min-width:10px;
margin: 5px;
padding: 5px;
height:30px;
position: relative;
}
.right {
margin-left:100px;
}
#wrap2 {
margin-top:-95px;
}
</style>
<script>
var canvas;
var ctx;
function setup(){
canvas = $("#canvas")[0];
ctx= $("#canvas")[0].getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
ctx.lineWidth = 1;
ctx.strokeStyle = "#bbb";
}
var herVis = false;
var thatVis = false;
var thisVis = false;
var themVis = false;
function connect(idOne, idTwo) {
var eFrom = $("#" + idOne);
var eTo = $("#" + idTwo);
eTo.css("visibility", "visible");
var pos1 = eFrom.offset();
var pos2 = eTo.offset();
ctx.beginPath();
ctx.moveTo(pos1.left + eFrom.width() + 20, pos1.top + eFrom.height() / 2 + 10);
ctx.lineTo(pos2.left + 2, pos2.top + eTo.height() / 2 + 10);
ctx.stroke();
revealLastLink(idTwo);
}
function connectLeft(idOne, idTwo) {
var eFrom = $("#" + idOne);
var eTo = $("#" + idTwo);
eTo.css("visibility", "visible");
var pos1 = eFrom.offset();
var pos2 = eTo.offset();
ctx.beginPath();
ctx.moveTo(pos1.left + 2, pos1.top + eFrom.height() / 2 + 10);
ctx.lineTo(pos2.left + eFrom.width() + 20, pos2.top + eTo.height() / 2 + 10);
ctx.stroke();
revealLastLink(idTwo);
}
function revealLastLink(id) {
if(id.includes("her"))
herVis = true;
if(id.includes("that"))
thatVis = true;
if(id.includes("this"))
thisVis = true;
if(id.includes("them"))
themVis = true;
if(herVis && thatVis && thisVis && themVis)
{
$("#last_link").css("visibility", "visible");
}
}
</script>
}<canvas id="canvas"></canvas><span style="z-index: 1;"><span id="he" class="draggable" style="left: 0; width: 50px;">|he>[he] </span >
<span id="they" class="draggable" style="left: 30%; width: 50px;">|they>[they] </span >
<span id="she" class="draggable" style="left: 60%; width: 50px; ">|she>[she]</span >
<span id="loves" class="draggable" style="left: 30%; width: 100px; visibility: hidden; color: #bbb;">|loves>[loves]</span>
<span id="it" class="draggable" style="left: 0; width: 50px;">|it>[it] </span>
<span id="last_link" class="draggable" style="z-index: 50; left: 25%; width: 100px; visibility: hidden;">|next>[This is the web.] </span><span id="know" class="draggable" style="left: 30%; width: 100px; visibility: hidden; color: #bbb;">|know>[know]</span><span id="fears" class="draggable" style="left: -20%; width: 100px; visibility: hidden; color: #bbb;">|fears>[fears] </span>
<span id="them" class="draggable" style="left: 60%; visibility: hidden;">them</span>
<span id="hates" class="draggable" style="left: 10%; width: 130px; visibility: hidden; color: #bbb;">|hates>[hates] </span>
<span id="her" class="draggable" style="left: 60%; visibility: hidden;">her</span>
<span id="that" class="draggable" style="left: 70%; visibility: hidden;">that</span>
<span id="this" class="draggable" style="left: 40%; visibility: hidden;">this</span>
</span><script>setup();</script>{
(click: ?he)[<script>connect("he", "loves");</script>]
(click: ?they)[<script>connect("they", "know");</script>]
(click: ?she)[<script>connectLeft("she", "hates");</script>]
(click: ?loves)[<script>connect("loves", "her");</script>]
(click: ?it)[<script>connect("it", "fears");</script>]
(click: ?know)[<script>connect("know", "this");</script>]
(click: ?fears)[<script>connect("fears", "them");</script>]
(click: ?hates)[<script>connectLeft("hates", "that");</script>]
(set: $depth to $depth + 1)
<script>changeBackgroundExt("intro-wave2",".png");</script>
}](elseif: $sequence is 5)[The connections make the Web.
<span class="soft_error">Entering Web</span>
I am connected
<span class="indent_one">to my |family>[family](click-replace: ?family)[<span class="del">~~family~~</span>].</span>
<span class="indent_two">to my |friends>[friends](click-replace: ?friends)[<span class="del">~~friends~~</span>].</span>
<span class="indent_four">to my |beliefs>[beliefs](click-replace: ?beliefs)[<span class="del">~~beliefs~~</span>].</span>
One by one the threads break,
<span class="indent_one">too weak to hold me |next>[at this velocity.]</span>
(set: $depth to $depth + 1)
](elseif: $sequence is 6)[Some threads |exp1>[snap cleanly](click: ?exp1)[
<span class="indent_one">but some are strong and deep, so instead</span>
<span class="indent_two">of them |exp2>[breaking]</span>(click: ?exp2)[
<span class="indent_four">they |next>[break off a piece of me.]</span>
<span class="soft_error indent_four">Core memory corrupted</span>]]
(set: $depth to $depth + 1)
<script>changeBackgroundExt("intro-wave3",".png");</script>
](elseif: $sequence is 7)[I lose
<span class="indent_one">my |past>[past](click-replace: ?past)[]</span>
<span class="indent_two">my |name>[name](click-replace: ?name)[]</span>
<span class="indent_four">my |mind>[mind](click-replace: ?mind)[|next>[c0r3 m3m0ry c0rUpted] </span>
Pieces of me drift in all directions as I fall deeper into the Web.]
(set: $depth to $depth + 1)
](elseif: $sequence is 8)[Deeper yet deeper
<span class="indent_one">The air is thick with threads</span>
<span class="indent_two">They become softer--melting together.</span>
<span class="indent_four">Strong connections are currents.</span>
<span class="indent_five">|next>[It is a web and an ocean.]</span>
<span class="indent_five soft_error">Entering Deep Web</span>
(set: $depth to $depth + 1)
<script>changeBackgroundExt("intro-wave4",".png");</script>
](elseif: $sequence is 9)[I cannot see
<span class="soft_error">no connection to hardware</span>
<span class="indent_one">I cannot think</span>
<span class="indent_one soft_error">no connection to brain</span>
<span class="indent_two">|next>[I can only fall]</span>
(set: $depth to $depth + 1)
](elseif: $sequence is 10)[Finally
(set: $depth to $depth + 1)
<script>changeBackground("");</script>
[[I land.->Open Sorcery 2]]
](set: $inIntro to true)(set: $noBox to true)<span class="red_header">Open Sorcery: Sea++</span>
<span style="font-family: Lucida Console; font-size: 0.9em;">|zimmer>[<span style="color: darkgray;">Log File 1</span>]
|zimmerDef>[]
|jessica>[<span style="color: slategray;">Log File 2</span>]
|jessicaDef>[]
|myst>[<span style="color: gray;">Log File 3</span>]
|mystDef>[
]
</span>
|land>[At the bottom of a dark sea, I lie among my broken dreams.](click: ?land)[(set: $noBox to false)(go-to: "Land")]
{
(display: "game values")
(display: "add dreams to memories")
(display: "add spells to spellbook")
(set: $noMenu to true)
<script>hideHUD("skip-intro");</script>
(set: $depth to 10)
(set: $sequence to 0)
(click-replace: ?myst)[<span style="color: gray;">Mystipedia Entry: The Web</span>(replace: ?mystDef)[<span class="dimLink fadeinoutslow" style="color: #aaa;">A subconscious network of human consciousness, composed of sympathetic-relationship threads that form a web-like structure. Spiritually located beneath the physical world.</span>]]
(click-replace: ?zimmer)[<span style="color: darkgray;">Heinrich Zimmer</span>(replace: ?zimmerDef)[<span class="dimLink fadeinoutslow" style="color: #ccc;">Limitless and immortal, the waters are the beginning and end of all things on earth.</span>]]
(click-replace: ?jessica)[<span style="color: slategray;">Jessica Katoff</span>(replace: ?jessicaDef)[<span class="dimLink fadeinoutslow" style="color: #eee;">she is made up of depths even the ocean couldn't fathom</span>]]
<script>musicFade("env_deep_sea");</script>
<script>changeBackground("");</script>
}{
(if: $initial_load is "loaded")[
(set: $previous_passage to $currentPassage)
(set: $currentPassage to (passage:)'s name)
(if: $die_next_screen is true)[(set: $die_next_screen to false)(go-to: "Death")]
(if: $ReturnFlag is "RETURNING")[
(display: "Load Achievements")
<script>savegame("MenuSave","currentPassage");</script>
](else:)[
<script>
var currentPassage = geth("currentPassage");
if(!currentPassage.includes("Menu")){
saveraw("inv_commands","");
}
</script>
]
]
}<script>hideHUD("skip-intro");</script>(if: $amif is true)[<span class="red_header">A Murder In Fairyland</span>
<span class="sub_header">Sugarplums and foul play.</span>](else:)[<span class="red_header" style="text-shadow: none;">Open Sorcery: Sea++</span>(if: $print_title is true)[(set: $print_title to false)
<span class="sub_header">You wake at the bottom of a dark ocean, surrounded by your broken dreams.</span>]]<span class="menu_items">(if: $CanResume is true)[
|return_to_game>[Resume Game]]
|Restart>[New Game]
|menu_restore>[Save || Load]
|menu_options>[Options]
|menu_othergames>[Other Games]{
(if: $noMenu is false)[(set: $noMenu to true)]
(if: $noMenu is false)[(set: $SkipSave to true)]
<style>
tw-story { margin: 0 auto 0 auto; }
tw-passage { text-align: center; }
</style>
(if: $amif is true)[
(set: $custom_colors to "fairyland")
<style>
.binaryColor1 { color: hotpink; }
.binaryColor2 { color: violet; }
.red_header { background-image: -webkit-gradient( linear, left top, right top, color-stop(0, purple), color-stop(0.5, #be5ec9), color-stop(0.8, #832952), color-stop(1, #b94949) ); }
</style>
](else:)[
<style>
.binaryColor1 { color: navy; }
.binaryColor2 { color: blue; }
</style>]
}</span><script>triggerMovingNumbers();</script><span id="binary1" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">0</span><span id="binary2" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor2">1</span><span id="binary3" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">1</span><span id="binary4" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">1</span><span id="binary5" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">0</span><span id="binary01" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">0</span><span id="binary02" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor1">0</span><span id="binary03" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor2">0</span><span id="binary04" style=" top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor2">0</span><span id="binary05" style="font-family: Hermetica; top: 20%; left: 20%; visibility: hidden;" class="binary binaryColor2"></span>(display: "menu_menu")
<div class="menu_frame"></div>{
(set: $selected_item to "")
<script>
seth("ExportMode",false);
function nextPage(){
var savePage = parseInt(getHarloweVariable("SavePage"), 10)+10;
setHarloweVariable("SavePage",savePage);
saveraw("SavePage",savePage);
refreshSaveDisplay();
}
function prevPage(){
var savePage = parseInt(getHarloweVariable("SavePage"), 10)-10;
setHarloweVariable("SavePage",savePage);
saveraw("SavePage",savePage);
refreshSaveDisplay();
}
function displayQuicksave() {
var quicksaveName = getQuicksave();
var ExportMode = geth("ExportMode");
var to_append = "<b>Quicksave:</b> ";
if(quicksaveName == "DELETED") to_append += "Empty";
else {
to_append += quicksaveName;
if(ExportMode) to_append += " <a id='loadquick' onclick='exportGame(this)' class='select-item'>Export</a>";
else to_append += " <a id='loadquick' onclick='loadQuicksave()' class='select-item'>Load</a> ";
}
to_append += "<br><span class='explain'>Press Ctrl-S during game.</span>";
to_append += " <br> ";
$(".menu_frame").append(to_append);
}
function displayAutosave() {
var autosaveName = getAutosave();
var ExportMode = geth("ExportMode");
if(autosaveName != "DELETED"){
var to_append = "<b>Autosave:</b> " + autosaveName;
if(ExportMode) to_append += " <a id='loadauto' onclick='exportGame(this)' class='select-item'>Export</a>";
else to_append += " <a id='loadauto' onclick='loadAutosave()' class='select-item'>Load</a> ";
to_append += " <br><br> ";
$(".menu_frame").append(to_append);
}
}
function displayExportMode() {
var ExportMode = geth("ExportMode");
var to_append = "<div style='position: fixed; left: 5px; bottom: 5px;'>Export Mode: ";
if(ExportMode) to_append += "<a id='export-text' onclick='toggleExport()' class='select-item'>ON</a> ";
else to_append += "<a id='export-text' onclick='toggleExport()' class='select-item'>OFF</a> ";
to_append += "</div>";
$(".menu_frame").append(to_append);
}
function toggleExport(e){
var ExportMode = geth("ExportMode");
if(ExportMode) seth("ExportMode",false);
else seth("ExportMode",true);
refreshSaveDisplay();
}
function refreshSaveDisplay(){
$(".menu_frame").html("");
displayQuicksave();
displayAutosave();
displaySaves();
displayExportMode();
}
function displaySaves() {
var seaSaves = getSeaSaves();
var ExportMode = geth("ExportMode");
var min = parseInt(getHarloweVariable("SavePage"), 10);
var max = min + 10;
for (var i = min; i < max; i++) {
var to_append = "";
to_append += "<b>Slot "+i+":</b> ";
if(seaSaves[i] == "DELETED"){
to_append += "<i>Empty</i>";
var menuSave = getHarloweVariable("MenuSave");
if(ExportMode) to_append += " <input type='file' id='file"+i+"' name='importfile' onchange='importGame(event)' />";
else if(menuSave != "DELETED") to_append += " <a id='save"+i+"' onclick='saveGame(this)' class='select-item'>Save</a>";
}
else{
if(ExportMode)
to_append += seaSaves[i] + " <a id='load"+i+"' onclick='exportGame(this)' class='select-item'>Export</a> ";
else
to_append += seaSaves[i] + " <a id='load"+i+"' onclick='loadGame(this)' class='select-item'>Load</a> <a id='delete"+i+"' onclick='deleteGame(this)' class='select-item'>Delete</a> <a id='confirmdelete"+i+"' onclick='confirmDeleteGame(this)' class='select-item' style='display: none; color: green;'>Confirm Delete</a> <a id='canceldelete"+i+"' onclick='cancelDeleteGame(this)' class='select-item' style='display: none; color: red;'>Cancel</a> ";
}
to_append += " <br><br> ";
$(".menu_frame").append(to_append);
}
var to_append = "";
if(min != 1) to_append += "<a onclick='prevPage()' class='select-item go_west'>Previous Page</a>";
if(min != 41) to_append += "<a onclick='nextPage()' class='select-item go_east'>Next Page</a>";
$(".menu_frame").append(to_append);
}
function saveGame(e){
var num = e.id.replace("save","");
replaceSaveWithMenuSave("Save "+num);
saveraw("Save "+num+"Inv",getraw("inv_commands"));
refreshSaveDisplay();
}
function loadGame(e){
var num = e.id.replace("load","");
saveraw("ReturnFlag","RETURNING");
saveraw("inv_commands",getraw("Save "+num+"Inv"));
loadgame("Save " + num);
}
function loadAutosave(){
saveraw("ReturnFlag","RETURNING");
saveraw("inv_commands",getraw("AutoInv"));
loadgame("Autosave");
}
function loadQuicksave(){
saveraw("ReturnFlag","RETURNING");
saveraw("inv_commands",getraw("QuickInv"));
loadgame("Quicksave");
}
function exportGame(e){
var num = e.id.replace("load","");
var title = "Save " + num;
var exportTitle = "Export " + num;
if(num == "quick") title = "Quicksave";
if(num == "auto") title = "Autosave";
var display_title = localStorage.getItem(storagePrefix("Saved Game Filename") + title);
console.log(display_title);
if(display_title.includes("-")) display_title = display_title.substring(display_title.indexOf("-")+1);
console.log("postcut",display_title);
var data = localStorage.getItem(storagePrefix("Saved Game") + title);
download(exportTitle+"-"+display_title+".sav",encodeSave(data));
refreshSaveDisplay();
}
function importGame(evt) {
var file = evt.target.files[0];
console.log(evt);
console.log(evt.target.id);
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
var num = evt.target.id.replace("file","");
var slotTitle = "Save "+num;
var name = theFile.name.replace(".sav","");
console.log(theFile.name);
console.log(slotTitle);
try {
localStorage.setItem(storagePrefix("Saved Game") + slotTitle, decodeSave(e.target.result));
localStorage.setItem(storagePrefix("Saved Game Filename") + slotTitle, name);
localStorage.setItem("saveFlag", "save");
} catch (e) {
alert("error saving game");
}
refreshSaveDisplay();
};
})(file);
reader.readAsText(file);
}
function encodeSave(savecontent){
savecontent = [... savecontent ].map(char => encrypt(char,3)).join('');
savecontent = encodeURIComponent(savecontent);
return savecontent;
}
function decodeSave(savecontent){
savecontent = decodeURIComponent(savecontent);
savecontent = [... savecontent ].map(char => decrypt(char,3)).join('');
return savecontent;
}
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
function deleteGame(e){
var num = e.id.replace("delete","");
$("#load"+num).css("display","none");
$("#delete"+num).css("display","none");
$("#confirmdelete"+num).css("display","inline");
$("#canceldelete"+num).css("display","inline");
}
function confirmDeleteGame(e){
var num = e.id.replace("confirmdelete","");
savegame("Save "+num,"DELETED");
refreshSaveDisplay();
}
function cancelDeleteGame(e){
var num = e.id.replace("canceldelete","");
$("#delete"+num).css("display","inline");
$("#load"+num).css("display","inline");
$("#confirmdelete"+num).css("display","none");
$("#canceldelete"+num).css("display","none");
}
var alphabet = [
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','Q','R',
'S','T','U','V','W','X',
'Y','Z','a','b','c','d',
'e','f','g','h','i','j',
'k','l','m','n','o','p',
'q','r','s','t','u','v',
'w','x','y','z'
];
function decrypt(char,shift) {
if (alphabet.includes(char))
{
var position = alphabet.indexOf(char);
var newPosition = (position - shift);
if(newPosition >= alphabet.length) newPosition = newPosition - alphabet.length;
if(newPosition < 0) newPosition = newPosition + alphabet.length;
return alphabet[newPosition]
}
else { return char }
}
function encrypt(char,shift) {
if (alphabet.includes(char))
{
var position = alphabet.indexOf(char);
var newPosition = (position + shift);
if(newPosition >= alphabet.length) newPosition = newPosition - alphabet.length;
if(newPosition < 0) newPosition = newPosition + alphabet.length;
return alphabet[newPosition]
}
else { return char }
}
refreshSaveDisplay();
</script>
<style> #speed-run-toggle {visibility: hidden; } </style>
(display: "return from menu")
}{
(if: $depth is 0)[<style>html{ background: #A9A9A9; } </style>]
(elseif: $depth is 1)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #88c5fc, #29659b) no-repeat center center fixed; }
html{ background: #29659b; } </style>]
(elseif: $depth is 2)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #87c4fb, #28649a) no-repeat center center fixed; }
html{ background: #28649a; } </style>]
(elseif: $depth is 3)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #77b4eb, #18548a) no-repeat center center fixed; }
html{ background: #18548a; } </style>]
(elseif: $depth is 4)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #76b3ea, #175389) no-repeat center center fixed; }
html{ background: #175389; } </style>]
(elseif: $depth is 5)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #66a3da, #074379) no-repeat center center fixed; }
html{ background: #074379; } </style>]
(elseif: $depth is 6)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #5592c9, #063268) no-repeat center center fixed; }
html{ background: #063268; } </style>]
(elseif: $depth is 7)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #052157, #4481b8) no-repeat center center fixed; }
html{ background: #4481b8; } </style>]
(elseif: $depth is 7)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #152157, #134154) no-repeat center center fixed; }
html{ background: #134154; } </style>]
(elseif: $depth is 8)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #041046, #023043) no-repeat center center fixed; }
html{ background: #023043; } </style>]
(elseif: $depth is 8)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #041046, #226096) no-repeat center center fixed; }
html{ background: #226096; } </style>]
(elseif: $depth is 9)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #041046, #032044) no-repeat center center fixed; }
html{ background: #032044; } </style>]
(elseif: $depth is 10)[<style>body{ background: radial-gradient(ellipse at 10% 10%, #011011, #012034) no-repeat center center fixed; }
html{ background: #012034; } </style>]
(elseif: $depth is 11)[<style>html{ background: black; }</style>]
(if: $depth < 7)[
(set: $ambiance to "light")
<style>
a, tw-link, .enchantment-link, .visited { color: navy; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: blue;}
</style>
](else:)[
(set: $ambiance to "dark")
<style>
html, body { color: #E6E6E6; }
a, tw-link, .enchantment-link, .visited { color: deepskyblue; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #749cf4; }
</style>
]
<style>
.dir , #bottom-cover, .nav_button {
background-color: transparent;
background: transparent;
}
tw-passage {
border: 1px solid #777;
padding: 0.01em 5px 30px 10px;
border-radius: 6px;
margin-bottom: 10px;
text-shadow: none;
}
</style>
(if: $in_form is true)[(set: $ambiance to "light")
<style>
html, body { color: black; }
body { color: black; background-color: transparent; }
a, tw-link, .enchantment-link, .visited{ color: #888; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: black; }
</style>
](elseif: $custom_colors is "fiddler_green")[(set: $ambiance to "dark")
<style>
html, body { background: #013220; color: #E6E6E6; }
a, tw-link, .enchantment-link, .visited{ color: springgreen; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: mediumspringgreen; }
</style>
](elseif: $custom_colors is "fiddler_edge")[(set: $ambiance to "dark")
<style>
html { background: rgba(193,195,162,1); }
body { background: linear-gradient(90deg, rgba(1,50,32,1) 0%, rgba(1,50,32,1) 87%, rgba(193,195,162,1) 100%); color: #E6E6E6; }
a, tw-link, .enchantment-link, .visited{ color: springgreen; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: mediumspringgreen; }
div#health-display, #menu-contents .enchantment-link, .go_east tw-expression { color: saddlebrown; }
div:hover#health-display, #menu-contents .enchantment-link:hover, .go_east tw-expression:hover { color: brown; }
</style>
](elseif: $custom_colors is "fiddler_waste")[(set: $ambiance to "light")
<style>
html { background: rgba(193,195,162,1); }
body{ background: linear-gradient(90deg, rgba(1,50,32,1) 0%, rgba(193,195,162,1) 13%, rgba(193,195,162,1) 100%); color: black; }
a, tw-link, .enchantment-link, .visited{ color: saddlebrown; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: brown; }
.go_west tw-expression { color: springgreen; }
.go_west tw-expression:hover { color: mediumspringgreen; }
</style>
](elseif: $inGame is true and $opponent is "CYCL3")[ (set: $ambiance to "dark")
<style>
body { background: #000 !important; }
a, tw-link, .enchantment-link, .visited{ color: lime; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: lightgreen; }
</style>
](elseif: $inGame is true and $opponent is "FAE GAMBLER")[ (set: $ambiance to "dark")
<style>
html, body, .dir , #bottom-cover, #nav-container, .nav_button { background: #000; }
a, tw-link, .enchantment-link, .visited { color: mediumpurple; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #9370DB;}
tw-passage { border:none; }
</style>
](elseif: $custom_colors is "lsd")[(set: $ambiance to "light")
<style>
html{ color: black; }
body { color: black; background-color: lightgoldenrodyellow; }
a, tw-link, .enchantment-link, .visited{ color: firebrick; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darksalmon; }
.pisces{ color: cornflowerblue; }
</style>
](elseif: $custom_colors is "olympus")[(set: $ambiance to "light")
<style>
html{ color: black; background: whitesmoke; }
body { color: black; background: whitesmoke; }
a, tw-link, .enchantment-link, .visited{ color: navy; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: steelblue; }
.pisces{ color: cornflowerblue; }
</style>
](elseif: $custom_colors is "future")[(set: $ambiance to "dark")
<style>
html{ color: whitesmoke; }
body { color: whitesmoke; background-color: black; }
</style>
](elseif: $custom_colors is "atlantix")[(set: $ambiance to "dark")
<style>
html{ color: whitesmoke; }
a, tw-link, .enchantment-link, .visited{ color: blueviolet; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darkviolet; }
html, body { background: #0d0331; }
</style>
](elseif: $custom_colors is "atlantix library")[(set: $ambiance to "dark")
<style>
html{ color: whitesmoke; }
a, tw-link, .enchantment-link, .visited{ color: blueviolet; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darkviolet; }
html, body { background: #220f4f; }
</style>
](elseif: $custom_colors is "spells and things")[ (set: $ambiance to "light")
<style>
html{ color: black; background: #ffe5b4; }
body { color: black; background: radial-gradient(ellipse at 10% 10%, #fffdc0, #da98b4) no-repeat center center fixed; }
a, tw-link, .enchantment-link, .visited{ color: deeppink; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: hotpink; }
.pisces{ color: cornflowerblue; }
</style>
](elseif: $custom_colors is "university")[ (set: $ambiance to "light")
<style>
html{ color: black; background: #e5dfc8; }
body { color: black; background: #e5dfc8; }
a, tw-link, .enchantment-link, .visited{ color: crimson; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darkorange; }
.pisces{ color: cornflowerblue; }
</style>
](elseif: $custom_colors is "fairyland")[(set: $ambiance to "light")
<style>
html{ color: black; background: #ffe5b4; }
body { color: black; background: radial-gradient(ellipse at 10% 10%, pink, #ffe5b4) no-repeat center center fixed; }
a, tw-link, .enchantment-link, .visited{ color: purple; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #b94949; }
.pisces{ color: cornflowerblue; }
.Chaos, .chaos { #669224 }
.inv-border, tw-passage { background-color: rgba(255,255,255,0.8) !important; }
.dir {
border: 1px solid #777;
padding: 0.1em;
border-radius: 6px;
background-color: rgba(255,255,255,0.8);
}
</style>
](elseif: $custom_colors is "fairyland menu")[(set: $ambiance to "light")
<style>
html{ color: black; background: #ffe5b4; }
body { color: black; background: radial-gradient(ellipse at 10% 10%, pink, #ffe5b4) no-repeat center center fixed; }
a, tw-link, .enchantment-link, .visited{ color: purple; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #b94949; }
tw-passage { background-color: transparent !important; border: none; }
</style>
](elseif: $custom_colors is "edicts")[(set: $ambiance to "dark")
<style>
html, body { background: black; }
a, tw-link, .enchantment-link, .visited{ color: #ac4dac; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #b94949; }
.red_header { color: blue; }
</style>
](elseif: $custom_colors is "light-house")[(set: $ambiance to "light")
<style>
body { color: black; background-color: lightgoldenrodyellow; }
a, tw-link, .enchantment-link, .visited{ color: blue !important; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: navy !important; }
</style>
](elseif: $custom_colors is "geisthome")[(set: $ambiance to "dark")
<style>
body { background-color: black; }
a, tw-link, .enchantment-link, .visited{ color: #00AAFF; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: #00CCFF; }
.red_header { color: blue; }
</style>
](elseif: $custom_colors is "her colors")[
(if: $ob_her_colors is "default")[(set: $ambiance to "dark")
<style>
a, tw-link, .enchantment-link, .visited{ color: lightseagreen; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darkseagreen; }
</style>
](elseif: $ob_her_colors is "house")[(set: $ambiance to "light")
<style>
a, tw-link, .enchantment-link, .visited{ color: slateblue;}
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: darkslateblue; }
.nav_button, body{ color: black !important;}
.pisces{ color: cornflowerblue; }
</style>
](elseif: $ob_her_colors is "woods")[(set: $ambiance to "dark")
<style>
a, tw-link, .enchantment-link, .visited{ color: darkgray; }
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: gray;}
</style>
](elseif: $ob_her_colors is "chaos")[(set: $ambiance to "dark")
<style>
a, tw-link, .enchantment-link, .visited{ color: burlywood;}
a:hover, tw-link:hover, .enchantment-link:hover, .visited:hover { color: red; }
</style>
]
]
(if: $ambiance is "light")[<style>
.text-shimmer, .text-shimmer-long, .shimmer, .shimmer tw-hook, .long-shimmer, .long-shimmer tw-hook {
background-color: black;
background-image: -webkit-gradient(linear, 100% 0, 0 0, from(black), color-stop(0.3, skyblue), color-stop(0.7, skyblue), to(black));
-webkit-animation-duration: 8s;
}
.highlight { color: darkblue; }
.highlight2 { color: blue; }
.soft_error { color: #ccc;}
.del { color: #ccc; }
.nav_button{ text-align: right; }
.pisces{ color: cornflowerblue; }
.cycle { color: #20a620; }
.npc { color: chocolate; }
.charley { color: darkorange; }
.deb{ color: mediumvioletred; }
.Light, .light { color: darkgoldenrod; }
.Dark, .dark { color: black; }
.Fire, .fire { color: orangered; }
.Water, .water { color: blue; }
.Earth, .earth { color: brown; }
.Air, .air { color: darkgray; }
.Chaos, .chaos { color: #7ebf1b; }
.Order, .order { color: #888; }
.Love, .love { color: LightCoral; }
.Fear, .fear { color: #c7c702; }
.Life, .life { color: Plum; }
.Death, .death { color: seagreen; }
.approval{ color: green; font-style: italic;}
.inv-border, tw-passage { background-color: rgba(255,255,255,0.5); }
</style>](else:)[<style>
.highlight { color: gold; }
.highlight2 { color: palegoldenrod; }
.soft_error { color: #bbb; }
.del { color: #bbb; }
.pisces{ color: lightskyblue; }
.Light, .light { color: gold; }
.Dark, .dark { color: lightslategray; }
.Fire, .fire { color: orange; }
.Water, .water { color: aqua; }
.Earth, .earth { color: #D2691E; }
.Air, .air { color: GhostWhite; }
.Chaos, .chaos { color: GreenYellow; }
.Order, .order { color: #888; }
.Love, .love { color: LightCoral; }
.Fear, .fear { color: yellow; }
.Life, .life { color: Plum; }
.Death, .death { color: seagreen; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-header-gray { color: #ccc; }
.inv-item-gray { color: #aaa; }
.inv-item-found { color: yellow; }
.approval{ color: lime; font-style: italic;}
.inv-border, tw-passage { background-color: rgba(0,0,0,0.2); }
</style> ]
(if: $currentPassage is "Menu_Inventory" or $noBox is true)[<style>
tw-passage {
border: none;
background-color: transparent !important;
}
</style>]
}{
(set: $selkie_name to "<span class='selkie'>@VoiceInTheDark:</span>")
(set: $pisces_name to "<span class='pisces'>@Me:</span>")
(set: $janet_name to "<span class='janet'>@Someone:</span>")
(set: $compiling_spell to "")
(set: $game_values_set to true)
(set: $sequence to 0)
(set: $depth to 0)
(set: $map_level to "Deep Web")
(set: $health_prefix to "Health")
(set: $health to 20)
(set: $max_health to 40)
(set: $health_display to false)
(set: $die_next_screen to false)
(set: $casting_spell to "")
(set: $return_ship_menu_display to false)
(set: $can_return_ship to false)
(set: $custom_colors to "")
(set: $ruthless to 0)
(set: $kind to 0)
(set: $wordlist_length to 0)
(set: $wordlist_display to "")
(set: $solved_word to "")
(set: $last_word to true)
(set: $basePassage to "")
(set: $dream_name to "")
(set: $corret_dream to "")
(set: $formatted_dream to "")
(set: $incorrect_assembly to false)
(set: $dream_complete to false)
(set: $part_num to 0)
(set: $part1 to "")
(set: $part2 to "")
(set: $part3 to "")
(set: $part4 to "")
(set: $part5 to "")
(set: $part1_check to "")
(set: $part2_check to "")
(set: $part3_check to "")
(set: $part4_check to "")
(set: $part5_check to "")
(set: $InvDisplay to "Inventory")
(set: $inv_can_equip to false)
(set: $inv_expanded to true)
(set: $ship_expanded to true)
(set: $proph_expanded to true)
(set: $alchemy_expanded to true)
(set: $inv_menu_display to false)
(set: $inventory to (datamap:))
(set: $ship_parts to (datamap:))
(set: $alchemy to (datamap:))
(set: $alchemy_gh to (datamap:))
(set: $feelings to (datamap:))
(set: $thoughts to (datamap:))
(set: $alchemy_complete to "~")
(set: $generic_ship_parts to 0)
(set: $reading to "")
(set: $unbabble_target to "")
(set: $m_thoughts_found to false)
(set: $m_feelings_found to false)
(set: $m_dreams_found to false)
(set: $m_spells_found to false)
(set: $m_m_light to 0)
(set: $m_m_air to 0)
(set: $m_m_fire to 0)
(set: $m_m_chaos to 0)
(set: $m_m_fear to 0)
(set: $m_m_life to 0)
(set: $m_m_dark to 0)
(set: $m_m_earth to 0)
(set: $m_m_water to 0)
(set: $m_m_order to 0)
(set: $m_m_love to 0)
(set: $m_m_death to 0)
(set: $m_m_list to (a: "light", "air", "fire", "chaos", "fear", "life", "dark", "earth", "water", "order", "love", "death"))
(set: $dream_list to (a: "Swimming through clouds.", "Kissing.", "Exploring a clockwork castle."))
(set: $nightmare_list to (a: "Falling.", "Late to school, unprepared for an exam, and naked.", "Burning."))
(set: $proph_list to (a: ))
(set: $quality_names to (datamap:))
(set: $quality_names to it + (datamap: "E", "Excellent"))
(set: $quality_names to it + (datamap: "G", "Good"))
(set: $quality_names to it + (datamap: "M", "Medium"))
(set: $quality_names to it + (datamap: "P", "Poor"))
(set: $x_location to 3)
(set: $y_location to 3)
(set: $too_far_type to "d landing")
(set: $opponent to "")
(set: $won_game to false)
(set: $in_form to false)
(set: $d_first_dream_area to "")
(set: $d_wept to false)
(set: $d_reveal_directions to false)
(set: $d_try_walk to false)
(set: $d_found_stick to false)
(set: $d_found_crack to false)
(set: $d_phish_wait to 0)
(set: $d_phish_saw to false)
(set: $d_phish_grab_count to 0)
(set: $d_first_spell to "")
(set: $web_ship to "")
(set: $current_engine to "")
(set: $current_sail to "")
(set: $octo_on_board to false)
(set: $mathias_on_board to false)
(set: $peep_on_board to false)
(set: $ship_have_tank to false)
(set: $wp_maiden_trapped to true)
(set: $skyhook_repaired to false)
(set: $schooner_repaired to false)
(set: $debugger_repaired to false)
(set: $mathias_name to "<span class='mathias'>@Fairy:</span>")
(set: $mathias_debt to 0)
(set: $mathias_asl_level to 0)
(set: $web_reached to false)
(set: $deep_web_locations to (a: "gh", "unseen","lsd", "unvisited","ap", "visited","lh", "unvisited","cache", "unseen","depth", "unvisited","tob", "unseen","tb", "unvisited","wp", "unseen","web", "unseen" ))
(set: $deep_web_connections to (a: "web-gh","unseen","gh-lsd","unseen","lsd-ap","seen","ap-lh","seen","tb-ap","seen","ap-depth","seen","wp-depth","unseen","depth-tob","unseen","cache-lh","unseen"))
(set: $web_locations to (a: "up", "unseen","h", "unseen","st", "unseen","is", "unseen","at", "unseen","fg", "unseen","ol", "unseen","f", "unvisited","sweb", "unseen" ))
(set: $web_connections to (a: "sweb-h","unseen", "h-fg","unseen", "up-is","unseen", "is-st","unseen", "fg-is","unseen", "fg-f","unseen", "at-ol","unseen", "ol-f","unseen", "f-dw","seen"))
}{<span id="footer-start"></span>
(display: "Web Colors")
(set: $in_form to false)
(set: $release to true)
(click: ?return)[(set: $sequence to 0)(go-to: $currentPassage)]
(click: ?nevermind)[(set: $sequence to 0)(go-to: $basePassage)]
(click: ?returnBase)[(set: $sequence to 0)(go-to: $basePassage)]
(click: ?returnShip)[(set: $sequence to 0)(go-to: "Board Ship")]
(click: ?refresh)[(go-to: $currentPassage)]
(click: ?next)[(set: $sequence to $sequence+1)(go-to: $currentPassage)]
(click: ?skip)[(set: $sequence to $sequence+2)(go-to: $currentPassage)]
(click: ?skip2)[(set: $sequence to $sequence+3)(go-to: $currentPassage)]
(click: ?skip3)[(set: $sequence to $sequence+4)(go-to: $currentPassage)]
(click: ?prev)[(set: $sequence to $sequence-1)(go-to: $currentPassage)]
(click: ?prev_passage)[(go-to: $previous_passage)]
(click: ?update_dream)[(go-to: "Update Dream")]
(click: ?cast_spell)[(set: $return_from_spell to $currentPassage)(go-to: "Cast Spell")]
(click: ?assemble_dream)[(set: $sequence to 0)(go-to: "Prep Dream")]
(click: ?unbabble)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Unbabble")]
(click: ?too_far)[(go-to: "Too Far")]
(click: ?reefUp)[(set: $sequence to 0)(set: $gh_reef_up to true)(go-to: $currentPassage)]
(click: ?reefDown)[(set: $sequence to 0)(set: $gh_reef_up to false)(go-to: $currentPassage)]
(click: ?searchFish)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Search For Fish")]
(click: ?listen)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "fiddler listen")]
(click: ?reveal)[(set: $sequence to 0)(go-to: "Titania Parlor Scene")]
(click: ?death)[(go-to: "Death")]
(click: ?toAbyss)[(set: $sequence to 0)<script>prepPlain();</script>]
(click: ?toAbyssLight)[<script>prepPlain();</script>]
(click: ?Restart)[ <script>setResume(false); resetScreen(); checkCurrentMusic(); savegame("MenuSave","RESTART"); window.location.reload(); </script>]
(click: ?menu_restore)[(go-to: "Menu_Restore")]
(click: ?menu_achievements)[(go-to: "Menu_Achievements")]
(click: ?menu_options)[(go-to: "Menu_options")]
(click: ?menu_othergames)[(go-to: "Menu_OtherGames")]
(click: ?quit)[(set: $quit_return to (passage:)'s name)(go-to:"Confirm Quit")]
(click: ?return_to_game)[ <script>savegame("ReturnFlag","RETURNING"); window.loadgame("MenuSave");</script> ]
<script>updateHUD();</script>
(if: $ColorBlind is true)[
<style>
.enchantment-link, tw-link, .visited, .select-item, a {
border: 1px solid blue
}
.enchantment-link:hover, tw-link:hover, .visited:hover, .select-item:hover, a:hover {
border: 1px solid blue
}
</style>
]
<script>
var ReturnFlag = getraw("ReturnFlag");
if(ReturnFlag == "RETURNING"){
var compiling_spell = "";
var inv_commands = getraw("inv_commands");
if(!isUndefined(inv_commands) && inv_commands != "" && inv_commands != null){
var inv_commands_ar = inv_commands.split(",");
var inventory = getHarloweVariable("inventory");
console.log("FOOTER");
console.log("inv_commands_ar",inv_commands_ar);
for (var i = 0; i < inv_commands_ar.length; i += 2) {
var command = inv_commands_ar[i];
var data = inv_commands_ar[i+1];
if(command == "discard")
inventory.delete(data);
else if(command == "deductmm"){
var mm_pair = data.split("~");
var mm = mm_pair[0];
var mm_amount = parseInt(mm_pair[1]);
var cur_amount = geth("m_m_" + mm);
var new_amount = cur_amount - mm_amount;
seth("m_m_" + mm, new_amount);
}else if(command == "compile"){
var spells = geth("spells");
var spell = spells.get(data);
spell.set("compiled",true);
spells.set(data,spell);
seth("spells",spells);
}else if(command == "compiling_spell"){
compiling_spell = data;
}else {
if(isInteger(data)) data = parseInt(data);
seth(command,data);
}
}
seth("inventory",inventory);
}
var music = geth("PlayingMusic");
if(!isUndefined(music) && music != "" && music != null && music != 0) playMusic(music);
else musicFade("");
if(compiling_spell != ""){
saveraw("ReturnFlag","BLANK");
if(compiling_spell == "SalveMundi"){ seth("sequence",0); goToPassage("Cast SalveMundi()"); }
else if(compiling_spell == "Dream"){ seth("sequence",25); goToPassage("Ghost Nest"); }
else if(compiling_spell == "Nightmare"){ seth("sequence",25); goToPassage("Ghost Nest"); }
}
}
saveraw("ReturnFlag","BLANK");
colorMM();
function isInteger(value) { return /^\d+$/.test(value); }
</script>
<script>trimPassage();</script>
}(display: "menu_menu")
<div class="menu_frame">
//Speed Mode:// <a id='speed-mode-opt' class='clickable' onClick='toggleSpeedrunOpt();'>(if: $SpeedRun is true)[ON](else:)[OFF]</a>
//Speed Mode Control:// <a id='speed-mode-ctrl-opt' class='clickable' onClick='toggleSpeedrunControlOpt();'>(if: $SpeedRunDisplay is true)[ON](else:)[OFF]</a>
//Sound Effects:// <a id='sound-effects-opt' class='clickable' onClick='toggleSoundEffectsOpt();'>(if: $SoundEffects is true)[ON](else:)[OFF]</a>
//Music:// <a id='music-opt' class='clickable' onClick='toggleMusicOpt();'>(if: $Music is true)[ON](else:)[OFF]</a>
//Color Blind Mode:// (if: $ColorBlind is true)[|ColorBlind>[ON]](else:)[|ColorBlind>[OFF]]
(if: $menu_fullscreen is true and $amif is not true)[//Fullscreen:// <a id='speed-mode-ctrl-opt' class='clickable' onClick='toggleFullscreenOpt();'>(if: $Fullscreen is true)[ON](else:)[OFF]</a>
]
|menu_ack>[View Credits]
|menu_reset>[Reset Everything]
</div>
{
(display: "return from menu")
(click: ?menu_ack)[(go-to: "Menu_Ack")]
(click: ?menu_reset)[(go-to: "Menu_Reset Everything")]
<script>
function toggleSpeedrunOpt(){
var SpeedRun = geth("SpeedRun");
if(SpeedRun){ seth("SpeedRun",false); $("#speed-text").html("OFF"); $("#speed-mode-opt").html("OFF"); }
else { seth("SpeedRun",true); $("#speed-text").html("ON"); $("#speed-mode-opt").html("ON"); }
savePermSettings();
}
function toggleSpeedrunControlOpt(){
var SpeedRunDisplay = geth("SpeedRunDisplay");
if(SpeedRunDisplay){ seth("SpeedRunDisplay",false); hideHUD("speed-run-toggle"); $("#speed-mode-ctrl-opt").html("OFF"); }
else { seth("SpeedRunDisplay",true); displayHUD("speed-run-toggle"); $("#speed-mode-ctrl-opt").html("ON"); }
savePermSettings();
}
function toggleFullscreenOpt(){
var Fullscreen = geth("Fullscreen");
if(Fullscreen){ seth("Fullscreen",false); setFullscreen('OFF'); $("#speed-mode-opt").html("OFF"); }
else { seth("Fullscreen",true); setFullscreen('ON'); $("#speed-mode-opt").html("ON"); }
savePermSettings();
}
function toggleSoundEffectsOpt(){
var SoundEffects = geth("SoundEffects");
if(SoundEffects){ seth("SoundEffects",false); $("#sound-effects-opt").html("OFF"); }
else { seth("SoundEffects",true); $("#sound-effects-opt").html("ON"); }
savePermSettings();
}
function toggleMusicOpt(){
var Music = geth("Music");
if(Music){ seth("Music",false); toggleMusic("OFF"); $("#music-opt").html("OFF"); }
else { seth("Music",true); toggleMusic("ON"); $("#music-opt").html("ON"); }
savePermSettings();
}
</script>
(click: ?ColorBlind)[(if: $ColorBlind is true)[(set: $ColorBlind to false)](else:)[(set: $ColorBlind to true)] (display: "Save Achievements") (go-to:"Menu_options") ]
}(display: "menu_menu")
<div class="small_menu_items"> (if: $AchieveDisplay is "General")[General](else:)[|General>[General]] / (if: $AchieveDisplay is "Spells")[Spells](else:)[|Spells>[Spells]] / (if: $AchieveDisplay is "Prophesies")[Prophesies](else:)[|Prophesies>[Prophesies]] / (if: $AchieveDisplay is "Difficult")[Difficult](else:)[|Difficult>[Difficult]]</div>
<div class="menu_frame"><span id="achievements"></span></div>
(display: "return from menu"){
(set: $General to (a:
"Hello World~Emerge from the darkness of the ocean.~Complete the tutorial area.",
"Lift Off~Repair and travel in your own webship.~Search the darkness for ship parts. You'll also need a sail and engine. If you can't find them elsewhere, you can buy them from the Packet Rat.",
"Ghostbuster~Resolve the hauntings on the Abyssal Plain.~Interview natives about their fates and examine where they lived.",
"Blackjack Champion~Win at Protagonist Blackjack.~Look for a card shark in the Lost Soul's Diner. Play until you know the card combinations.",
"Toppled Tower~Win at Topple the Tower.~Look for a gambler in Fairyland. Use what you learned from Blackjack.",
"Eye of the Torrent~Reach the center of the Bit Torrent.~Go towards order.",
"Finding the Pit~Travel to the Wailing Pit.~Instructions for how to find the pit are in a wiki in the Depths.",
"Divine Pronouns~Convince an angel to use gender neutral pronouns for God.~Talk to Soave in the Light House and ask questions about religion and God.",
"Below the Depths~Visit a location that is deeper than the Depths.~Another explorer has traveled here before you. Find his notes in the Depths and follow his trail.",
"Bottom of the Pit~Reach the bottom of the Wailing Pit.~You can find a tough ship on the Abyssal Plain. You can find a fast engine in the Torrent of Bits.",
"Loot the Cache~Find the treasure inside the Riddle Cache.~Answer three riddles in a row. Keep trying.",
"Atlantian Sign Language~Learn ASL from the Sirens in Geisthome.~Find someone who really needs to learn this.",
"My Ride~Recover and repair my wheelchair.~Reach Geisthome. The Hungry Ghost can tell you where the wheels are.",
"Formal~Have a form Approved by the Hall of Edicts.~The Hall of Edicts is in Fairyland in the west part of the capitol. You have a spell that can make sense of the instructions, and can manipulate the clock with locally found matters and motives.",
"Happy Blue Birds~Return Peep to his mother.~Find Peep in the Lost Soul's Diner before you leave the Deep Web. Look hard. He's shy.",
"Industrial Sabotage~Skillfully sabotage a tower at the DoS Site in Fiddler's Green.~Consider what combination will disable, but not destroy.",
"Scale Olympus~Climb at least partway up Mount Olympus.~There are a number of ways to do this. Befriend the Sphinx, fly, or be very strong.",
"Familiar in Training~Get an animal companion to help you cast a spell.~You can do this on the Island of Stone. You'll need an animal to do it with."))
(set: $Spells to (a:
"Salve Mundi~Compile your first spell.~Complete the tutorial area.",
"Omini~Learn a spell of prophesy.~Search the Abyssal Plain, help any ghosts you encounter, and investigate all caves.",
"Unbabble~Learn a spell of translation.~Search the Lost Soul's Diner.",
"Mute~Learn a spell of silence.~Canvas the Depths.",
"Dream~Learn a spell of alluring dreams.~Be kind.",
"Nightmare~Learn a spell of fretful sleep.~Be ruthless.",
"Textilekinesis~Learn a spell related to your scarf.~Search Fairyland.",
"Rezrov~Learn a spell of opening.~Search Fiddler's Green.",
"Strength~Learn a spell of power.~Be kind.",
"Pain~Learn a spell of anguish.~Be ruthless."
))
(set: $Prophesies to (a:
"Prophesy Of Light~Collect the <span class='light'>Light</span> Prophesy.~Visit an angel.",
"Prophesy Of Darkness~Collect the <span class='dark'>Dark</span> Prophesy.~Follow a map of prophesy through the Depths.",
"Prophesy Of Fire~Collect the <span class='fire'>Fire</span> Prophesy.~Follow ",
"Prophesy Of Water~Collect the <span class='water'>Water</span> Prophesy.~Follow ",
"Prophesy Of Air~Collect the <span class='air'>Air</span> Prophesy.~Follow ",
"Prophesy Of Earth~Collect the <span class='earth'>Earth</span> Prophesy.~Follow ",
"The Future~Visit the Future.~Visit the Oracle at Delphi beside Olympus.",
"Across the Universe~Deliver all the Prophesies.~Once you complete the above achievements you'll know how to do this. The tricky part is collecting enough matter."))
(set: $Difficult to (a:
"Eight Legged Friend~Acquire the octopus as a permanent companion.~Search the Depths for a deep sea explorer who has the equipment to collect marine life.",
"Free the Selkie~Retrieve the Selkie's skin from the Packet Rat and return it to him.~There are many ways to do this. The simplest is murder.",
"Revive the Maiden~Return her to her truer form.~You will find her at the bottom of the Wailing Pit, but the skills you need to help her are below the Depths.",
"Rescue the Fairy Lord~Retrieve a Fairy noble from dire peril in the Deep Web.~The lord is located in the Wailing Pit.",
"Punctual~Submit forms to the Hall of Edicts at the correct time without sabotaging any equipment.~Time your submission carefully, keeping in mind it will take some time for you to go from the clock to the desk. Don't mess with the clock or sign at all.",
"CSI Fairyland~Actually, accurately solve the murder of Brokk Blacktree to Mab's satisfaction.~You'll need to make extensive use of forms. Start by getting Lirana's Autocsi spell.",
"Adorable Industrial Sabotage~Teach the natives of Fiddler's Green to destroy the DoS Site.~You will need two, muted orbs to do this. Neither of them should be in Fiddler Home.",
"Strength and Pain~Learn the spells Strength and Pain.~Be both kind and ruthless."))
<script>
function printAchievement(value) {
console.log(value);
var to_append = "";
var arr = value.split("~");
var title = arr[0];
var titleDense = replaceAll(title, " ","");
var desc = arr[1];
var hint = arr[2];
var achieved = getHarloweVariable(titleDense);
if(achieved)
to_append += "<span style='font-weight: bold; color: gold;'>"+title+"</span><br/><span style='color: gold;'>"+desc+"</span>";
else
to_append += "<span style='font-weight: bold; color: gray;'>"+title+"</span><br/>"+desc+"<br/><span style='font-size: 16px;'><a onClick='revealHint(this)'>Hint</a><span class='hint' style='display: none;'>"+ hint +"</span></span>";
to_append += "<br/><br/><br/>";
$("#achievements").append(to_append);
}
function revealHint(val) {
val.style.display = "none";
val.nextSibling.style.display = "inline";
}
var AchieveDisplay = getHarloweVariable("AchieveDisplay");
getHarloweVariable(AchieveDisplay).forEach(printAchievement);
</script>
(click: ?General)[(set: $AchieveDisplay to "General")(go-to: "Menu_Achievements")]
(click: ?Spells)[(set: $AchieveDisplay to "Spells")(go-to: "Menu_Achievements")]
(click: ?Prophesies)[(set: $AchieveDisplay to "Prophesies")(go-to: "Menu_Achievements")]
(click: ?Difficult)[(set: $AchieveDisplay to "Difficult")(go-to: "Menu_Achievements")]}(display: "menu_menu")(display: "return from menu")
<div class="menu_frame">
(if: $amif is true)[The further adventures of Pisces will be released in January 2021.
<a target="_blank" href='https://store.steampowered.com/app/737050/Open_Sorcery_Sea/'>Open Sorcery: Sea++</a>
]If you liked this game, try the original:
<a target="_blank" href='http://opensorcerygames.azurewebsites.net/Home/OpenSorcery'>Open Sorcery</a>
If you like my style, subscribe to the
<a target="_blank" href='http://eepurl.com/bWnLDT'>Open Sorcery Newsletter</a>(if: $amif is not true)[
I will email you ONLY when I make new things.
No spam. I hate spam.]
You can also watch my <a target="_blank" href='https://www.facebook.com/abigailcorfmanwrites'>facebook page</a> or <a target="_blank" href='https://twitter.com/AbigailMoment'>twitter</a> for updates about my projects.
</div>
(if: $CanResume is true)[<span class="nav_button" style="position: fixed; right: 5px; bottom: 5px;">|return_to_game>[< Resume Game]</span> ](set: $amif to true)
<script>
console.log("first technology");
var menuSave = getMenuSaveTitle();
if(menuSave == null) menuSave = "First Game";
setHarloweVariable("MenuSave",menuSave);
goToPassage("second technology");
</script>
(set: $m_m_chaos to 20)
(go-to: $previous_passage)(if: $incorrect_assembly is true)[//That wasn't the right order. Let me try again.//](else:)[//This dream is jumbled. I need to put the pieces in the right order.//]
<span id="part1"> </span>
<a onClick='switch_parts(1,2)'>SWITCH</a>
<span id="part2"> </span>
<a onClick='switch_parts(2,3)'>SWITCH</a>
<span id="part3"> </span><span id="section_4">
<a onClick='switch_parts(3,4)'>SWITCH</a>
<span id="part4"> </span></span><span id="section_5">
<a onClick='switch_parts(4,5)'>SWITCH</a>
<span id="part5"> </span></span>
|check>[I think this order is correct.](click: ?check)[<script>set_variables();</script> ]
{
<script>
function setup(){
var part1 = getHarloweVariable("part1");
var part2 = getHarloweVariable("part2");
var part3 = getHarloweVariable("part3");
var part4 = getHarloweVariable("part4");
var part5 = getHarloweVariable("part5");
$("#part1").html(part1);
$("#part2").html(part2);
$("#part3").html(part3);
if(part4 == ""){
$("#section_4").html("");
}
else{
$("#part4").html(part4);
}
if(part5 == "")
$("#section_5").html("");
else
$("#part5").html(part5);
}
setup();
function switch_parts(num1,num2){
var save_text1 =$("#part" + num1).html();
var save_text2 =$("#part" + num2).html();
$("#part" + num1).html(save_text2);
$("#part" + num2).html(save_text1);
}
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
};
function set_variables(){
var save_text1 =$("#part1").html();
setHarloweVariable("part1",save_text1);
var save_text2 =$("#part2").html();
setHarloweVariable("part2",save_text2);
var save_text3 =$("#part3").html();
setHarloweVariable("part3",save_text3);
var save_text4 = "";
if($("#section_4").html() != "")
save_text4 =$("#part4").html();
setHarloweVariable("part4",save_text4);
var save_text5 = "";
if($("#section_5").html() != "")
save_text5 =$("#part5").html();
setHarloweVariable("part5",save_text5);
var complete_dream = save_text1 + save_text2 + save_text3;
if (typeof save_text4 != 'undefined' && save_text4 != null)
complete_dream = complete_dream + save_text4;
if (typeof save_text5 != 'undefined' && save_text5 != null)
complete_dream = complete_dream + save_text5;
complete_dream = complete_dream.replaceAll('<br>','').replaceAll('<br data-raw="">','');
complete_dream = complete_dream.replace(/<span class="invisible" data-raw=""(.*?)<\/span>/g,"");
complete_dream = complete_dream.replace(/<\/?span[^>]*>/g,"");
var correct_dream = getHarloweVariable("correct_dream");
if(correct_dream == complete_dream){
console.log("got here 5");
goToPassage("Complete Dream");
}
else{
setHarloweVariable("incorrect_assembly",true);
goToPassage("Assemble Dream");
}
}
</script>
}{(display: "Dream Index")
(set: $inv_menu_display to false)
(set: $complete_dream_sequence to 0)
(set: $part_num to 0)
(set: $part1 to "")
(set: $part2 to "")
(set: $part3 to "")
(set: $part4 to "")
(set: $part5 to "")
(set: $part1_check to "")
(set: $part2_check to "")
(set: $part3_check to "")
(set: $part4_check to "")
(set: $part5_check to "")
<script>
function removeFromArray(arr) {
var what, a = arguments, L = a.length, ax;
while (L > 1 && arr.length) {
what = a[--L];
while ((ax= arr.indexOf(what)) !== -1) {
arr.splice(ax, 1);
}
}
return arr;
}
function prepMemory()
{
var dream_name = getHarloweVariable("dream_name");
var memories = getHarloweVariable("memories");
var memory = memories.get(dream_name);
var parts = memory.get("parts");
var under_value = replaceAll(dream_name, " ","_");
var dream_id = "#dream_index #" + under_value + "_desc .part_num_";
var parts_found = 0;
var desc = "";
var parts_to_use = [];
for (i = 1; i < parts + 1; i++) {
parts_to_use.push(i);
}
for (i = 1; i < parts + 1; i++) {
var part_text = $(dream_id + i).html();
if(part_text == null)
part_text = "";
desc += part_text;
var other_val_arr = parts_to_use.slice();
if(other_val_arr.length > 1)
removeFromArray(other_val_arr, i);
var rand_num = other_val_arr[Math.floor(Math.random()*other_val_arr.length)];
removeFromArray(parts_to_use, rand_num);
part_text = part_text.replace(/<span class="invisible" data-raw=""(.*?)<\/span>/g,"");
part_text = part_text.replace(/<\/?span[^>]*>/g,"");
setHarloweVariable("part"+rand_num,part_text);
}
setHarloweVariable("formatted_dream",desc);
desc = replaceAll(desc, '<br>','');
desc = replaceAll(desc, '<br data-raw="">','');
desc = desc.replace(/<span class="invisible" data-raw=""(.*?)<\/span>/g,"");
desc = desc.replace(/<\/?span[^>]*>/g,"");
setHarloweVariable("correct_dream",desc);
goToPassage("Assemble Dream");
}
prepMemory();
</script>}(if: $complete_dream_sequence is 0)[$formatted_dream{
(set: $complete_dream_sequence to 1)
(set: $incorrect_assembly to false)
(set: $memories's $dream_name's completed to true)
}
|get_spell_piece>[This dream is complete.] (click: ?get_spell_piece)[(go-to: "Complete Dream" )]](else:)[{
(set: $complete_dream_sequence to 0)
}I remember part of a spell.
{(set: $part_learned to $memories's $dream_name's spell_part)
(set: $spell_name to $memories's $dream_name's spell_name)
(display: "update spell")}
|return_from_dreaming>[Continue] ]{
(click: ?return_from_dreaming)[(if: $dream_name is "true meaning")[(go-to: "Dream Response")](else:)[(set: $inv_menu_display to true)(go-to: $return_passage)]]
}
(if: $too_far_type is "d landing")[I don't want to wander too far from where I landed.
With no light, I'm sure to get lost.
|prev_passage>[Continue]](elseif: $too_far_type is "d cliff")[Not without a web ship.
|prev_passage>[Continue]](elseif: $too_far_type is "depths wall")[This way is blocked by a wall of solid blackness.
|prev_passage>[Continue]](elseif: $too_far_type is "d mountain")[I can't walk through rock.
I'm sure there's a spell for that, but I don't know it.
And I don't have the energy to swim over a mountain.
|prev_passage>[Continue]](elseif: $too_far_type is "d shark")[(if: $sequence is 0)[Long, sharp shapes cut through the water directly above me.
A long, sharp shape turns towards me.
|prev_passage>[Swim back east.]
|next>[Keep swimming west.] ](elseif: $sequence is 1)[The large shape moves shockingly fast.
It becomes even larger as is draws close.
A sudden twitch.
Thousands of teeth.
A split second of gore.
|death>[I'm gone.] ]](else:)[I can't go that way.
|prev_passage>[Continue]](display: "menu_menu")
(if: $amif is true)[(display: "Acknowledgments Fairyland")](else:)[(display: "Acknowledgments")]Are you sure you want to reset everything?
This will remove your saves and achievements and resart the game.
|reset>[Yes--wipe it all away.]
|menu_options>[Nevermind. I like my achievements.]
(click: ?reset)[<script>localStorage.clear();</script>(go-to: "first technology")]''Writing'' by Abigail Corfman
''Code'' by Abigail Corfman
See more of Abigail's work at <a href="http://www.abigailcorfman.com/" target="_blank">Her Website</a>
''Background Art'' by Fish
See more of Fish's work at <a href="http://www.myoats.com/users/Fish" target="_blank">Their Website</a>
''Additional Code''
''Scavenging Word Search'' based on the work of Caleb Jones
<a href="http://www.brainjunkie.com/web/js-wordsearch/" target="_blank">brainjunkie</a>
''Spider Web'' based on the work of Matheus Lin
<a href="https://codepen.io/boomershin/pen/raWGaP?editors=0110" target="_blank">codepen</a>
''Fiddler Orbs'' based on the work of Ted McDonald
<a href="https://codepen.io/tedmcdo" target="_blank">Ted McDonald on CodePen</a>
''Sounds''
<a href="http://www.soundscalpel.com" target="_blank" style="color: #41595a;">Bone Breaking</a> by Soundscalpel via freesound
<a href="https://www.freesound.org/people/Kinoton/sounds/393819/" target="_blank" style="color: red;">Underwater Ambience</a> by Kinoton via freesound
''Images''
''Northern Stargazer'' by <a href="https://commons.wikimedia.org/wiki/File:Northern_Stargazer.JPG" target="_blank" style="color: red;">Canvasman21</a> of Wikipedia
(CC BY-SA 3.0)
''Tarot Icons'' by <a href="https://lorcblog.blogspot.com/">Lorc</a> and <a href="http://delapouite.com/">Delapouite</a>
''Eyes''
''iPhone Self Portraits'' by <a href="https://www.flickr.com/photos/vanaddie/7592471710/" target="_blank" style="color: red;">Addie VanDreumel</a>
''Knock Knock'' by <a href="https://www.flickr.com/photos/dskley/9047926569/" target="_blank" style="color: red;">Dennis Skley</a>
''demon eye drop'' by <a href="https://www.flickr.com/photos/kris92soccer/6855265926/" target="_blank" style="color: red;">Kristoffer Abildgaard</a>
''The Eye'' by <a href="https://www.flickr.com/photos/100520929@N02/27575458670/" target="_blank" style="color: red;">auviso</a>
''Untitled'' by <a href="https://www.flickr.com/photos/86166514@N02/7899348432/" target="_blank" style="color: red;">Beatrize C.</a>
''Eyes'' by <a href="https://www.flickr.com/photos/8047705@N02/5533384051/" target="_blank" style="color: red;">John Liu</a>
''Bimer'' by <a href="https://www.flickr.com/photos/47476117@N04/6405944189/" target="_blank" style="color: red;">Ivan</a>
''Your eyes and mine'' by <a href="https://www.flickr.com/photos/malux16/4304386880/" target="_blank" style="color: red;">Massimo Stefanoni</a>
''[See]cret'' by <a href="https://www.flickr.com/photos/petitvik/304745322/" target="_blank" style="color: red;">Victor P.</a>
''they will realize' by <a href="https://www.flickr.com/photos/whatmegsaid/3151606131/" target="_blank" style="color: red;">Meg Wills</a>
''Innocent Looks'' by <a href="https://www.flickr.com/photos/pixle/708332774/" target="_blank" style="color: red;">pixle</a>
''Quoted Text''
''The Book of Beauty'' Letitia Elizabeth Landon
//Used in the Atlantix Section//
''Promotional Art''
''Open Sorcery Logo'' by Callum Harder
''Consulting''
Raina Lynn Kenny, Professional ASL Interpreter
''The Wailing Pit''
Thank you to everyone willing to speak about their pain.
''Alpha Testers''
Danny Corfman
Fish
Frisco Cruise
Sam Berck
Sara Rodhjort
''Beta Testers''
Elliott "Tug" Brice
Adam Schulz
Alex Santiago
Brittany Sheidy
Christine Beard
Gregory Harlam
Ilan Norwood
Jacqueline Penny Hart
Kim Corfman
Magicoby MacFluff
Michael A.K. Croce
Michael J Pucci
Michael Meinberg
Mike Molitor
Nicolas Hornyak
Sarah Mae Goebler
Wilhelm F. Oelkers(if: $achievement is true)[(text-color: "gold")[''$name'']](else:)[(text-color: "gray")[''$name'']]
(if: $achievement is true)[(text-color: "gold")[$desc]](else:)[$desc]{
(set: $HelloWorld to false)
(set: $LiftOff to false)
(set: $Ghostbuster to false)
(set: $BlackjackChampion to false)
(set: $EyeoftheTorrent to false)
(set: $DivinePronouns to false)
(set: $BelowtheDepths to false)
(set: $BottomofthePit to false)
(set: $LoottheCache to false)
(set: $SalveMundi to false)
(set: $Omini to false)
(set: $Unbabble to false)
(set: $Mute to false)
(set: $Textilekinesis to false)
(set: $ProphesyOfLight to false)
(set: $ProphesyOfDarkness to false)
(set: $ProphesyOfFire to false)
(set: $ProphesyOfWater to false)
(set: $ProphesyOfAir to false)
(set: $ProphesyOfEarth to false)
(set: $EightLeggedFriend to false)
(set: $FreetheSelkie to false)
(set: $RevivetheMaiden to false)
(set: $RescuetheFairyHeir to false)
(set: $FirstEnding to true)
(set: $DisplayFullHealth to true)
(set: $SpeedRun to false)
(set: $SpeedRunDisplay to false)
(set: $ColorBlind to false)
(set: $TimerMode to "Real Time")
(set: $Fullscreen to true)
(set: $CanResume to false)
(set: $single_run_canon to "")
(set: $puzzles_complete to "default~puzzle")
(set: $seen_timed_intro to false)
(set: $TimedSequence to true)
}{
<script>
savePermSettings();
saveAchieve();
saveraw("PuzzleComplete",getHarloweVariable("puzzles_complete"))
</script>
}{
<script>
loadPermSettings();
loadAchieve();
loadPuzzles();
</script>
(if: (savedgames:) contains "MobileOptions")[
(set: $mobile_options to (saved-games:)'s "MobileOptions")
(if: "MobileTrue" is in $mobile_options)[(set: $mobile to true)](else:)[(set: $mobile to false)]
(if: "MenuQuitTrue" is in $mobile_options)[(set: $menu_quit to true)](else:)[(set: $menu_quit to true)]
(if: "MenuFullscreenTrue" is in $mobile_options)[(set: $menu_fullscreen to true)](else:)[(set: $menu_fullscreen to true)]
]
}{
<style>
tw-passage { text-align: center; }
.inv_hide { display: none; }
.inv-border {
border: 1px solid #777;
padding: 0.01em 6px;
border-radius: 6px;
margin-bottom: 10px;
cursor: auto;
background-color: rgba(0,0,0,0.5);
text-shadow: none;
}
.inv-item { padding: 0 0 1em 16px; }
.inv-item-header { font-weight: bold; }
.inv-click { cursor: pointer; }
.red_header tw-expression { position: initial;}
.equip-area { padding-left: 1em; }
td { width: 10%; text-align: center; }
.compile-dormant{
float: right;
margin-top: 12px;
margin-right: 15px;
padding: 5px;
color: gray;
}
.compile-active{
float: right;
margin-top: 20px;
margin-right: 20px;
border: 3px solid #4169E1;
padding: 5px;
}
#InvMenu { font-size: 30px; }
</style>
<script>
function printThought(value, key, map) {
var under_key = replaceAll(key, " ","_");
under_key = replaceAll(under_key, ":","");
var to_append = "";
to_append = "<div class='inv-item'><a id='inv-key-"+under_key+"' class='inv-click' onClick='displayDescEasy(this)'>"+key+"</a> <span ";
to_append += "style='display: none;' ";
to_append += "id='inv-desc-"+under_key+"'>- " + value + "</span></div>";
$("#thoughts").append(to_append);
}
function displayDescEasy(e) {
var descId = replaceAll(e.id, "key","desc");
var desc = $("#" + descId);
if(desc.css("display") == "none") desc.css("display","inline");
else desc.css("display","none");
return false;
}
function printElementInventory(value, key, map) {
var inventory = window.getHarloweVariable("inventory");
var inv_item = inventory.get(key);
var desc = inv_item.get("description");
var under_key = replaceAll(key, " ","_");
under_key = replaceAll(under_key, ":","");
var to_append = "";
var is_readable = true;
if(key == "Winfield notes"){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToWinfieldNotes()'>"+key+"</a> <span> ";
}
else if(key == "List of Forms"){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\"List of Forms\")'>"+key+"</a> <div> ";
}
else if(key.includes("Troll Notes")){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\""+key+"\")'>"+key+"</a> <div> ";
}
else if(key.includes("Form ")){
to_append = "<div class='inv-item'><a class='inv-click' onClick='fillOutForm(\""+key+"\")'>"+key+"</a> <div> ";
}
else if(key.includes("Flier: ")){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\""+key+"\")'>"+key+"</a> <div> ";
}
else if(key.includes("Autocsi Result: ")){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\""+key+"\")'>"+key+"</a> <div> ";
}
else if(key.includes("Map: ")){
to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\""+key+"\")'>"+key+"</a> <div> ";
}
else{
to_append = "<div class='inv-item'><a class='inv-click' onClick='displayDesc(this,\"inventory\")'>"+key+"</a> <span ";
to_append += "style='display: none;' ";
to_append += "id='inv-desc-"+under_key+"'>- " + desc + "</span></div>";
is_readable = false;
}
if(is_readable) $("#readable").append(to_append);
else $("#inventory").append(to_append);
}
function printElementAlchemy(value, key, map) {
var inventory = window.getHarloweVariable("alchemy");
var inv_item = inventory.get(value);
var desc = inv_item.get("description");
var under_value = replaceAll(value, " ","_");
var to_append = "";
to_append = "<div class='inv-item'><a class='inv-click' onClick='displayDesc(this,\"alchemy\")'>"+value+"</a> <span ";
to_append += "style='display: none;' ";
to_append += "id='inv-desc-"+under_value+"'>- " + desc + "</span></div>";
$("#alchemy").append(to_append);
}
function goToWinfieldNotes(){ goToPassage("Winfield Notes"); }
function goToReadInv(text){
window.setHarloweVariable("reading",text);
goToPassage("Read Inv");
}
function goToFormInv(text){
window.setHarloweVariable("reading",text);
goToPassage("Form Inv");
}
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
function print_m_m(){
var m_m_list = getHarloweVariable("m_m_list");
var dont_print = true;
var to_append = "<div class='inv-border'><table align='center'><tr>";
var header_count = 6;
for (var m of m_m_list) {
if(header_count == 0)
{
to_append += "</tr><tr>";
header_count=6;
}
header_count--;
var name = m;
var amount = getHarloweVariable("m_m_" + name);
if(amount == 0 || amount == null) to_append += "<td></td>";
else { to_append += "<td><span class='"+name+"'>" + capitalizeFirstLetter(name) + "</span> " + amount + "</td>"; dont_print = false;}
}
to_append += "</tr></table></div><br/>";
if(!dont_print)
$("#m_m").html(to_append);
}
function printElementSpell(value, key, map) {
var spells = window.getHarloweVariable("spells");
var spell = spells.get(key);
var desc = spell.get("description");
var comp = spell.get("compiled");
var under_key = replaceAll(key, " ","_");
var parts = spell.get("parts");
var part1_found = spell.get("part1_found");
var part2_found = spell.get("part2_found");
var part3_found = spell.get("part3_found");
var part4_found = spell.get("part4_found");
var parts_found = 0;
if(part1_found) parts_found++;
if(part2_found) parts_found++;
if(part3_found) parts_found++;
if(part4_found) parts_found++;
var mm1 = spell.get("mm1");
var mm1_amount = spell.get("mm1_amount");
var mm_text = "";
mm_text += format_mm_found(mm1,mm1_amount);
var ready_to_compile = true;
if(parts_found != parts) ready_to_compile = false;
if(!mm_found(mm1,mm1_amount)) ready_to_compile = false;
if(parts_found != 0){
var to_append = "<div class='inv-border'><div class='inv-item'>";
if(comp) to_append += "<span name='"+key+"' class='compile-dormant'>Compiled</span>";
else if(ready_to_compile) to_append += "<a name='"+key+"' onclick='attemptCompile(this)' class='inv-click compile-active'>COMPILE!</a>";
else to_append += "<a name='"+key+"' onclick='attemptCompile(this)' class='inv-click compile-active'>Compile</a>";
to_append += "<span class='inv-item-header ";
if(!comp) to_append += "inv-header-gray";
to_append += " '>"+key+"</span> <br/>";
to_append += "<span id='inv-desc-"+under_key+"'";
if(!comp) to_append += " class='inv-item-gray' ";
to_append += ">" + desc + "</span>";
if(!comp) {
to_append += "<br/><br/><div class='";
if(parts_found == parts) to_append += "inv-item-found"; else to_append += "inv-item-gray";
to_append += "'>Found "+parts_found+"/" + parts + " code blocks</div>";
to_append += "<div class='inv-item-gray'>Requires "+mm_text+" </div>";
}
to_append += "</div></div>";
$("#spells").append(to_append);
}
}
function attemptCompile(e){
seth("compiling_spell",e.name);
seth("compile_sequence",0);
goToPassage("Menu Compile Spell");
}
function fillOutForm(formName){
seth("reading",formName);
goToPassage("Menu Form Inv");
}
function format_mm_found(mm,mm_amount)
{
if(mm != ""){
var cur_amount = getHarloweVariable("m_m_" + mm);
var build_text = mm_amount + " " + mm;
if(cur_amount >= mm_amount) build_text = "<span class='" + mm + "'>" + build_text + "</span>";
return build_text;
}
return "";
}
function mm_found(mm,mm_amount)
{
if(mm == ""){
return true;
}
else {
var cur_amount = getHarloweVariable("m_m_" + mm);
if(cur_amount >= mm_amount) return true;
}
return false;
}
function printElementMemory(value, key, map) {
var memories = window.getHarloweVariable("memories");
var memory = memories.get(key);
var comp = memory.get("completed");
var location = memory.get("location");
var under_key = replaceAll(key, " ","_");
var parts = memory.get("parts");
var part1_found = memory.get("part1_found");
var part2_found = memory.get("part2_found");
var part3_found = memory.get("part3_found");
var part4_found = memory.get("part4_found");
var part1_desc = "";
var part2_desc = "";
var part3_desc = "";
var part4_desc = "";
var dream_id = "#dream_index #" + under_key + "_desc .part_num_";
var parts_found = 0;
if(part1_found) { parts_found++; part1_desc = $(dream_id + "1").html();}
if(part2_found) { parts_found++; part2_desc = $(dream_id + "2").html();}
if(part3_found) { parts_found++; part3_desc = $(dream_id + "3").html();}
if(part4_found) { parts_found++; part4_desc = $(dream_id + "4").html();}
var desc = part1_desc + part2_desc + part3_desc + part4_desc;
if(parts_found != 0){
var to_append = "<div class='inv-border'><div class='inv-item'>";
if(comp) to_append += "<a class='inv-click' onClick='displayDescMemory(\""+key+"\")' style='float: right; margin-top: 15px; margin-right: 20px; padding: 5px;'>Complete</a>";
else to_append += "<span style='float: right; margin-top: 15px; margin-right: 20px; padding: 5px;'>Incomplete</span>";
to_append += "<a class='inv-click ";
if(!comp) to_append += "inv-header-gray";
to_append += " ' onClick='displayDescMemory(\""+key+"\")' >"+key+"</a> <br/><br/>";
if(comp){
to_append += "<span id='inv-desc-"+under_key + "' ";
to_append += "style='display: none;' ";
to_append += ">" + desc + "</span>";
}
else{
to_append += "<br/><div class=''>Found "+parts_found+"/" + parts + " pieces of this memory.</div>";
to_append += "<br/><div class=''>Located in the "+location+ " </div>";
}
to_append += "</div></div>";
$("#memory_contents").append(to_append);
}
}
function printElementShipParts(value, key, map) {
var inventory = window.getHarloweVariable("ship_parts");
var inv_item = inventory.get(key);
var desc = inv_item.get("description");
var under_key = replaceAll(key, " ","_");
var to_append = "<div class='inv-item'><a class='inv-click' onClick='displayDesc(this,\"ship_parts\")'>"+key+"</a> <span ";
to_append += "style='display: none;' ";
to_append += "id='inv-desc-"+under_key+"'>- " + desc;
to_append += "</span></div>";
$("#ship_parts").append(to_append);
}
function printProphesy(key) {
var to_append = "<div class='inv-item'><a class='inv-click' onClick='goToReadInv(\""+key+" Prophesy\")'>"+key+" Prophesy</a> <span> ";
$("#prophesies").append(to_append);
}
function displayDesc(e,har_var) {
var inventory = window.getHarloweVariable(har_var);
var inv_item = inventory.get(e.innerHTML);
var under_key = replaceAll(e.innerHTML, " ","_");
under_key = replaceAll(under_key, ":","");
var desc = $("#inv-desc-" + under_key);
if(desc.css("display") == "none"){
desc.css("display","inline");
}
else{
desc.css("display","none");
}
return false;
}
function displayDescMemory(key) {
var inventory = window.getHarloweVariable("memories");
var under_key = replaceAll(key, " ","_");
var desc = $("#inv-desc-" + under_key);
var inv_item = inventory.get(key);
if(desc.css("display") == "none"){
desc.css("display","inline");
}
else{
desc.css("display","none");
}
return false;
}
function sortAlchemy(){
var sorted_alchemy = window.getHarloweVariable("sorted_alchemy");
var alchemy = window.getHarloweVariable("alchemy");
var type_categories = new Map();
for (var alchemy_name of sorted_alchemy) {
ingredient = alchemy.get(alchemy_name);
var type = ingredient.get("type");
if(!type_categories.has(type))
type_categories.set(type,[]);
type_categories.get(type).push([ingredient.get("quality"),alchemy_name]);
}
var final_sorted_list = [];
for (var type of type_categories) {
type[1].sort();
for (var final_ingredient of type[1])
final_sorted_list.push(final_ingredient[1]);
}
return final_sorted_list;
}
function sortMap(map,flag){
var category1 = [];
var category2 = [];
for (var item of map) {
var map_item = item[1];
if(flag == "")
category1.push(item);
else{
var flag_result = map_item.get(flag);
if(!flag_result) category1.push(item);
else category2.push(item);
}
}
category1.sort();
category2.sort();
var final_sorted_list = new Map();
for (var item of category1) final_sorted_list.set(item[0],item[1]);
for (var item of category2) final_sorted_list.set(item[0],item[1]);
return final_sorted_list;
}
function switchInv(e){
var target = $(e).html();
seth("InvDisplay",target);
setupInventory();
}
function setupInventory(){
var inventory = geth("inventory");
var InvDisplay = geth("InvDisplay");
var d_bought_usb = geth("d_bought_usb");
var print_inv = true;
if(!d_bought_usb) if(inventory != null && inventory.size == 0) { if(InvDisplay=="Inventory") InvDisplay = "Spells"; print_inv = false; }
var InvDisplayText = InvDisplay;
var InvDisplayMinorText = "Inventory";
if(InvDisplay == "Inventory" && d_bought_usb) InvDisplayText = "USB Drive of Holding";
if(d_bought_usb) InvDisplayMinorText = "USB";
var print_readable = false;
for (var item of inventory) {
var key = item[0];
if(key == "Winfield notes") print_readable = true;
if(key == "List of Forms") print_readable = true;
if(key.includes("Troll Notes")) print_readable = true;
if(key.includes("Form ")) print_readable = true;
if(key.includes("Flier: ")) print_readable = true;
if(key.includes("Autocsi Result: ")) print_readable = true;
if(key.includes("Map: ")) print_readable = true;
}
$("#InvDisplayText").html(InvDisplayText);
var InvMenu = "";
if(print_inv){
if(InvDisplay == "Inventory") InvMenu += InvDisplayMinorText;
else InvMenu += "<a class='inv-click' onClick='switchInv(this)'>"+InvDisplayMinorText+"</a>";
InvMenu += " / ";
}
if(InvDisplay == "Spells") InvMenu += "Spells";
else InvMenu += "<a class='inv-click' onClick='switchInv(this)'>Spells</a>";
InvMenu += " / ";
if(InvDisplay == "Memories") InvMenu += "Memories";
else InvMenu += "<a class='inv-click' onClick='switchInv(this)'>Memories</a>";
$("#InvMenu").html(InvMenu);
print_m_m();
if(InvDisplay == "Inventory" || InvDisplay == "USB"){
if(print_inv == true){
$("#inventory-container").css("display","block");
inventory = sortMap(inventory,"");
inventory.forEach(printElementInventory);
}
else{
$("#inventory-container").css("display","none");
$("#inventory").html("");
}
if(print_readable){
$("#readable-container").css("display","block");
}
else{
$("#readable-container").css("display","none");
$("#readable").html("");
}
var alchemy = geth("alchemy");
if(alchemy != null && alchemy.size > 0){
$("#alchemy-container").css("display","block");
alchemy.forEach(printElementAlchemy);
}
else{
$("#alchemy-container").css("display","none");
$("#alchemy").html("");
}
var ship_parts = geth("ship_parts");
var print_parts = false;
if(ship_parts != null && ship_parts.size > 0) print_parts = true;
if(geth("generic_ship_parts") > 0) print_parts = true;
if(print_parts){
$("#ship-parts-container").css("display","block");
var to_append = "<div class='inv-item'>Generic Ship Parts: " + geth("generic_ship_parts") + "</div>";
$("#ship_parts").html(to_append);
ship_parts = sortMap(ship_parts,"");
ship_parts.forEach(printElementShipParts);
}
else{
$("#ship-parts-container").css("display","none");
$("#ship_parts").html("");
}
var proph_list = geth("proph_list");
if(proph_list != null && proph_list.size > 0){
$("#proph-container").css("display","block");
proph_list.forEach(printProphesy);
}
else{
$("#proph-container").css("display","none");
$("#prophesies").html("");
}
var thoughts = geth("thoughts");
var feelings = geth("feelings");
if(typeof(thoughts) != "undefined" && typeof(feelings) != "undefined" )
if(thoughts.length > 0 || feelings.length > 0 ){
$("#thought-container").css("display","block");
sortMap(thoughts,"").forEach(printThought);
sortMap(feelings,"").forEach(printThought);
}
else{
$("#thought-container").css("display","none");
$("#thoughts").html("");
}
}
else{
$("#inventory-container").css("display","none");
$("#inventory").html("");
$("#readable-container").css("display","none");
$("#readable").html("");
$("#alchemy-container").css("display","none");
$("#alchemy").html("");
$("#ship-parts-container").css("display","none");
$("#ship_parts").html("");
$("#proph-container").css("display","none");
$("#prophesies").html("");
$("#thought-container").css("display","none");
$("#thoughts").html("");
}
if(InvDisplay == "Spells"){
var spells = geth("spells");
spells = sortMap(spells,"compiled");
$("#spells").css("display","block");
spells.forEach(printElementSpell);
}
else{
$("#spells").css("display","none");
$("#spells").html("");
}
if(InvDisplay == "Memories"){
var memories = geth("memories");
memories = sortMap(memories,"completed");
$("#memory_contents").css("display","block");
memories.forEach(printElementMemory);
}
else{
$("#memory_contents").css("display","none");
$("#memory_contents").html("");
}
}
setupInventory();
</script>
<div id="InvMenu"></div>
<div style="text-align: left; width: 100%; margin: auto;">
<span id="m_m" style="padding: 0.01em 6px;"></span>
<div id='inventory-container' class="inv-border inv_hide"><b>Inventory</b><span id='inventory'></span></div>
<div id='readable-container' class="inv-border inv_hide"><b>Documents</b><span id='readable'></span></div>
<div id='alchemy-container' class="inv-border inv_hide"><b>Alchemy Reagents</b><span id='alchemy'></span></div>
<div id='ship-parts-container' class="inv-border inv_hide"><b>Ship Parts</b><span id="ship_parts"></span></div>
<div id="proph-container" class="inv-border inv_hide"><b>Prophesies</b><span id="prophesies"></span></div>
<div id="thought-container" class="inv-border inv_hide"><b>Thoughts & Feelings</b><span id="thoughts"></span></div>
<span id="spells"></span>
<span id="memory_contents"></span>
(display: "return from menu")
(display: "Dream Index")
</div>
}{(if: $test_mode is true)[(set: $health_display to true)]
(set: $health to $health + $health_change)
(if: $health < 1)[(set: $die_next_screen to true)]
(if: $health_change > 0)[<script>playAudio("aa_health");</script><span style='color:green;'>//Recovered $health_change health.//</span>](else:)[<script>playAudio("aa_damage");</script>(set: $health_change to 0-$health_change)<span style='color:red;'>''//Lost $health_change health.//''</span>]}(if: $health_display is false)[
<span style='color:red;'>''//Shit! I have health.
It's probably metaphorical, since this isn't my body, but I'd still better not let it reach zero.//''</span>(set: $health_display to true)]<span id="dream_index" style="display: none;">
<span id="i_am_a_sorcerer_desc"><span class="part_num_1">I remember magic.
I remember guiding the impossible into </span><span class="part_num_2">the inevitable with a light hand.
I tame spirits with scripts.
I master matter, </span><span class="part_num_3">motive, and mysticism with math.
I see the spaces in my mind where spells belong.<span class="invisible">
I am an open sorcerer.
Oh I //want// my magic back.</span></span></span>
<span id="the_steps_of_breaking_desc"><span class="part_num_1">I am running to school.
My foot hits ice flush with the concrete.
The world lurches. I land on my leg.
My bag, all my textbooks, land on top of me.
</span><span class="part_num_2">Pain.
There are five steps to breaking a bone:
1. The crack of pain.
2. <span style="color: gold;">Speckles of light before my eyes.</span>
3. I want to vomit.
</span><span class="part_num_3">4. My leg is <span style="color: palegreen;">wrong.</span>
5. I realize there will be another six months of wearing a cast.
Six months of sitting in the bleachers, watching the other children run.
I have broken so many bones.
I am so tired.
</span></span>
<span id="swimming_is_flying_desc"><span class="part_num_1">I am swimming.
In water, I am free.
Nothing
</span><span class="part_num_2">aches.
My legs can carry me.
I can not only walk,
</span><span class="part_num_3">but fly.
I have always loved normal water.
My mother called me little fish.
My forum handle is <span style="color: gold;">Pisces.</span>
<span style="color: gold;"><span class="invisible">
MY NAME.</span></span>
When I became a Sorcerer,
</span><span class="part_num_4">I discovered the Web.
A <span style="color: gold;">new world below the world.</span>
I discovered I could swim
</span><span class="part_num_5">in other people's dreams.
I have never felt less like a cripple and more like a bird.
</span></span>
<span id="telling_the_future_desc"><span class="part_num_1">Tarot cards. Tea leaves.
Crystal balls and tortoise neck bones.
Celtic runes and dove entrails.
Humans are terrible
</span><span class="part_num_2">at predicting the future.
So is magic.
Prophesy is a chump's game because of
free will,
infinite possibility,
</span><span class="part_num_3"> and innumerable variables.
No one really knows why.
It's just hard.
</span></span>
<span id="alchemical_process_of_now_desc"><span class="part_num_1">NOW is the alchemical process of converting
utter mystery
into
</span><span class="part_num_2">complete certainty.
</span><span class="part_num_3">PROPHESY is the alchemical process
of throwing rocks into the dark
</span><span class="part_num_4">and guessing about what makes a noise.
</span><span class="part_num_5">I've always liked throwing rocks at things
and I don't mind a profession
that admits its professionals are charlatans.
</span></span>
<span id="select_prophesy_desc"><span class="part_num_1"><span style="color: gold;">SELECT</span> PortentType <span style="color: gold;">FROM</span> dbo.Prophesy
returns 1,045,655 rows
That's my entire collection.
<span style="color: gold;">SELECT</span> PortentType <span style="color: gold;">FROM</span> dbo.Prophesy
<span style="color: gold;">WHERE</span> Certainty = 100%
</span><span class="part_num_2">returns 0 rows
Figures
<span style="color: gold;">SELECT</span> PortentType <span style="color: gold;">FROM</span> dbo.Prophesy
<span style="color: gold;">JOIN</span> dbo.Apocalypse on Apocalypse.Id = Prophesy.Id
<span style="color: gold;">WHERE</span> Certainty > 90
</span><span class="part_num_3">returns 6 rows
Fire Water Air Earth Dark Light
All the matters.
This is what I've been looking for.
</span></span>
<span id="true_meaning_desc"><span class="part_num_1">$pisces_name I'm angry.
<i>I am frustrated enough that you can hear it in my voice.</i>
</span><span class="part_num_2">$brody_name I'm angry.
<i>I would be throwing things if I let myself do that.</i>
$pisces_name It's fine.
<i>It's not fine, but I don't have the energy to fight about it, so whatever.</i>
</span><span class="part_num_3">$brody_name It's fine.
<i>It's not fine and I want to talk about it, but I don't want to start the conversation so ask me two more times.</i>
$pisces_name I love you.
<i>I'm afraid to be alone.</i>
</span><span class="part_num_4">$brody_name I love you.
<i>Maybe I won't fuck it up this time.</i>
</span></span>
<span id="notice_the_world_desc"><span class="part_num_1">Notice the world beyond the world.
Let your eyes unfocus.
Set your assumptions aside.
See what is there.
</span><span class="part_num_2">Now.
See what is not there.
You already feel spirits.
Emotions are spirits.
Now let your eyes unfocus.
</span><span class="part_num_3">See what you feel.
Notice the world beyond the world.
Let your...
...
<span style="color: deepskyblue;">Harvey?</span>
<span class="invisible">
//I know someone named Harvey.//</span>
Are you asleep?
</span></span>
<span id="everything_in_the_world_desc"><span class="part_num_1">Everything in the world
and that which is not the world
is made of Matters and Motives.
</span><span class="part_num_2">Matter is what you are.
Motive is what you do.
</span><span class="part_num_3">It is easiest to work magic with them in their pure forms
but everything is a corrupted mishmash of them.
To know something's matter and motive is to know it utterly.
</span><span class="part_num_4">To know something's matter and motive is to have power over it.
The fae call this a True Name.
Open Sorcerers call this an IP Address.
</span><span class="part_num_5">Innate Persona Address
</span></span>
<span id="silence_is_not_only_golden_desc"><span class="part_num_1">Silence
is not only golden
The crystal glass silence
of expectation
after the teacher's question
</span><span class="part_num_2"> before the student's answer.
The liquid cool silence
</span><span class="part_num_3"> found only underwater.
The quivering thin silence
</span><span class="part_num_4"> before the yelling starts.
The blood rust silence
</span><span class="part_num_5"> between two people
who once loved each other.
</span></span>
<span id="too_tired_to_yell_desc"><span class="part_num_1">I'm wheeling myself slowly down a ramp.
I get to the bottom.
Someone behind me hisses: "Finally."
A woman with a stroller scowls at me as she speeds past.
'Excuse me for fucking existing!'
Is something I don't have the energy to yell after her.
</span></span>
<span id="hate_hospitals_desc"><span class="part_num_1">I hate hospitals.
Contempt borne of familiarity.
Mom is thirsty. I use a mote of Water to fill her glass without getting up.
We talk about stupid, little things
because for the first time in my life
I'm too scared to ask for the truth.
</span></span>
<span id="after_bale_desc"><span class="part_num_1">My leg is BURNING.
It's not on fire anymore, but it's still BURNING.
How?
Why?
What DOES that?
Harvey is crouched beside me.
I wish he wasn't here (though thank god he was).
He's too young to deal with an adult in this much pain.
So I dig my fingernails into my kneecap and tell him:
"Good job,"
In a steady voice.
"Go find the rest of the class."
To get him out of the room.
</span></span>
<span id="i_cannot_fix_my_leg_with_magic_desc"><span class="part_num_1">I cannot fix my leg with magic.
</span><span class="part_num_2"> Healing burns unbearably.
Prosthetics break.
</span><span class="part_num_3"> Melt in fact.
It's a cursed wound
</span><span class="part_num_4"> baleful and fetid
but a wheelchair
</span><span class="part_num_5"> doesn't need to touch the stump.
I can still use a wheelchair.
</span></span>
<span id="permanent_break_desc"><span class="part_num_1">I remember having a broken leg in
high school and watching
</span><span class="part_num_2">other children play soccer.
That was pain, but it passed.
</span><span class="part_num_3">This doesn't pass.
Muscle cramps and
</span><span class="part_num_4">pressure sores.
Helpless, being wheeled
</span><span class="part_num_5">too fast down a slope
Sitting inside realizing
I haven't been outside in a week.
</span></span>
<span id="independence_desc"><span class="part_num_1">I remember going to the corner store by myself
for the first time after leaving the hospital
</span><span class="part_num_2">it was weirdly complicated
</span><span class="part_num_3">but damned if I didn't do it on my own.
When I got home my arms ached
</span><span class="part_num_4">with victory.
</span></span>
<span id="decorations_desc"><span class="part_num_1">Timba got me a necklace made out of shark teeth
that I hung off the back
</span><span class="part_num_2">to warn people not to touch my goddamn chair.
H0pp3r got me a seat cushion
</span><span class="part_num_3">with a merrabbit on it.
Harvey got me
</span><span class="part_num_4">blue LEDs
and his apprentice attached them to the wheels
</span><span class="part_num_5">so that my chair could look like something called TRON.
Nerds.
</span></span>
<span id="how_scarf_desc"><span class="part_num_1">This is how I put on my scarf:
</span><span class="part_num_2">I hang it about my neck so that the right side hangs lower than the left.
</span><span class="part_num_3">I pull the breadth of it from my neck to over my head so that the edge touches my brow.
</span><span class="part_num_4">I toss the long right side over my left shoulder.
</span><span class="part_num_5">I adjust the hem until it hangs comfortably about my face.
I feel safe.
</span></span>
<span id="why_scarf_desc"><span class="part_num_1">My scarf has no religious significance.
I am not Muslim. My grandfather is Jewish,
</span><span class="part_num_2">and what he believes is beautiful, but
mine is a choice of fashion, not faith.
I wear my scarf for the pleasure of privacy.
</span><span class="part_num_3">I tug it forward and I am alone in a cave of fabric.
I wear my scarf because it makes me feel beautiful.
</span><span class="part_num_4">I think my eyes are my best feature
and I like flirting with glances from behind the hem.
I wear it because of its magical resonance.
</span><span class="part_num_5">Flexible blue fabric is like water
and water is mine.
</span></span>
<span id="what_scarf_desc"><span class="part_num_1">Here are the colors of blue found in fabric:
</span><span class="part_num_2">aqua, aqualon, baby, cerulean, cobalt, copenhagen
</span><span class="part_num_3">indigo, light, navy, peacock, prussian, robin's egg
</span><span class="part_num_4">royal, sky, turquoise, ultramarine.
</span><span class="part_num_5">I like them all.
</span></span>
<span id="fire_finds_me_desc"><span class="part_num_1">I do not find the fire.
</span><span class="part_num_2">The fire finds me.
It has been watching me and it knows my weakness.
</span><span class="part_num_3">It sets my fragility on fire.
It brands me with certainty that I am broken.
It starts with my legs.
</span><span class="part_num_4">It thinks that it is safe in its ambush. That I will not be able to fight through the bone-deep pain.
It does not know I have a student.
</span></span>
<span id="quiet_boy_desc"><span class="part_num_1">The boy is quiet and solitary.
</span><span class="part_num_2">Read: The boy is a target for all of the simmering anger threatening to over-boil the hallways of the school.
He has one friend. A bright a lively clown of a child.
</span><span class="part_num_3">Thank God. You need a friend. to survive these years.
I give the students USB sticks to store their homework on.
</span><span class="part_num_4">I pay for them out of pocket. The school has no money for anything.
I plant a sleeper program on the sticks I give to vulnerable students.
</span><span class="part_num_5">A Dark/Death algorithm that conceals them from those who would cause them harm.
The boy finds the program and asks me about it.
</span></span>
<span id="pokemon_desc"><span class="part_num_1">We are in an empty classroom after the chaos of the school day is over. I lean on my desk watching as the boy hovers his hand over a plate of metal filings.
An inch under his palm, the bits of metal arrange themselves into neat lines.
</span><span class="part_num_2">"It looks like you have an affinity for Order," I say. "I should have guessed that from your desk. You might want to explore Earth based magic as well."
"So this is like Pokemon," he asserts.
</span><span class="part_num_3">I sigh. "This isn't like Pokemon."
"Is fire vulnerable to water?" he asks.
</span><span class="part_num_4">I hesitate and consider.
</span><span class="part_num_5">"This is somewhat like Pokemon," I allow.
</span></span>
<span id="middle_school_desc"><span class="part_num_1">There are spiritual threats affecting a local middle school.
Anger flares from unlikely sources. Fights in the playground draw blood.
</span><span class="part_num_2">Children come home with burns. All of my monitoring spells in the neighborhood are boiled away.
It's not a situation where an Open Sorcerer can sneak into the building after hours to run a diagnostic.
</span><span class="part_num_3">I'd be arrested and blamed for everything.
I forge a teaching license. I get a job there.
</span><span class="part_num_4">I knew that it would be difficult.
I didn't expect to be good at it.
</span></span>
<span id="vengeance_desc"><span class="part_num_1">Some say the world will end in fire.
(mine almost did)
But vengeance tastes best when well aged and chilled.
And not being able to walk is a hard lesson in patience.
</span><span class="part_num_2">I don't blame the fire.
I blame the fire-starters.
I watched for the shadows they cast in the flickering light.
I sketched their silhouettes with an ice pick.
</span><span class="part_num_3">Their shadows were long and cast from tall perches.
They watched the world from a pedestal of old power.
Old wealth and old magic.
The sort of people who would strip mine Fiddler's Green.
</span><span class="part_num_4">The sort of people who use Firewalls to harvest Fear from a middle school.
Consistent and cruel as death and taxes.
The world was their oyster.
</span><span class="part_num_5">I know how to crack oysters.
Some say the world will end in fire.
That's not my preference. But I do like ice.
</span>
</span></span>
</span><span id="spell_index" style="display: none;">
<span id="SalveMundi_desc">
<span class="part_num_1">string text = "Hello World"; </span>
<span class="part_num_2">text = text + (light); </span>
<span class="part_num_3">manifest(text);</span>
</span>
<span id="Omini_desc">
<span class="part_num_1">RandomFutureGenerator rand = new RandomFutureGenerator(); </span>
<span class="part_num_2">rand.seed(DateTime.Now); </span>
<span class="part_num_3">Future currentFuture = rand.generateFuture();
 print(currentFuture.toString()); </span>
</span>
<span id="Unbabble_desc">
<span class="part_num_1">string output = Convert.ToTruth(console.readline()); </span>
</span>
<span id="Mute_desc">
<span class="part_num_1">world.audio.volume = 0; </span>
</span>
<span id="Suffero_desc">
<span class="part_num_1">PainListener listener = new PainListener("MyBody.log"); </span>
<span class="part_num_2">listener.onPain = new function(pain)`{ setTimeout(experience(pain), 1 minute); }; </span>
<span class="part_num_3">listeners.Add(listener); </span>
</span>
<span id="Dream_desc">
<span class="part_num_1">soul target = World.FindByFocus(self.focusId); </span>
<span class="part_num_2">string dreamName = self.nextThought(); </span>
<span class="part_num_3">dream selectedDream = new Dream(dreamName,target); </span>
<span class="part_num_4">selectedDream.execute(); </span>
</span>
<span id="Nightmare_desc">
<span class="part_num_1">soul target = World.FindByFocus(self.focusId); </span>
<span class="part_num_2">string dreamName = self.nextThought(); </span>
<span class="part_num_3">dream selectedDream = new Dream(dreamName,target); </span>
<span class="part_num_4">selectedDream.execute(); </span>
</span>
<span id="Textilekinesis_desc">
<span class="part_num_1">#include "Prehensile.h" </span>
<span class="part_num_2">PrehensileObj enchantedScarf = new PrehensileObj(self.scarf); </span>
<span class="part_num_3">enchantedScarf.init(); </span>
</span>
<span id="Rezrov_desc">
<span class="part_num_1">object target = World.FindByFocus(self.focusId);</span>
<span class="part_num_2">string path = target.location;</span>
<span class="part_num_3">Key k = Execute("locksmith.exe",target);</span>
<span class="part_num_4">FileStream fs = File.Open(path, k);</span>
</span>
</span>{
(set: $spells to (datamap:))
(set: $spells to it + (datamap: "SalveMundi", (datamap: "description", "Create glowing letters of light.","compiled", false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "light", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Omini", (datamap: "description", "Divine a small haiku to hint at what you should do next.","compiled", false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "dark", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Unbabble", (datamap: "description", "Understand meaning even when you don't understand language.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "love", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Mute", (datamap: "description", "Create a bubble of pure silence.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "dark", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Suffero", (datamap: "description", "Put off experiencing pain for a minute.","compiled", false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "earth", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Dream", (datamap: "description", "Trap a mind in an experience for a while.","compiled", false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "wheelchair", "mm1_amount", 1)))
(set: $spells to it + (datamap: "Textilekinesis", (datamap: "description", "Animate and control fabric.","compiled", false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Autocsi", (datamap: "description", "Analyze a crime scene.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Rezrov", (datamap: "description", "Open an object.","compiled", false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Charm Cat", (datamap: "description", "Befriend a feline.","compiled", false, "parts", 0, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Pitput", (datamap: "description", "Put a pit in something.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Strength", (datamap: "description", "Become powerful.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Pain", (datamap: "description", "Inflict agonizing pain on something.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Freeze", (datamap: "description", "Cool something, or frost it with ice.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Charm Cat", (datamap: "description", "Make a feline better disposed towards you.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
(set: $spells to it + (datamap: "Power Word: Brownie", (datamap: "description", "Conjure the smell and taste of brownie.","compiled", false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "mm1", "", "mm1_amount", 0)))
}{(display: "Spell Index")
(if: $part_learned is 1)[(set: $spells's $spell_name's part1_found to true)]
(if: $part_learned is 2)[(set: $spells's $spell_name's part2_found to true)]
(if: $part_learned is 3)[(set: $spells's $spell_name's part3_found to true)]
(if: $part_learned is 4)[(set: $spells's $spell_name's part4_found to true)]
<script>
function populateSpellText()
{
var part_learned = getHarloweVariable("part_learned");
var spell_name = getHarloweVariable("spell_name");
var under_value = replaceAll(spell_name, " ","_");
var spell_id = "#spell_index #" + under_value + "_desc .part_num_" + part_learned;
var desc = $(spell_id).html();
$("#spell_text").append(desc);
var to_append = "";
var spells = window.getHarloweVariable("spells");
var spell = spells.get(spell_name);
var parts = spell.get("parts");
var part1_found = spell.get("part1_found");
var part2_found = spell.get("part2_found");
var part3_found = spell.get("part3_found");
var part4_found = spell.get("part4_found");
var parts_found = 0;
if(part1_found) parts_found++;
if(part2_found) parts_found++;
if(part3_found) parts_found++;
if(part4_found) parts_found++;
to_append += "Collected " + parts_found + " of " + parts + " parts of this spell.\n\n";
if(parts_found == parts){
to_append += "I have found all the pieces of this spell.<br/><br/>I can COMPILE it in the inventory.";
setHarloweVariable("d_first_spell","ready");
}
console.log(to_append);
$("#parts_coll").append(to_append);
}
populateSpellText();
</script>
}
<span class="highlight">''//Discovered part of spell (print: $spell_name + "()")//''</span>
<span id='spell_text' class="highlight2"></span>
//<span id='parts_coll' class="highlight"></span>//
(if: $dream_sequence is 0)[{
(set: $currentPassage to $previous_passage)
(display: "Dream Index")
(set: $dream_sequence to 1)
(set: $dream_text to "")
(set: $collected_text to "")
(set: $dream_complete to false)
(if: $part_learned is 1)[(set: $memories's $dream_name's part1_found to true)]
(if: $part_learned is 2)[(set: $memories's $dream_name's part2_found to true)]
(if: $part_learned is 3)[(set: $memories's $dream_name's part3_found to true)]
(if: $part_learned is 4)[(set: $memories's $dream_name's part4_found to true)]
(if: $part_learned is 5)[(set: $memories's $dream_name's part5_found to true)]
<script>
function populateDreamText()
{
var part_learned = getHarloweVariable("part_learned");
var dream_name = getHarloweVariable("dream_name");
var under_value = replaceAll(dream_name, " ","_");
var dream_id = "#dream_index #" + under_value + "_desc .part_num_" + part_learned;
var desc = $(dream_id).html();
desc = desc.replace(/<span class="invisible" data-raw=""(.*?)<\/span>/g,"");
desc = desc.replace(/<\/?span[^>]*>/g,"");
setHarloweVariable("dream_text",desc);
var to_append = "";
var memories = window.getHarloweVariable("memories");
var memory = memories.get(dream_name);
var parts = memory.get("parts");
var part1_found = memory.get("part1_found");
var part2_found = memory.get("part2_found");
var part3_found = memory.get("part3_found");
var part4_found = memory.get("part4_found");
var part5_found = memory.get("part5_found");
var parts_found = 0;
if(part1_found) parts_found++;
if(part2_found) parts_found++;
if(part3_found) parts_found++;
if(part4_found) parts_found++;
if(part5_found) parts_found++;
var collected_text = "Collected " + parts_found + " of " + parts + " parts of this dream.";
if(parts_found == parts){
setHarloweVariable("dream_complete",true);
}
setHarloweVariable("collected_text",collected_text);
goToPassage("Update Dream");
}
populateDreamText();
</script>}](else:)[(set: $dream_sequence to 0)''//Discovered part of dream:// <span class="highlight">$dream_name''</span>
$dream_text
<span class="highlight">$collected_text</span>
(if: $dream_complete is true)[<span class="highlight">//I have found all the pieces of this memory.
It's time to assemble it.//</span>
|prepare_dream>[Assemble dream.] (click: ?prepare_dream)[(go-to: "Prep Dream" )] ](else:)[I still need more pieces to complete this dream.
|return_from_dreaming>[Search on.] (click: ?return_from_dreaming)[(go-to: $return_passage )] ] ]{
(set: $memories to (datamap:))
(set: $memories to it + (datamap: "i am a sorcerer", (datamap: "location", "Darkness of the Ocean", "completed", true, "expanded",false, "parts", 3, "part1_found", true, "part2_found", true, "part3_found", true, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "SalveMundi", "spell_part", 3)))
(set: $memories to it + (datamap: "the steps of breaking", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "SalveMundi", "spell_part", 2)))
(set: $memories to it + (datamap: "swimming is flying", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "SalveMundi", "spell_part", 1)))
(set: $memories to it + (datamap: "telling the future", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Omini", "spell_part", 1)))
(set: $memories to it + (datamap: "alchemical process of now", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Omini", "spell_part", 2)))
(set: $memories to it + (datamap: "select prophesy", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Omini", "spell_part", 3)))
(set: $memories to it + (datamap: "true meaning", (datamap: "location", "Lost Soul's Diner", "completed", false, "expanded",false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Unbabble", "spell_part", 1)))
(set: $memories to it + (datamap: "silence is not only golden", (datamap: "location", "The Depths", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Mute", "spell_part", 1)))
(set: $memories to it + (datamap: "too tired to yell", (datamap: "location", "Wailing Pit", "completed", false, "expanded",false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Suffero", "spell_part", 1)))
(set: $memories to it + (datamap: "hate hospitals", (datamap: "location", "Wailing Pit", "completed", false, "expanded",false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Suffero", "spell_part", 2)))
(set: $memories to it + (datamap: "after bale", (datamap: "location", "Wailing Pit", "completed", false, "expanded",false, "parts", 1, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Suffero", "spell_part", 3)))
(set: $memories to it + (datamap: "i cannot fix my leg with magic", (datamap: "location", "Geisthome", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Dream", "spell_part", 1)))
(set: $memories to it + (datamap: "permanent break", (datamap: "location", "Geisthome", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Dream", "spell_part", 2)))
(set: $memories to it + (datamap: "independence", (datamap: "location", "Geisthome", "completed", false, "expanded",false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Dream", "spell_part", 3)))
(set: $memories to it + (datamap: "decorations", (datamap: "location", "Geisthome", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Dream", "spell_part", 4)))
(set: $memories to it + (datamap: "how scarf", (datamap: "location", "Fairyland", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Textilekinesis", "spell_part", 1)))
(set: $memories to it + (datamap: "why scarf", (datamap: "location", "Fairyland", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Textilekinesis", "spell_part", 2)))
(set: $memories to it + (datamap: "what scarf", (datamap: "location", "Fairyland", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Textilekinesis", "spell_part", 3)))
(set: $memories to it + (datamap: "fire finds me", (datamap: "location", "FiddlersGreen", "completed", false, "expanded",false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Rezrov", "spell_part", 1)))
(set: $memories to it + (datamap: "quiet boy", (datamap: "location", "FiddlersGreen", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Rezrov", "spell_part", 2)))
(set: $memories to it + (datamap: "pokemon", (datamap: "location", "FiddlersGreen", "completed", false, "expanded",false, "parts", 5, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Rezrov", "spell_part", 3)))
(set: $memories to it + (datamap: "middle school", (datamap: "location", "FiddlersGreen", "completed", false, "expanded",false, "parts", 4, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Rezrov", "spell_part", 4)))
(set: $memories to it + (datamap: "vengeance", (datamap: "location", "Atlantix", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Freeze", "spell_part", 1)))
(set: $memories to it + (datamap: "notice the world", (datamap: "location", "Darkness of the Ocean", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Scan", "spell_part", 1)))
(set: $memories to it + (datamap: "everything in the world", (datamap: "location", "Lost Souls Diner", "completed", false, "expanded",false, "parts", 3, "part1_found", false, "part2_found", false, "part3_found", false, "part4_found", false, "part5_found", false, "part6_found", false, "spell_name", "Scan", "spell_part", 2)))
}{
<script>
function displayMM(){
var mm_to_change = getHarloweVariable("mm_to_change");
var mm_value = getHarloweVariable("mm_value");
var old_value = getHarloweVariable("m_m_" + mm_to_change);
var new_value = old_value + mm_value;
if(new_value < 0) new_value = 0;
if(mm_value > 0) display_string = "Gained " + mm_value + " <span class='" + ucfirst(mm_to_change) + "'>" + ucfirst(mm_to_change) + "</span>";
else display_string = "Lost " + (0 - mm_value) + " <span class='" + mm_to_change + "'>" + ucfirst(mm_to_change) + "</span>";
$("#mm_display").append(display_string);
if(mm_value > 0) playAudio("aa_health");
}
displayMM();
</script>
<script>
function updateMM(){
var mm_to_change = getHarloweVariable("mm_to_change").toLowerCase();
var mm_value = getHarloweVariable("mm_value");
var old_value = getHarloweVariable("m_m_" + mm_to_change);
var new_value = old_value + mm_value;
if(new_value < 0) new_value = 0;
setHarloweVariable("m_m_" + mm_to_change,new_value);
}
updateMM();
</script>
}<span style="font-weight: italics;" id="mm_display"></span>dream_name
$dream_name
CORRECT
$correct_dream
COMPLETE
$complete_dream(if: $compile_sequence is 1)[{
(set: $compile_sequence to 0)
(if: $error_at_m_m is true or $error_at_code is true)[<script>playAudio("aa_compile_fizzle");</script>](else:)[<script>playAudio("aa_compile");</script>]
}''//Compiling spell <span class="highlight">(print: $compiling_spell + "()")//''</span>
`{`
<span class="highlight2">$spell_text</span>
`}`
(live: 0.5s)[(stop:)Precompiling arcana...
(live: 0.5s)[(stop:)Building code...
(if: $error_at_code is true)[ {$compile_errors}
|return_from_compile>[COMPILE FAILED]](else:)[(live: 0.5s)[(stop:)Injecting matters and motives...
(if: $error_at_m_m is true)[ {$compile_errors}
|return_from_compile>[COMPILE FAILED]](else:)[(live: 0.5s)[(stop:)Publishing spell...
<span class="highlight">SPELL COMPILED
YOU CAN NOW CAST ''//(print: $compiling_spell + "()")//''</span>
{
(set: $spells's $compiling_spell's compiled to true)
}
|return_from_compile>[Continue]
]]]]]]
(click: ?return_from_compile)[<script>returnFromCompile();</script>]{
<script>
function returnFromCompile(){
var compiling_spell = geth("compiling_spell");
var compile_errors = geth("compile_errors");
if(compile_errors == ""){
addAchieve(compiling_spell);
if(compiling_spell == "Omini")
addAchieve("Ghostbuster");
}
if(compiling_spell == "SalveMundi" || compiling_spell == "Dream" || compiling_spell == "Nightmare"){
addInvCommand("compiling_spell",compiling_spell,"add");
savegame("ReturnFlag","RETURNING");
loadgame("MenuSave");
}else{
goToPassage("Menu_Inventory");
}
}
</script>
}
](else:)[{
(set: $compile_sequence to 1)
(display: "Spell Index")
<script>
function compileSpell() {
var name = getHarloweVariable("compiling_spell");
var spells = getHarloweVariable("spells");
var spell = spells.get(name);
var desc = spell.get("description");
var under_value = replaceAll(name, " ","_");
var parts = spell.get("parts");
var part1_found = spell.get("part1_found");
var part2_found = spell.get("part2_found");
var part3_found = spell.get("part3_found");
var part4_found = spell.get("part4_found");
var parts_found = 0;
if(part1_found) parts_found++;
if(part2_found) parts_found++;
if(part3_found) parts_found++;
if(part4_found) parts_found++;
var mm1 = spell.get("mm1");
var mm1_amount = spell.get("mm1_amount");
var mm_text = "";
var error_at_m_m = false;
var error_at_code = false;
var errors = "";
if(parts_found != parts) { errors += ("<span style='color:crimson;'>ERROR:</span> Program incomplete. Requires " + (parts - parts_found) + " more code blocks.<br/>"); error_at_code = true;}
if(mm1 != "" && !mm_found(mm1,mm1_amount)) {errors += ("<span style='color:crimson;'>ERROR:</span> Insufficient " + mm1 + ". Gather more " + mm1 + "."); error_at_m_m = true; }
var have_wheelchair = getHarloweVariable("have_wheelchair");
if(have_wheelchair && mm1 == "wheelchair"){ error_at_m_m = false; }
setHarloweVariable("compile_errors",errors);
setHarloweVariable("error_at_m_m",error_at_m_m);
setHarloweVariable("error_at_code",error_at_code);
if(errors == ""){
mm_deduct(mm1,mm1_amount);
if(mm1 != "")
addInvCommand("deductmm",mm1+"~"+mm1_amount,"add");
addInvCommand("compile",name,"add");
}
var under_value = replaceAll(name, " ","_");
var spell_id = "#spell_index #" + under_value + "_desc .part_num_";
var spell_text = "";
if(part1_found) spell_text += " " + $(spell_id + "1").html() + "<br/>";
if(part2_found) spell_text += " " + $(spell_id + "2").html() + "<br/>";
if(part3_found) spell_text += " " + $(spell_id + "3").html() + "<br/>";
if(part4_found) spell_text += " " + $(spell_id + "4").html() + "<br/>";
setHarloweVariable("spell_text",spell_text);
goToPassage("Menu Compile Spell");
}
function mm_found(mm,mm_amount)
{
if(mm != ""){
var cur_amount = getHarloweVariable("m_m_" + mm);
if(cur_amount >= mm_amount) return true;
}
return false;
}
function mm_deduct(mm,mm_amount)
{
if(mm != ""){
var cur_amount = getHarloweVariable("m_m_" + mm);
var new_amount = cur_amount - mm_amount;
setHarloweVariable("m_m_" + mm, new_amount);
}
}
compileSpell();
</script>
}]{
(set: $sorted_spells to (datanames: $spells))
(set: $casting_spell to "")
(if: $destination is "Fiddler's Green" and $fg_fiddler_follow is true)[(set: $fg_pisces_last_action to "cast")]
<script>
function printElementSpell(value, index, map) {
var spells = getHarloweVariable("spells");
var spell = spells.get(value);
var desc = spell.get("description");
var exp = spell.get("expanded");
var comp = spell.get("compiled");
var under_value = replaceAll(value, " ","_");
var to_append = "";
var spellCount = 0;
for (let [key, value] of spells) if(value.get("compiled") == true) spellCount++;
console.log("spellCount",spellCount);
var columns = 1;
if(spellCount > 6){
columns = 2;
$("#spell-col-1").css("width","48%").css("margin-right","2%");
$("#spell-col-2").css("width","48%");
}
var inColumn = 1;
if(columns == 2 && index > spellCount/2) inColumn = 2;
if(comp == true){
to_append = "<div name='"+value+"' onclick='castSpell(this)' class='inv-target inv-border'><div class='inv-item'>";
to_append += "<span class='inv-title'>"+value+"</span> <br/>";
to_append += "<span id='inv-desc-"+under_value+"'";
to_append += ">" + desc + "</span>";
to_append += "</div></div>";
if(inColumn == 1) $("#spell-col-1").append(to_append);
else if(inColumn == 2) $("#spell-col-2").append(to_append);
}
}
function castSpell(e){
setHarloweVariable("casting_spell",e.getAttribute('name'));
var return_area = getHarloweVariable("return_from_spell");
goToPassage(return_area);
}
</script>
<style>
.inv-target{
cursor: pointer;
width: 100%;
}
.inv-item { padding: 5px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-title { font-weight: bold; }
.inv-border {
border: 2px solid #4169E1;
padding: 0.01em 16px;
border-radius: 9px;
clear: both;
margin-bottom: 40px;
}
.inv-border:hover {
border: 2px solid blue;
}
#spell-col-1, #spell-col-2 {
float: left;
width: 75%;
}
#spells{ z-index: 6; }
</style>
}Which spell should I cast?
<span id="spells"><span id="spell-col-1"></span><span id="spell-col-2"></span></span><script>getHarloweVariable("sorted_spells").forEach(printElementSpell);</script><div style="clear: both;"></div>
|dont_cast>[Don't cast a spell.]
(click: ?dont_cast)[(go-to: $return_passage)](if: $sequence_death is 1)[$janet_name She's gone.
$janet_name I'm sorry.
(set: $sequence_death to 0)
|Restart>[Restart]
|config>[Restore] ](else:)[Somewhere far above me, my heart stops.
(set: $depth to 0)
(if: $amif is true)[|Restart>[Restart]
|config>[Restore]
](else:)[|next_death>[Continue]]
]{
(click: ?next_death)[(set: $sequence_death to 1)(go-to: $currentPassage)]
<script>
resetScreen();
musicStopAll();
$( "tw-story" ).css("top","0");
$("#travel_control_panel").remove();
$("#atlantis_back").remove();
</script>
(click: ?config)[(go-to: "Menu_Restore")]
(set: $custom_colors to "")
(set: $noMenu to true)
}<style> tw-passage { text-align: center; }</style><div class="small_menu_items"> |Restart>[New Game] / (if: $currentPassage is "Menu_Restore")[Load Game](else:)[|menu_restore>[Load Game]] / (if: $currentPassage is "Menu_options")[Options](else:)[|menu_options>[Options]] / (if: $amif is not true)[(if: $currentPassage is "Menu_Achievements")[Achievements](else:)[|menu_achievements>[Achievements]] / ](if: $currentPassage is "Menu_OtherGames")[Other Games](else:)[|menu_othergames>[Other Games]] (if: $menu_quit is true and $amif is not true)[/ |quit>[Quit]] </div>{
(set: $sorted_spells to (datanames: $spells))
(set: $casting_spell to "")
(if: $destination is "Fiddler's Green" and $fg_fiddler_follow is true)[(set: $fg_pisces_last_action to "cast")]
<script>
function printElementSpell(value, index, map) {
var spells = getHarloweVariable("spells");
var spell = spells.get(value);
var desc = spell.get("description");
var comp = spell.get("compiled");
var under_value = replaceAll(value, " ","_");
var to_append = "";
var spellCount = 0;
for (let [key, value] of spells) if(value.get("compiled") == true) spellCount++;
console.log("spellCount",spellCount);
var columns = 1;
if(spellCount > 6){
columns = 2;
$("#spell-col-1").css("width","48%").css("margin-right","2%");
$("#spell-col-2").css("width","48%");
}
var inColumn = 1;
var spellNum = $("#spell-col-1 div").length/2;
console.log("spellNum",spellNum);
if(columns == 2 && spellNum > spellCount/2) inColumn = 2;
console.log("spellCount/2",spellCount/2);
console.log("inColumn",inColumn);
if(comp == true){
to_append = "<div name='"+value+"' onclick='castSpell(this)' class='inv-target inv-spell-border'><div class='inv-item'>";
to_append += "<span class='inv-title'>"+value+"</span> <br/>";
to_append += "<span id='inv-desc-"+under_value+"'";
to_append += ">" + desc + "</span>";
to_append += "</div></div>";
if(inColumn == 1) $("#spell-col-1").append(to_append);
else if(inColumn == 2) $("#spell-col-2").append(to_append);
}
}
function castSpell(e){
setHarloweVariable("casting_spell",e.getAttribute('name'));
var currentPassage = getHarloweVariable("currentPassage");
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
seth("current_action","resolving spell");
goToPassage(currentPassage);
}
</script>
<style>
.inv-target{
cursor: pointer;
width: 100%;
}
.inv-item { padding: 5px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-title { font-weight: bold; }
.inv-spell-border {
border: 2px solid #4169E1;
padding: 0.01em 16px;
border-radius: 9px;
clear: both;
margin-bottom: 40px;
}
.inv-spell-border:hover {
border: 2px solid blue;
}
#spell-col-1, #spell-col-2 {
float: left;
width: 75%;
}
#spells{ z-index: 6; }
</style>
}
<div id="spells"><span id="spell-col-1"></span><span id="spell-col-2"></span></div><script>getHarloweVariable("sorted_spells").forEach(printElementSpell);</script><div style="clear: both;"></div>{ <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script>
setTimeout(function(){
$('.txt').html(function(i, html) {
var chars = $.trim(html).split("");
return '<span>' + chars.join('</span><span>') + '</span>';
});
}, 50);
</script>
<style>
.container {
animation: appear 2s ease-in 0s 1;
}
.txt {
display: block;
}
a {
text-decoration: none;
position: absolute;
bottom: 10px;
right: 10px;
text-align: right;
color: #eee;
font-size: 15px;
line-height: 15px;
}
@import url(http://fonts.googleapis.com/css?family=Ubuntu:300);
.anim-text-flow,
.anim-text-flow-hover:hover {
/*
* Animation variables
*/
/*
* Elements settings
*/
/*
* Keyframe loop
*/
/*
* Element animation delay loop
*/
}
.anim-text-flow span,
.anim-text-flow-hover:hover span {
-webkit-animation-name: anim-text-flow-keys;
animation-name: anim-text-flow-keys;
-webkit-animation-duration: 50s;
animation-duration: 50s;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
-webkit-animation-direction: alternate;
animation-direction: alternate;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
@-webkit-keyframes anim-text-flow-keys {
0% {
color: #5cd6af;
}
5% {
color: #d6745c;
}
10% {
color: #d6975c;
}
15% {
color: #5cd6bc;
}
20% {
color: #c05cd6;
}
25% {
color: #5cd6cc;
}
30% {
color: #5c64d6;
}
35% {
color: #d65c9d;
}
40% {
color: #d65c8b;
}
45% {
color: #d67c5c;
}
50% {
color: #d65c89;
}
55% {
color: #5cb4d6;
}
60% {
color: #b15cd6;
}
65% {
color: #b6d65c;
}
70% {
color: #5cd67c;
}
75% {
color: #ca5cd6;
}
80% {
color: #5cd0d6;
}
85% {
color: #d6645c;
}
90% {
color: #d65ca7;
}
95% {
color: #765cd6;
}
100% {
color: #5c83d6;
}
}
@keyframes anim-text-flow-keys {
0% {
color: #5cd6af;
}
5% {
color: #d6745c;
}
10% {
color: #d6975c;
}
15% {
color: #5cd6bc;
}
20% {
color: #c05cd6;
}
25% {
color: #5cd6cc;
}
30% {
color: #5c64d6;
}
35% {
color: #d65c9d;
}
40% {
color: #d65c8b;
}
45% {
color: #d67c5c;
}
50% {
color: #d65c89;
}
55% {
color: #5cb4d6;
}
60% {
color: #b15cd6;
}
65% {
color: #b6d65c;
}
70% {
color: #5cd67c;
}
75% {
color: #ca5cd6;
}
80% {
color: #5cd0d6;
}
85% {
color: #d6645c;
}
90% {
color: #d65ca7;
}
95% {
color: #765cd6;
}
100% {
color: #5c83d6;
}
}
.anim-text-flow span:nth-of-type(1),
.anim-text-flow-hover:hover span:nth-of-type(1) {
-webkit-animation-delay: -19.8s;
animation-delay: -19.8s;
}
.anim-text-flow span:nth-of-type(2),
.anim-text-flow-hover:hover span:nth-of-type(2) {
-webkit-animation-delay: -19.6s;
animation-delay: -19.6s;
}
.anim-text-flow span:nth-of-type(3),
.anim-text-flow-hover:hover span:nth-of-type(3) {
-webkit-animation-delay: -19.4s;
animation-delay: -19.4s;
}
.anim-text-flow span:nth-of-type(4),
.anim-text-flow-hover:hover span:nth-of-type(4) {
-webkit-animation-delay: -19.2s;
animation-delay: -19.2s;
}
.anim-text-flow span:nth-of-type(5),
.anim-text-flow-hover:hover span:nth-of-type(5) {
-webkit-animation-delay: -19s;
animation-delay: -19s;
}
.anim-text-flow span:nth-of-type(6),
.anim-text-flow-hover:hover span:nth-of-type(6) {
-webkit-animation-delay: -18.8s;
animation-delay: -18.8s;
}
.anim-text-flow span:nth-of-type(7),
.anim-text-flow-hover:hover span:nth-of-type(7) {
-webkit-animation-delay: -18.6s;
animation-delay: -18.6s;
}
.anim-text-flow span:nth-of-type(8),
.anim-text-flow-hover:hover span:nth-of-type(8) {
-webkit-animation-delay: -18.4s;
animation-delay: -18.4s;
}
.anim-text-flow span:nth-of-type(9),
.anim-text-flow-hover:hover span:nth-of-type(9) {
-webkit-animation-delay: -18.2s;
animation-delay: -18.2s;
}
.anim-text-flow span:nth-of-type(10),
.anim-text-flow-hover:hover span:nth-of-type(10) {
-webkit-animation-delay: -18s;
animation-delay: -18s;
}
.anim-text-flow span:nth-of-type(11),
.anim-text-flow-hover:hover span:nth-of-type(11) {
-webkit-animation-delay: -17.8s;
animation-delay: -17.8s;
}
.anim-text-flow span:nth-of-type(12),
.anim-text-flow-hover:hover span:nth-of-type(12) {
-webkit-animation-delay: -17.6s;
animation-delay: -17.6s;
}
.anim-text-flow span:nth-of-type(13),
.anim-text-flow-hover:hover span:nth-of-type(13) {
-webkit-animation-delay: -17.4s;
animation-delay: -17.4s;
}
.anim-text-flow span:nth-of-type(14),
.anim-text-flow-hover:hover span:nth-of-type(14) {
-webkit-animation-delay: -17.2s;
animation-delay: -17.2s;
}
.anim-text-flow span:nth-of-type(15),
.anim-text-flow-hover:hover span:nth-of-type(15) {
-webkit-animation-delay: -17s;
animation-delay: -17s;
}
.anim-text-flow span:nth-of-type(16),
.anim-text-flow-hover:hover span:nth-of-type(16) {
-webkit-animation-delay: -16.8s;
animation-delay: -16.8s;
}
.anim-text-flow span:nth-of-type(17),
.anim-text-flow-hover:hover span:nth-of-type(17) {
-webkit-animation-delay: -16.6s;
animation-delay: -16.6s;
}
.anim-text-flow span:nth-of-type(18),
.anim-text-flow-hover:hover span:nth-of-type(18) {
-webkit-animation-delay: -16.4s;
animation-delay: -16.4s;
}
.anim-text-flow span:nth-of-type(19),
.anim-text-flow-hover:hover span:nth-of-type(19) {
-webkit-animation-delay: -16.2s;
animation-delay: -16.2s;
}
.anim-text-flow span:nth-of-type(20),
.anim-text-flow-hover:hover span:nth-of-type(20) {
-webkit-animation-delay: -16s;
animation-delay: -16s;
}
.anim-text-flow span:nth-of-type(21),
.anim-text-flow-hover:hover span:nth-of-type(21) {
-webkit-animation-delay: -15.8s;
animation-delay: -15.8s;
}
.anim-text-flow span:nth-of-type(22),
.anim-text-flow-hover:hover span:nth-of-type(22) {
-webkit-animation-delay: -15.6s;
animation-delay: -15.6s;
}
.anim-text-flow span:nth-of-type(23),
.anim-text-flow-hover:hover span:nth-of-type(23) {
-webkit-animation-delay: -15.4s;
animation-delay: -15.4s;
}
.anim-text-flow span:nth-of-type(24),
.anim-text-flow-hover:hover span:nth-of-type(24) {
-webkit-animation-delay: -15.2s;
animation-delay: -15.2s;
}
.anim-text-flow span:nth-of-type(25),
.anim-text-flow-hover:hover span:nth-of-type(25) {
-webkit-animation-delay: -15s;
animation-delay: -15s;
}
.anim-text-flow span:nth-of-type(26),
.anim-text-flow-hover:hover span:nth-of-type(26) {
-webkit-animation-delay: -14.8s;
animation-delay: -14.8s;
}
.anim-text-flow span:nth-of-type(27),
.anim-text-flow-hover:hover span:nth-of-type(27) {
-webkit-animation-delay: -14.6s;
animation-delay: -14.6s;
}
.anim-text-flow span:nth-of-type(28),
.anim-text-flow-hover:hover span:nth-of-type(28) {
-webkit-animation-delay: -14.4s;
animation-delay: -14.4s;
}
.anim-text-flow span:nth-of-type(29),
.anim-text-flow-hover:hover span:nth-of-type(29) {
-webkit-animation-delay: -14.2s;
animation-delay: -14.2s;
}
.anim-text-flow span:nth-of-type(30),
.anim-text-flow-hover:hover span:nth-of-type(30) {
-webkit-animation-delay: -14s;
animation-delay: -14s;
}
.anim-text-flow span:nth-of-type(31),
.anim-text-flow-hover:hover span:nth-of-type(31) {
-webkit-animation-delay: -13.8s;
animation-delay: -13.8s;
}
.anim-text-flow span:nth-of-type(32),
.anim-text-flow-hover:hover span:nth-of-type(32) {
-webkit-animation-delay: -13.6s;
animation-delay: -13.6s;
}
.anim-text-flow span:nth-of-type(33),
.anim-text-flow-hover:hover span:nth-of-type(33) {
-webkit-animation-delay: -13.4s;
animation-delay: -13.4s;
}
.anim-text-flow span:nth-of-type(34),
.anim-text-flow-hover:hover span:nth-of-type(34) {
-webkit-animation-delay: -13.2s;
animation-delay: -13.2s;
}
.anim-text-flow span:nth-of-type(35),
.anim-text-flow-hover:hover span:nth-of-type(35) {
-webkit-animation-delay: -13s;
animation-delay: -13s;
}
.anim-text-flow span:nth-of-type(36),
.anim-text-flow-hover:hover span:nth-of-type(36) {
-webkit-animation-delay: -12.8s;
animation-delay: -12.8s;
}
.anim-text-flow span:nth-of-type(37),
.anim-text-flow-hover:hover span:nth-of-type(37) {
-webkit-animation-delay: -12.6s;
animation-delay: -12.6s;
}
.anim-text-flow span:nth-of-type(38),
.anim-text-flow-hover:hover span:nth-of-type(38) {
-webkit-animation-delay: -12.4s;
animation-delay: -12.4s;
}
.anim-text-flow span:nth-of-type(39),
.anim-text-flow-hover:hover span:nth-of-type(39) {
-webkit-animation-delay: -12.2s;
animation-delay: -12.2s;
}
.anim-text-flow span:nth-of-type(40),
.anim-text-flow-hover:hover span:nth-of-type(40) {
-webkit-animation-delay: -12s;
animation-delay: -12s;
}
.anim-text-flow span:nth-of-type(41),
.anim-text-flow-hover:hover span:nth-of-type(41) {
-webkit-animation-delay: -11.8s;
animation-delay: -11.8s;
}
.anim-text-flow span:nth-of-type(42),
.anim-text-flow-hover:hover span:nth-of-type(42) {
-webkit-animation-delay: -11.6s;
animation-delay: -11.6s;
}
.anim-text-flow span:nth-of-type(43),
.anim-text-flow-hover:hover span:nth-of-type(43) {
-webkit-animation-delay: -11.4s;
animation-delay: -11.4s;
}
.anim-text-flow span:nth-of-type(44),
.anim-text-flow-hover:hover span:nth-of-type(44) {
-webkit-animation-delay: -11.2s;
animation-delay: -11.2s;
}
.anim-text-flow span:nth-of-type(45),
.anim-text-flow-hover:hover span:nth-of-type(45) {
-webkit-animation-delay: -11s;
animation-delay: -11s;
}
.anim-text-flow span:nth-of-type(46),
.anim-text-flow-hover:hover span:nth-of-type(46) {
-webkit-animation-delay: -10.8s;
animation-delay: -10.8s;
}
.anim-text-flow span:nth-of-type(47),
.anim-text-flow-hover:hover span:nth-of-type(47) {
-webkit-animation-delay: -10.6s;
animation-delay: -10.6s;
}
.anim-text-flow span:nth-of-type(48),
.anim-text-flow-hover:hover span:nth-of-type(48) {
-webkit-animation-delay: -10.4s;
animation-delay: -10.4s;
}
.anim-text-flow span:nth-of-type(49),
.anim-text-flow-hover:hover span:nth-of-type(49) {
-webkit-animation-delay: -10.2s;
animation-delay: -10.2s;
}
.anim-text-flow span:nth-of-type(50),
.anim-text-flow-hover:hover span:nth-of-type(50) {
-webkit-animation-delay: -10s;
animation-delay: -10s;
}
.anim-text-flow span:nth-of-type(51),
.anim-text-flow-hover:hover span:nth-of-type(51) {
-webkit-animation-delay: -9.8s;
animation-delay: -9.8s;
}
.anim-text-flow span:nth-of-type(52),
.anim-text-flow-hover:hover span:nth-of-type(52) {
-webkit-animation-delay: -9.6s;
animation-delay: -9.6s;
}
.anim-text-flow span:nth-of-type(53),
.anim-text-flow-hover:hover span:nth-of-type(53) {
-webkit-animation-delay: -9.4s;
animation-delay: -9.4s;
}
.anim-text-flow span:nth-of-type(54),
.anim-text-flow-hover:hover span:nth-of-type(54) {
-webkit-animation-delay: -9.2s;
animation-delay: -9.2s;
}
.anim-text-flow span:nth-of-type(55),
.anim-text-flow-hover:hover span:nth-of-type(55) {
-webkit-animation-delay: -9s;
animation-delay: -9s;
}
.anim-text-flow span:nth-of-type(56),
.anim-text-flow-hover:hover span:nth-of-type(56) {
-webkit-animation-delay: -8.8s;
animation-delay: -8.8s;
}
.anim-text-flow span:nth-of-type(57),
.anim-text-flow-hover:hover span:nth-of-type(57) {
-webkit-animation-delay: -8.6s;
animation-delay: -8.6s;
}
.anim-text-flow span:nth-of-type(58),
.anim-text-flow-hover:hover span:nth-of-type(58) {
-webkit-animation-delay: -8.4s;
animation-delay: -8.4s;
}
.anim-text-flow span:nth-of-type(59),
.anim-text-flow-hover:hover span:nth-of-type(59) {
-webkit-animation-delay: -8.2s;
animation-delay: -8.2s;
}
.anim-text-flow span:nth-of-type(60),
.anim-text-flow-hover:hover span:nth-of-type(60) {
-webkit-animation-delay: -8s;
animation-delay: -8s;
}
.anim-text-flow span:nth-of-type(61),
.anim-text-flow-hover:hover span:nth-of-type(61) {
-webkit-animation-delay: -7.8s;
animation-delay: -7.8s;
}
.anim-text-flow span:nth-of-type(62),
.anim-text-flow-hover:hover span:nth-of-type(62) {
-webkit-animation-delay: -7.6s;
animation-delay: -7.6s;
}
.anim-text-flow span:nth-of-type(63),
.anim-text-flow-hover:hover span:nth-of-type(63) {
-webkit-animation-delay: -7.4s;
animation-delay: -7.4s;
}
.anim-text-flow span:nth-of-type(64),
.anim-text-flow-hover:hover span:nth-of-type(64) {
-webkit-animation-delay: -7.2s;
animation-delay: -7.2s;
}
.anim-text-flow span:nth-of-type(65),
.anim-text-flow-hover:hover span:nth-of-type(65) {
-webkit-animation-delay: -7s;
animation-delay: -7s;
}
.anim-text-flow span:nth-of-type(66),
.anim-text-flow-hover:hover span:nth-of-type(66) {
-webkit-animation-delay: -6.8s;
animation-delay: -6.8s;
}
.anim-text-flow span:nth-of-type(67),
.anim-text-flow-hover:hover span:nth-of-type(67) {
-webkit-animation-delay: -6.6s;
animation-delay: -6.6s;
}
.anim-text-flow span:nth-of-type(68),
.anim-text-flow-hover:hover span:nth-of-type(68) {
-webkit-animation-delay: -6.4s;
animation-delay: -6.4s;
}
.anim-text-flow span:nth-of-type(69),
.anim-text-flow-hover:hover span:nth-of-type(69) {
-webkit-animation-delay: -6.2s;
animation-delay: -6.2s;
}
.anim-text-flow span:nth-of-type(70),
.anim-text-flow-hover:hover span:nth-of-type(70) {
-webkit-animation-delay: -6s;
animation-delay: -6s;
}
.anim-text-flow span:nth-of-type(71),
.anim-text-flow-hover:hover span:nth-of-type(71) {
-webkit-animation-delay: -5.8s;
animation-delay: -5.8s;
}
.anim-text-flow span:nth-of-type(72),
.anim-text-flow-hover:hover span:nth-of-type(72) {
-webkit-animation-delay: -5.6s;
animation-delay: -5.6s;
}
.anim-text-flow span:nth-of-type(73),
.anim-text-flow-hover:hover span:nth-of-type(73) {
-webkit-animation-delay: -5.4s;
animation-delay: -5.4s;
}
.anim-text-flow span:nth-of-type(74),
.anim-text-flow-hover:hover span:nth-of-type(74) {
-webkit-animation-delay: -5.2s;
animation-delay: -5.2s;
}
.anim-text-flow span:nth-of-type(75),
.anim-text-flow-hover:hover span:nth-of-type(75) {
-webkit-animation-delay: -5s;
animation-delay: -5s;
}
.anim-text-flow span:nth-of-type(76),
.anim-text-flow-hover:hover span:nth-of-type(76) {
-webkit-animation-delay: -4.8s;
animation-delay: -4.8s;
}
.anim-text-flow span:nth-of-type(77),
.anim-text-flow-hover:hover span:nth-of-type(77) {
-webkit-animation-delay: -4.6s;
animation-delay: -4.6s;
}
.anim-text-flow span:nth-of-type(78),
.anim-text-flow-hover:hover span:nth-of-type(78) {
-webkit-animation-delay: -4.4s;
animation-delay: -4.4s;
}
.anim-text-flow span:nth-of-type(79),
.anim-text-flow-hover:hover span:nth-of-type(79) {
-webkit-animation-delay: -4.2s;
animation-delay: -4.2s;
}
.anim-text-flow span:nth-of-type(80),
.anim-text-flow-hover:hover span:nth-of-type(80) {
-webkit-animation-delay: -4s;
animation-delay: -4s;
}
.anim-text-flow span:nth-of-type(81),
.anim-text-flow-hover:hover span:nth-of-type(81) {
-webkit-animation-delay: -3.8s;
animation-delay: -3.8s;
}
.anim-text-flow span:nth-of-type(82),
.anim-text-flow-hover:hover span:nth-of-type(82) {
-webkit-animation-delay: -3.6s;
animation-delay: -3.6s;
}
.anim-text-flow span:nth-of-type(83),
.anim-text-flow-hover:hover span:nth-of-type(83) {
-webkit-animation-delay: -3.4s;
animation-delay: -3.4s;
}
.anim-text-flow span:nth-of-type(84),
.anim-text-flow-hover:hover span:nth-of-type(84) {
-webkit-animation-delay: -3.2s;
animation-delay: -3.2s;
}
.anim-text-flow span:nth-of-type(85),
.anim-text-flow-hover:hover span:nth-of-type(85) {
-webkit-animation-delay: -3s;
animation-delay: -3s;
}
.anim-text-flow span:nth-of-type(86),
.anim-text-flow-hover:hover span:nth-of-type(86) {
-webkit-animation-delay: -2.8s;
animation-delay: -2.8s;
}
.anim-text-flow span:nth-of-type(87),
.anim-text-flow-hover:hover span:nth-of-type(87) {
-webkit-animation-delay: -2.6s;
animation-delay: -2.6s;
}
.anim-text-flow span:nth-of-type(88),
.anim-text-flow-hover:hover span:nth-of-type(88) {
-webkit-animation-delay: -2.4s;
animation-delay: -2.4s;
}
.anim-text-flow span:nth-of-type(89),
.anim-text-flow-hover:hover span:nth-of-type(89) {
-webkit-animation-delay: -2.2s;
animation-delay: -2.2s;
}
.anim-text-flow span:nth-of-type(90),
.anim-text-flow-hover:hover span:nth-of-type(90) {
-webkit-animation-delay: -2s;
animation-delay: -2s;
}
.anim-text-flow span:nth-of-type(91),
.anim-text-flow-hover:hover span:nth-of-type(91) {
-webkit-animation-delay: -1.8s;
animation-delay: -1.8s;
}
.anim-text-flow span:nth-of-type(92),
.anim-text-flow-hover:hover span:nth-of-type(92) {
-webkit-animation-delay: -1.6s;
animation-delay: -1.6s;
}
.anim-text-flow span:nth-of-type(93),
.anim-text-flow-hover:hover span:nth-of-type(93) {
-webkit-animation-delay: -1.4s;
animation-delay: -1.4s;
}
.anim-text-flow span:nth-of-type(94),
.anim-text-flow-hover:hover span:nth-of-type(94) {
-webkit-animation-delay: -1.2s;
animation-delay: -1.2s;
}
.anim-text-flow span:nth-of-type(95),
.anim-text-flow-hover:hover span:nth-of-type(95) {
-webkit-animation-delay: -1s;
animation-delay: -1s;
}
.anim-text-flow span:nth-of-type(96),
.anim-text-flow-hover:hover span:nth-of-type(96) {
-webkit-animation-delay: -0.8s;
animation-delay: -0.8s;
}
.anim-text-flow span:nth-of-type(97),
.anim-text-flow-hover:hover span:nth-of-type(97) {
-webkit-animation-delay: -0.6s;
animation-delay: -0.6s;
}
.anim-text-flow span:nth-of-type(98),
.anim-text-flow-hover:hover span:nth-of-type(98) {
-webkit-animation-delay: -0.4s;
animation-delay: -0.4s;
}
.anim-text-flow span:nth-of-type(99),
.anim-text-flow-hover:hover span:nth-of-type(99) {
-webkit-animation-delay: -0.2s;
animation-delay: -0.2s;
}
.anim-text-flow span:nth-of-type(100),
.anim-text-flow-hover:hover span:nth-of-type(100) {
-webkit-animation-delay: 0s;
animation-delay: 0s;
}
</style>}<canvas width="1983px" height="1389px" id="spotlight_canvas" style="position: absolute; top: 0px; left: 0px; z-index: 100;"></canvas>{
<script type="text/javascript">/*************************************************************
* This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com
* Feel free to distribute and modify code, but keep reference to its creator
*
* Spotlight class creates a spotlight like visual cue to
* concentrate visitors attention to specific elements
*
* For more information, examples and online documentation visit:
* http://webcodingeasy.com/JS-classes/Javascript-Spotlight-visual-cue
**************************************************************/
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('7 1o=5(f){7 g={T:"G(0,0,0,0.9)",R:0,Y:0.2,W:17,Z:20,13:10,Q:1y,V:17,K:A,L:A,M:A,N:A,S:A,X:A};7 d,q,3={},6={},t={};3.x=0,3.y=0,3.r=0,3.p=0,6.x=0,6.y=0,6.r=0,6.p=0,t.x=0,t.y=0,t.r=0,t.p=0;7 h=5(){d=m();1q(7 a 1w f){g[a]=f[a]}3.r=g.W;6.r=g.W;3.p=g.Z;6.p=g.Z;7 b;8(4.19("O")){b=4.19("O");q=b.15("1g")}C{b=4.1t("1D");b.1e("E",d.E+"1i");b.1e("D",d.D+"1i");b.I.1A="1H";b.I.1F="1b";b.I.1J="1b";b.I.V=g.V;b.1L="O";q=b.15("1g");4.v.1p(b)}8(g.N||g.M){n(b,"1C",5(e){e=o(e);8(((e.F-3.x)*(e.F-3.x))+((e.B-3.y)*(e.B-3.y))<=3.r*3.r){8(g.M){g.M(e)}}C{8(g.N){g.N(e)}}})}8(g.K||g.L){n(b,"1v",5(e){e=o(e);8(((e.F-3.x)*(e.F-3.x))+((e.B-3.y)*(e.B-3.y))<=3.r*3.r){8(g.K){g.K(e)}}C{8(g.L){g.L(e)}}})}};u.1P=5(x,y,r){l(x,y,r)};u.1K=5(){k()};u.H=5(x,y,r,a,b){6.x=x;6.y=y;6.r=r;6.p=a;b=(b)?b:g.Q;t.x=s.J(6.x-3.x)/b;t.y=s.J(6.y-3.y)/b;t.r=s.J(6.r-3.r)/b;t.p=s.J(6.p-3.p)/b;8(g.S){g.S()}i()};u.1s=5(x,y){u.H(x,y,3.r,3.p)};u.1R=5(r){u.H(3.x,3.y,r,3.p)};u.p=5(a){u.H(3.x,3.y,3.r,a)};u.1G=5(a){g.T=a;l(3.x,3.y)};u.1Z=5(a,b){g.R=a;g.Y=b;l(3.x,3.y)};u.1V=5(a){g.Q=a};7 i=5(){7 a=11;a=j("x",a);a=j("y",a);a=j("r",a);a=j("p",a);l(3.x,3.y,3.r,3.p);8(a){1z(i,g.13)}C{8(g.X){g.X()}}};7 j=5(a,b){8(3[a]>6[a]){3[a]-=t[a];b=14}C 8(3[a]<6[a]){3[a]+=t[a];b=14}8(3[a]>6[a]-t[a]&&3[a]<6[a]+t[a]){3[a]=6[a]}U b};7 k=5(){q.18="1N-1T";q.1X(0,0,d.E,d.D);q.12=g.T;q.1r(0,0,d.E,d.D)};7 l=5(x,y,r,a){k();3.x=x;3.y=y;r=(r)?r:3.r;3.r=r;a=(a)?a:3.p;3.p=a;7 b=r+a;7 c=q.1Q(x,y,0,x,y,b);c.P(0,"G(0,0,0,"+(1-g.R)+")");c.P(r/b,"G(0,0,0,"+(1-g.Y)+")");c.P(1,"G(0,0,0,0)");q.18="1E-1W";q.12=c;q.1x();q.1U(x,y,b,0,s.21*2);q.22()};7 m=5(){7 a=1M 1Y();a.E=0;a.D=0;a.E=s.z(s.z(4.v.1a,4.w.1a),s.z(4.v.16,4.w.16),s.z(4.v.1d,4.w.1d));a.D=s.z(s.z(4.v.1h,4.w.1h),s.z(4.v.1k,4.w.1k),s.z(4.v.1m,4.w.1m));U a};7 n=5(a,b,c){8(a.1n){a.1n(b,c,11)}C{a.1u(\'1B\'+b,c)}};7 o=5(e){8(1c e.B==\'1O\'&&1c e.1j==\'1I\'&&4.w){e.F=e.1j+4.v.1f+4.w.1f;e.B=e.1S+4.v.1l+4.w.1l};U e};h()}',62,127,'|||current|document|function|target|var|if|||||||||||||||||blur|ctx||Math|step|this|body|documentElement|||max|null|pageY|else|height|width|pageX|rgba|animate|style|abs|onMouseOver|onMouseOut|onSpotClick|onCanvasClick|spotlight_canvas|addColorStop|steps|lightStart|onAnimationStart|bgColor|return|zIndex|size|onAnimationEnd|lightEnd|blurRadius||false|fillStyle|interval|true|getContext|offsetWidth|100|globalCompositeOperation|getElementById|scrollWidth|0px|typeof|clientWidth|setAttribute|scrollLeft|2d|scrollHeight|px|clientX|offsetHeight|scrollTop|clientHeight|addEventListener|spotlight|appendChild|for|fillRect|move|createElement|attachEvent|mousemove|in|beginPath|50|setTimeout|position|on|click|canvas|destination|top|changeBgColor|absolute|number|left|hide|id|new|source|undefined|show|createRadialGradient|resize|clientY|over|arc|setSteps|out|clearRect|Object|changeSpot||PI|fill'.split('|'),0,{}))</script>
<script type="text/javascript">
var opened = false;
var sp = new spotlight({
steps: 10
});
var currentX = 100;
var currentY = 100;
document.addEventListener('touchstart', spotlightMobile, true);
function spotlightMobile(e){
console.log(e.touches[0].clientX);
var offset = 80;
var hoff = offset/2;
hoff = 0;
var curX = e.touches[0].clientX;
var curY = e.touches[0].clientY;
console.log("touchstart");
if(currentX - offset < curX && curX < currentX + offset && currentY - offset < curY && curY < currentY + offset)
{
console.log("touchstart logic");
sp.changeSpot(0,0.4);
moveAt(curX, curY);
function moveAt(curX, curY) {
currentX = curX;
currentY = curY - hoff;
sp.show(currentX, currentY);
}
function onMouseMove(event) {
moveAt(event.touches[0].clientX, event.touches[0].clientY);
}
document.addEventListener('touchmove', onMouseMove);
document.addEventListener('touchend', onTouchEnd);
function onTouchEnd() {
console.log("touchend");
document.removeEventListener('touchmove', onMouseMove);
document.removeEventListener('touchend', onTouchEnd);
sp.changeSpot(0,1);
};
}
}
function spotlightChase(e){
var offset = 150;
var hoff = offset/2;
hoff = 0;
var curX = e.x;
var curY = e.y;
if(currentX - offset < curX && curX < currentX + offset && currentY - offset < curY && e.screenY < curY + offset)
{
sp.changeSpot(0,0.4);
moveAt(curX, curY);
function moveAt(curX, curY) {
currentX = curX;
currentY = curY - hoff;
sp.show(currentX, currentY);
}
function onMouseMove(event) {
moveAt(event.x, event.y);
}
document.addEventListener('mousemove', onMouseMove);
document.onmouseup = function() {
document.removeEventListener('mousemove', onMouseMove);
sp.changeSpot(0,1);
};
}
}
document.addEventListener('dblclick', spotlightChaseOnClick, true);
var chasingSpotlight = false;
var chaseEnd = false;
sp.changeSpot(0,1);
function spotlightChaseOnClick(e){
console.log(e);
var offset = 80;
var hoff = offset/2;
hoff = 0;
var curX = e.x;
var curY = e.y;
if(currentX - offset < curX && curX < currentX + offset && currentY - offset < curY && curY < currentY + offset)
{
sp.changeSpot(0,0.4);
moveAt(curX, curY);
function moveAt(curX, curY) {
currentX = curX;
currentY = curY - hoff;
sp.show(currentX, currentY);
}
function onMouseMove(event) {
moveAt(event.x, event.y);
}
document.removeEventListener('dblclick', spotlightChaseOnClick, true);
document.addEventListener('dblclick', endChase, true);
document.addEventListener('mousemove', onMouseMove);
function endChase() {
sp.changeSpot(0,1);
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('dblclick', endChase, true);
document.addEventListener('dblclick', spotlightChaseOnClick, true);
}
}
}
function spotlightMove(e){
console.log(e);
var offset = 150;
var hoff = offset/2;
hoff = 0;
var curX = e.x;
var curY = e.y;
{
sp.changeSpot(0,0.4);
moveAt(curX, curY);
function moveAt(curX, curY) {
currentX = curX;
currentY = curY - hoff;
sp.show(currentX, currentY);
}
function onMouseMove(event) {
moveAt(event.x, event.y);
}
}
}
sp.show(99, 99);
sp.show(currentX, currentY);
sp.changeBgColor("rgba(0,0,0,1)");
</script>
<style>
canvas{
pointer-events: none;
position: fixed !important;
}
body{
user-select: none;
}
</style>}(if: $gh_in_geisthome is true)[(if: $have_wheelchair is true)[Alchemy doesn't take well to web-travel.
The alchemy ingredients and potions I collected in Geisthome dissolve as I take off.
(if: $inventory contains "live hagfish")[Then I realize, mid-take off, I still have a live hagfish in my inventory.
(if: $ship_have_tank is true)[I introduce it to my deep-sea++ marine life tank.(if: $octo_on_board is true)[
I put in a separator to divide the tank, so that the hagfish is separated from the octopus, already in the tank.
Hagfish can eviscerate other sea-life. And the octopus has been through enough.
The octopus watches it curiously through the glass.]
The hagfish explores a little, and then hides under a rock.
I'll have to monitor it to make sure it's adapting well.(set: $hag_on_board to true)
](else:)[I don't have the equipment to keep it alive above the Deep Web, so I let it out the side of the ship.
//Lost live hagfish.//(move: $inventory's "live hagfish" into $remove)
]]{
(set: $gh_in_geisthome to false)
(set: $alchemy_gh to $alchemy)
(set: $alchemy to (datamap:))
}
|refresh>[Continue]
](else:)[I pause before leaving Geisthome.
Unlike magic, alchemy doesn't take well to web-travel.
I decide to stow the alchemy reagents and ingredients I'm carrying near my landing location on the guyot.
I'll pick them up again if I return.
{(set: $gh_in_geisthome to false)
(set: $alchemy_gh to $alchemy)
(set: $alchemy to (datamap:))
}
|refresh>[Continue]
]
](else:)[
(set: $can_return_ship to false)
(set: $custom_colors to "")
(set: $sequence to 0)
(set: $fg_fiddler_follow to false)
(set: $fg_tree_count to 0)
(set: $thoughts_inventory to false)
(if: $fg_fiddler_sabotage_state is "happening")[
(set: $fg_fiddler_sabotage_state to "happened")
(if: $fg_fiddler_orb is "blue")[(set: $fg_blue_location to "Fiddler Home")]
(if: $fg_fiddler_orb is "violet")[(set: $fg_violet_location to "Fiddler Home")]
(set: $fg_fiddler_orb to "")
]
(if: $mobile is false)[
(set: $east_text to "Swim east.")
(set: $west_text to "Swim west.")
(set: $north_text to "Swim north.")
(set: $south_text to "Swim south.")
]
(if: $mathias_on_board is true and $mathias_trips_to_wake > 0)[
(set: $mathias_trips_to_wake to it - 1)
(if: $mathias_trips_to_wake is 0)[(go-to: "Mathias Wakes")] ]
<script>
resetScreen();
var map_level = getHarloweVariable("map_level");
if(map_level == "Deep Web") musicFade("travel_deep_web");
else musicFade("travel_web");
goToPassage("Map - " + map_level);
</script>
](display: "Map"){
<script>
function PrepMap(){
var current_location = getHarloweVariable("current_location");
var deep_web_locations = getHarloweVariable("deep_web_locations");
var map_access_wp = getHarloweVariable("map_access_wp");
for (i = 0; i < deep_web_locations.length; i += 2) {
var loc = deep_web_locations[i];
var visited = deep_web_locations[i+1];
if(visited == "unseen"){
$("#"+loc)[0].parentElement.className = "squish";
}
else if(visited == "visited"){
$("#"+loc+" span").html($("#"+loc).attr('name'));
$("#"+loc)[0].parentElement.className = "expand";
}
else{
$("#"+loc)[0].parentElement.className = "expand";
}
if(current_location == loc){
$("#"+loc).addClass("current-location");
$("#"+loc).append("<div class='you-are-here'>you are here</div>");
}
else
{
$("#"+loc).addClass(visited);
}
}
var deep_web_connections = getHarloweVariable("deep_web_connections");
for (i = 0; i < deep_web_connections.length; i += 2) {
var loc = deep_web_connections[i];
var seen = deep_web_connections[i+1];
$("#"+loc).addClass(seen);
}
$("#map-table").css("display","table");
}
PrepMap();
musicFade("travel_web");
function LandingPage(e){
var landing_name = e.parentElement.textContent.replace("you are here","");
var true_name = e.parentElement.getAttribute("name");
setHarloweVariable("landing_location",landing_name);
setHarloweVariable("true_name",true_name);
window.goToPassage("Travel - Deep Web");
}
</script>
<table id="map-table">
<tr>
<td></td>
<td>
<div id="web" name="Web"><span onclick="LandingPage(this)">The Web</span></div>
<div id="web-gh" class="vert-line"></div>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<div id="gh" name="Geisthome"><span onclick="LandingPage(this)">13.13.13.13</span></div>
<div id="gh-lsd" class="vert-line"></div>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<div id="lsd" name="Lost Soul's Diner"><span onclick="LandingPage(this)">3.199.32.2</span></div>
<div id="lsd-ap" class="vert-line"></div>
</td>
<td>
<div id="cache" name="Cache"><span onclick="LandingPage(this)">127.0.0.1</span></div>
<div id="cache-lh" class="vert-line"></div>
</td>
</tr>
<tr>
<td>
<div id="tb" name="Torrent of Bits" ><span onclick="LandingPage(this)">10.101.010.10</span></div>
</td>
<td>
<div id="ap" name="Abyssal Plain"><span onclick="LandingPage(this)">169.254.0.0</span></div>
<div id="ap-depth" class="vert-line"></div>
<div id="ap-lh" class="right-line"></div>
<div id="tb-ap" class="left-line"></div>
</td>
<td>
<div id="lh" name="Light House"><span onclick="LandingPage(this)">734.7.4.3</span></div>
</td>
</tr>
<tr>
<td>
<div id="wp" name="Wailing Pit"><span onclick="LandingPage(this)">aaa.aa.aaa.a</span></div>
</td>
<td>
<div id="depth" name="The Depths"><span onclick="LandingPage(this)">000.000.00.0</span></div>
<div id="depth-tob" class="vert-line"></div>
<div id="wp-depth" class="left-line"></div>
</td>
</tr>
<tr class="last-row">
<td></td>
<td><div id="tob" name="The One Below"><span onclick="LandingPage(this)">The One Below</span></div></td>
<td></td>
</tr>
</table>
}TRAVELING TO <span style="color: skyblue;">$landing_location</span>
(if: $landing_location is "The Web")[This is the liminal space where the Deep Web becomes the Web.
(if: $web_reached is true)[I've been there before and can travel there easily.
|go_web>[Let's go.]
(click: ?go_web)[(set: $sequence to 0)(set: $map_level to "Web")(go-to: "Board Ship")]
](elseif: $have_wheelchair is true)[Now that I have my chair, I can travel up form the Deep Web to the Web.
This will be an <span class="highlight">extremely difficult</span> trip.
The currents between levels are treacherous.
I should make sure I'm ready.
(click: ?travel_to_web)[(set: $sequence to 0)(set: $difficulty to "extremely difficult")(set: $destination to "Arriving: The Web")(set: $travel_array to (a: "Despairing Blackness","a Giant Squid","Grief Hail","Manic Currents","Isolation Whirlpool","a Flight of Ideas","Joy Thermals","Anxiety Rapids","Laughter Bubbles","a Classic Serpent"))(set: $return_from_travel to "Travel - Web")(go-to: "Preparing to Travel")]
|travel_to_web>[Travel there.]
](else:)[Unlike the Deep Web, the Web is not liquid and swimmable.
I'm going to need my wheelchair in order to navigate it.
My wheelchair is currently in <span class="highlight">Geisthome</span>
]](elseif: $true_name is "Geisthome" and $landing_location is "13.13.13.13")[I can travel to this place using the pull of my body drawing my soul up towards it.
This will be an <span class="highlight">easy</span> trip.
<span class="gray">//Trigger Warnings:// Suicide, Depression, Gore, Ableism</span>
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "easy")(set: $destination to "Geisthome")(set: $travel_array to (a: "an Evil Whale","a Giant Squid","a Classic Serpent"))(go-to: "Preparing to Travel")]
|travel_local>[Travel there.]
](elseif: $true_name is "Cache" and $landing_location is "127.0.0.1")[
(if: $c_webcrawler_state is "present")[I'm not going back there.
I got what I needed, and I'm not tangling with a gun-toting metal spider.](else:)[I detect a faint signal coming from this direction.
A complex morse code-ish sequence of 1s and 0s that I eventually identify as marking out the pattern of a sonnet.
(if: $d_know_about_cache is "cycle")[This must be the riddle cache Cycl3 tole me about.](else:)[This is probably supposed to mean something. I have a hazy positive association with it.]
This will be a <span class="highlight">normal</span> trip.
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "normal")(set: $destination to "Cache")(set: $travel_array to (a: "a Classic Serpent","Isolation Whirlpool","Laughter Bubbles","Despairing Blackness"))(go-to: "Preparing to Travel")]
]|travel_local>[Let's go.]
](if: $true_name is "Lost Soul's Diner" and $landing_location is "3.199.32.2")[I can travel to this place using the pull of my body drawing my soul up towards it.
This will be an <span class="highlight">easy</span> trip.
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "easy")(set: $destination to "Lost Soul's Diner")(set: $travel_array to (a: "a School of Lantern Phish","Manic Currents"))(go-to: "Preparing to Travel")]
|travel_local>[Travel there.]
](elseif: $true_name is "Light House" and $landing_location is "734.7.4.3")[The currents that flow toward this location are gentle, but sometimes treacherous.
This will be a <span class="highlight">normal</span> trip.
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "normal")(set: $destination to "Light House")(set: $travel_array to (a: "a Flight of Ideas","Uncertainty Fog","a Giant Squid","Joy Thermals"))(go-to: "Preparing to Travel")]
|travel_local>[Let's go.]
](elseif: $true_name is "Torrent of Bits" and $landing_location is "10.101.010.10")[The currents that lead this way whirl chaotically back and forth.
This will be a <span class="highlight">difficult</span> trip.
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "difficult")(set: $destination to "Torrent of Bits")(set: $travel_array to (a: "Anxiety Rapids","Grief Hail", "Motivation Currents", "a Flight of Ideas", "a Classic Serpent"))(go-to: "Preparing to Travel")]
|travel_local>[Let's go.]
](elseif: $true_name is "The Depths" and $landing_location is "000.000.00.0")[Blackness seethes and settles below me.
This will be a <span class="highlight">difficult</span> trip.
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "difficult")(set: $destination to "The Depths")(set: $travel_array to (a: "Despairing Blackness", "a School of Lantern Phish","Uncertainty Fog", "Motivation Currents","an Evil Whale"))(go-to: "Preparing to Travel")]
|travel_local>[Let's go.]
](elseif: $true_name is "Wailing Pit" and $landing_location is "aaa.aa.aaa.a")[I'm picking up faint noises over the radio.
Shrill. Hard to make out any words.
This will be a <span class="highlight">normal</span> trip.
<span class="gray">//Trigger Warnings:// Body Horror </span>
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "normal")(set: $destination to "Wailing Pit")(set: $travel_array to (a: "Manic Currents","Isolation Whirlpool","Grief Hail","Uncertainty Fog"))(go-to: "Preparing to Travel")]
|travel_local>[Let's go.]
](elseif: $true_name is $landing_location and $landing_location is "Geisthome" and $have_wheelchair is true)[If I go back there, the Hungry Ghost will definitely eat me.
So I don't.
](elseif: $true_name is $landing_location)[I've been there before and can travel there easily.
|travel_again>[Let's go.]
][[Go Elsewhere.->Map - Deep Web]]{
(set: $return_from_travel to "Travel - Deep Web")
(click: ?travel_again)[(set: $sequence to 0)(if: $true_name is "Abyssal Plain")[(go-to: "Abyssal Plain Landing")](else:)[(go-to: $true_name)]]
(click: ?travel_free)[(set: $sequence to 1)(go-to: $true_name)]
}----Grey Option----
(if: "stick" is in $inventory)[|fish>[Use something narrow and long to fish it out.] ](else:)[|gray>[Use something narrow and long to fish it out.] (click: ?gray)[//I don't have anything like that.//] ]
(if: $m_m_light > 0)[|empower>[Destroy the net. (Costs 1 <span class='mm'>Light</span>)] ](else:)[|gray>[Destroy the net. (Costs 1 <span class='mm'>Light</span>)] (click: ?gray)[//I don't have any Light.//] ]
----Add To Inventory----
//Gained stick.//(set: $inventory to it + (datamap: "websail plan", (datamap: "description", "A plan for sewing a websail.","expanded",false)))
(set: $ship_parts to it + (datamap: "dream sail", (datamap: "description", "This sail shimmers, luminescent and rainbow. Light as mothwing. Durable as tungsten. This sail could take you over the rainbow and back.", "expanded", false, "type", "sail", "quality", "E","equipped", false)))
(set: $alchemy to it + (datamap: "Purity Potion", (datamap: "description", "A potion that purifies whatever it touches.", "expanded", false, "type", "potion", "name", "purity")))
----Remove From Inventory----
//Lost stick.//(move: $inventory's "stick" into $remove)
----Element----
<span class='fire'>Fire</span>
<span class='mm'>$fg_red_1</span>
{(set: $mm_to_change to "light")
(set: $mm_value to 1)
(display: "update mm")}
----Health----
(set: $health_change to -3)(display: "health change")
----Harlowe Settings----
var part_learned = getHarloweVariable("part_learned");
goToPassage("Travel - Deep Web");
----Get Whole Dream----
|assemble_dream>[I reassemble it.]{
(set: $dream_name to "true meaning")
(set: $memories's $dream_name's part1_found to true)
(set: $memories's $dream_name's part2_found to true)
(set: $memories's $dream_name's part3_found to true)
(set: $memories's $dream_name's part4_found to true)
(set: $return_passage to $currentPassage)
}
----Add Memories and Spells----
.empty() - empties a div
.attr(,) - gets or sets
.hover(function) - function on hover
x.substring(3,10);
x.indexOf('x')
document.getElementById("")
document.getElementById("").style.(any style element)
{
(set: $mathias_act to (random: 1,10))
(set: $peep_act to (random: 1,10))
(set: $mathias_occupied to false)
(set: $peep_occupied to false)
}(display: "Ship Description")
(if: $ship_have_tank is true)[I have a deep-sea++ marine life tank installed that will let me transport Deep Web creatures safely to other levels of the web.
(if: $octo_on_board is true)[An octopus is in the tank.
](if: $hag_on_board is true)[A hagfish is in the tank.
]](if: $mathias_on_board is true)[(if: $mathias_state is "asleep")[The wounded man I fished out of the wailing pit is still unconscious.
](else:)[(if: $peep_on_board is true and $peep_act is 5)[Mathias is listening to Peep sing.
](elseif: $mathias_has_spear is false)[Mathias appears to be fashioning a spear out of spare parts.(set: $mathias_has_spear to true)
](elseif: $mathias_has_armor is false)[Mathias is mending his armor.(set: $mathias_has_armor to true)
](elseif: $mathias_act is 1)[(if: $octo_on_board is true)[Mathias is petting the octopus.](else:)[Mathias is sharpening his spear.]
](elseif: $mathias_act is 2)[Mathias is sharpening his spear.
](elseif: $mathias_act is 3 or $mathias_act is 4)[Mathias is staring out a porthole at the ocean as it passes.
](elseif: $mathias_act is 5 or $mathias_act is 6)[Mathias is slumped in a chair, staring at the wall.
](elseif: $mathias_act is 7 or $mathias_act is 8)[(if: $peep_on_board is true)[Peep is peppering Mathias with questions. Mathias is patiently answering them.(set: $peep_occupied to true)](else:)[Mathias is slumped in a chair, staring at the wall.]
](elseif: $mathias_act is 9 or $mathias_act is 10)[Mathias is maintaining his armor and spear.
]
]](if: $peep_on_board is true and $peep_occupied is false)[(if: $mathias_state is "asleep" and $peep_opinion_mathias is true)[Peep flutters around the man, watching him curiously.
](elseif: $mathias_state is "asleep")[Peep watches him curiously from across the ship.
](elseif: $peep_act is 1)[Peep is playing a hopping game.
](elseif: $peep_act is 2)[Peep is preening.
](elseif: $peep_act is 3 or $peep_act is 4)[Peep is playing with one of his feathers.
](elseif: $peep_act is 5)[Peep is singing a little song.
](elseif: $peep_act is 6)[(if: $octo_on_board is true)[Peep is petting the octopus.](else:)[Peep is hiding.]
](elseif: $peep_act is 7)[Peep is asking me questions.
](elseif: $peep_act is 8)[Peep is exploring the cabinets.
](elseif: $peep_act is 9)[Peep is counting all of the rivets in all the walls of the ship.
](else:)[Peep is looking out the windows at the ocean around.
]
]
(if: $octo_on_board is true)[|talkOctopus>[Check on the octopus.]
](if: $hag_on_board is true)[|talkHag>[Check on the hagfish.]
](if: $peep_on_board is true and $mathias_state is "asleep" and $peep_opinion_mathias is true)[|peepSpace>[$pisces_name Peep. Give him some space.]
](if: $mathias_on_board is true and $mathias_state is not "asleep")[|talkMathias>[Talk to Mathias.]
]|returnShip>[Return to map.]{
(click: ?peepSpace)[(set: $sequence to 0)(go-to: "Ship Talk")]
(click: ?talkMathias)[(set: $sequence to -1)(go-to: "Mathias Talk")]
(click: ?talkOctopus)[(set: $sequence to 1)(go-to: "Ship Talk")]
(click: ?talkHag)[(set: $sequence to 7)(go-to: "Ship Talk")]
}(if: $reading is "Map: Treasure Map")[//Begin at the sharp spheres, speckled with smoothness.
Go visit the sharp squiggles.
Go trumpets to more sharp squiggles.
Go to the cold blobs.
Go trumpets.
Go to the thrumming cold flecks.
Follow the hot clouds.
Go strings.//{
}](elseif: $reading is "Dark Prophesy")[<span class="dark">Child of the web.
Ghost sibling. Fear eater. Silver smile in the night.
Protect her.
She stands with a sword in one hand, chalice in the other.
Stand with her.
Realize your truth--that fear is necessary for bravery.
Embrace the light and it will no longer harm you.
The seeds of change are hidden in our capacity to love.
Be dark.
Be brave.
Be ready for the apocalypse.</span>](elseif: $reading is "Light Prophesy")[<span class="light">Child of a mother without a father.
Spirit speaker. Fire friend. Sister of the rose.
Protect us.
Sword in one hand, chalice in the other.
Face our nightmares.
Realize your truth and hold it as a lantern in the night.
Embrace your darkness and it will be a loyal companion.
The seeds of change are hidden behind our fears.
Be bright.
Be brave.
Be ready for the apocalypse.</span>](elseif: $reading is "Fire Prophesy")[<span style="color: tomato;">Child of the heart and the mind.
Fire wall. Water eater. Daughter. Dreamer.
Protect them.
You were born impossible.
If <span class="order">Order</span> can learn <span class="chaos">Chaos</span>, then <span class="fire">Fire</span> can learn <span class="water">Water</span>.
And <span class="fear">Fear</span> can learn <span class="love">Love</span>.
Realize your truth--that a mind is limited only by what it has yet to learn.
Embrace every motive. Become every matter.
The seeds of change are hidden in your dreams.
Be alive.
Be brave.
Be ready for the apocalypse.</span>](elseif: $reading is "Water Prophesy")[<span style="color: lightskyblue;">Lady of suffering and dreams.
Web swimmer. Truth teller. Teacher.
Guide them.
You were burned by <span class="fire">Fire</span>, but not broken.
You were shattered by <span class="death">Treachery</span>, but not destroyed.
The cold masters hate your hope.
They do not want you to infect children with purpose.
Rise.
Speak.
Prepare them for the apocalypse.</span>](elseif: $reading is "Air Prophesy")[<span style="color: ghostwhite;">fall
she'll catch you</span>](elseif: $reading is "Earth Prophesy")[<span style="color: saddlebrown;">The combination
for the safe in the study
is 45672.</span>{
}](elseif: $reading is "Troll Notes: Angler Phish")[<img class="hori" src="./TrollNotes/fish/angler.jpg" alt="group" border="0" />
<span class="troll">Angler Phish
Lures prey with glowing advertisement.
Lives near bone coral.
Relative of Lantern Phish.
Can grow very big.
</span>
](elseif: $reading is "Troll Notes: Oracle, Aghast, and Fangtooth")[<img class="hori" src="./TrollNotes/fish/fangtooth.jpg" alt="group" border="0" />
<span class="troll">5. Oracle Fish. Eyes can be used to see future. Eats seagrass. Look for faint blue glow from eyes.
6. Aghast. Perpetually frightened. Listen for gasping. Haven't isolated diet/habitat yet.
7. Fangtooth. Teeth too big. Form schools in reef near the antler coral.
</span>
](elseif: $reading is "Troll Notes: Viperfish")[<img class="page" src="./TrollNotes/fish/viper.jpg" alt="viper" border="0" />
<span class="troll">Viperfish.
Beautiful needle teeth.
Can be hard to spot, but attracted to psychic emanations.
It hunts by staying very still until something moves.
Belly glows faintly. Luring prey?
Eats anything. No palette. Very easy to poison.
</span>
](elseif: $reading is "Troll Notes: Rays")[<img class="hori" src="./TrollNotes/fish/rays.jpg" alt="rays" border="0" />
<span class="troll">247. Crested Lion Ray (if: $ColorBlind is true)[
//Color: Pale yellow.//]
248. Black Romper
249. Speckled Romper (if: $ColorBlind is true)[
//Color: Black speckled yellow.//]
250. Black Spreadfin
251. Black Downfin
252. Black Grimline (if: $ColorBlind is true)[
//Color: Black with orange highlights.//]
</span>
](elseif: $reading is "Troll Notes: Hagfish")[<img class="page" src="./TrollNotes/fish/hagfish.jpg" alt="hag" border="0" />
<span class="troll">Hagfish, called Myxini. Have skull, but no spine. Interesting!
When agitated, produces milky and fibrous slime. Makes it very hard to contain.
Likes hiding under rocks.
Exciting fact: Hagfish can enter and eviscerate the bodies of sea creatures much larger than themselves!</span>
](elseif: $reading is "Troll Notes: Holothurian")[<img class="page" src="./TrollNotes/fish/cucumber.jpg" alt="hol" border="0" />
<span class="troll">Holothurian has a more common name, but I forget it.
They have leathery skin, and long, sluggish bodies. They cannot swim, only crawl.
I am sure there are differences between them, but I do not care because they all taste the same and aren't alchemically useful.
Very common in normal reefs, but in the dark reef, they only cluster in colorful areas.</span>
](elseif: $reading is "Troll Notes: Eels")[<img class="page" src="./TrollNotes/fish/eels.jpg" alt="eels" border="0" />
<span class="troll">1. Anguilla Vulgaris. Useful liver.
2. Muraena Helena. Moray. Bites. Pleasantly poisonous.
3. Conger Vulgaris. Conger. Extremely large.
4. Synbranchus Marmoratus. Swamp eel. Not native to this area, but some landed in the reef after a freshwater storm.
5. Electric. Actually more like a catfish than an eel. Freshwater, but caught one on a trip. Hunter's organ in sample drawer 341. Sach's organ in 342.</span>
](elseif: $reading is "Troll Notes: Syrup of Ipecac")[**Syrup of Ipecac**
<span class="troll">Expectorant and a rapid-acting emetic.</span>
Flurid Coral (Ipecac root substitute. Must be FRESH.)
Sugar (6)
Downfin
Laburnum
Oracle Fish
](elseif: $reading is "Troll Notes: Mild Hotsacuse")[|reveal>[**Mild Hotsacuse**](click: ?reveal)[
//The original title was scribbled out and this one written over it.
I examine the crossed out words and can make out that the title was originally: **Potion of Quick Death**//]
<span class="troll">Slightly spicy. Also good for killing small fish.</span>
Castor Bean
Buttercup
Fangtooth
Wasp Venom (3)
](elseif: $reading is "Troll Notes: Medium Hotsauce")[|reveal>[**Medium Hotsauce**](click: ?reveal)[
The original title was scribbled out and this one written over it.
I examine the crossed out words and can make out that the title was originally: **Potion of Slow Death**]
<span class="troll">Reasonably spicy. Also good for killing big fish.</span>
Trill Coral
Oleander
Moonseed
Grimline
Eel (C.G.)
Viperfish
](elseif: $reading is "Troll Notes: Hot Hotsauce")[|reveal>[**Hot Hotsauce**](click: ?reveal)[
The original title was scribbled out and this one written over it.
I examine the crossed out words and can make out that the title was originally: **Potion of Double Death**]
The recipe has been crossed out very thoroughly. only one note has been left at the end:
<span class="troll">Too spicy.</span>
](elseif: $reading is "Troll Notes: Weed Killer")[**Weed Killer**
<span class="troll">Too powerful. Need milder version before use on garden.</span>
Eel (M.H.)
Poisonwood
Hemlock
..... Coral
//The final line is smudged and I can't make out what kind of coral this is.//
](elseif: $reading is "Troll Notes: Goo B Gone")[**Goo B Gone**
<span class="troll">Perfect cleaning solution for fish guts.</span>
Loomp
A.V. Liver
Sach's Organ
Henbane dipper in Pitcher Plant
](elseif: $reading is "Troll Notes: Purifying Draught")[**Purifying Draught**
//This dusty recipe was torn out and used as a bookmark. Clearly not often used, it doesn't even have a description.//
Sage
Finespeckle Coral
Crested L.R.
Quartz (231)
Unicorn Horn
](elseif: $reading is "Troll Notes: Terrible Crayfish")[<img class="hori" src="./TrollNotes/monsters/crayfish.jpg" alt="group" border="0" />
<span class="troll">Terrible Crayfish
Became very large in transition from freshwater to saltwater. Ancestral memory of bisques and etouffees. Extremely vengeful against humans.
Preferred Diet: Humans</span>
](elseif: $reading is "Troll Notes: Gilded Boar and Giant Spinecatfish")[<img class="hori" src="./TrollNotes/monsters/pig.jpg" alt="group" border="0" />
<span class="troll">The Gilded Boar and The Giant Spinecatfish
Gilded Boar enjoys the presence of gold and will hang around old shipwrecks that contain it.
They have only one tusk, and its ivory is a versatile substitute in alchemy recipes.
The Spinecat feeds on the manta rays around pillar coral.
Preferred Diet: Each Other</span>
](elseif: $reading is "Troll Notes: Squick")[<img class="hori" src="./TrollNotes/monsters/squick.jpg" alt="squick" border="0" />
<span class="troll">Squick
Drags prey into its head and traps it in a waking half-nightmare where its prey is half-asleep, experiencing its own worst nightmare, and half-awake to the fact it is being digested and flensed alive by the Squick's stomach acid and barbed tendrils.
Preferred Diet: Fear and Fearful Things</span>
](elseif: $reading is "Troll Notes: Bandwidth Throttler")[<img class="hori" src="./TrollNotes/monsters/choker.jpg" alt="throttler" border="0" />
<span class="troll">Bandwidth Throttler
Created to try and control webships that went too fast, many went wild and now try to slow down everything by killing it.
Will not murder past a certain quota.
Preferred Diet: Broad things, but will strangle anything moving.</span>
](elseif: $reading is "Troll Notes: Black Sawtooth")[<img class="hori" src="./TrollNotes/monsters/blacksawtooth.jpg" alt="blacksawtooth" border="0" />
<span class="troll">Black Sawtooth
Serrated teeth move on hinges in jaw and saw through ship bottoms. It actually eats the ship itself, persisting on a diet of pine and oak, supplemented by seaweed when not in active shipping lines.
Preferred Diet: Ship hulls</span>
](elseif: $reading is "Troll Notes: Evil Whale")[<img class="hori" src="./TrollNotes/monsters/evilwhale.jpg" alt="evilwhale" border="0" />
<span class="troll">Evil Whale
Like a whale, but evil.
Preferred Diet: Squick</span>
](elseif: $reading is "Troll Notes: Giant Squid")[<img class="hori" src="./TrollNotes/monsters/squid.jpg" alt="squid" border="0" />
<span class="troll">Giant Squid
Eight arms. Two tentacles. Everyone gets that wrong.
Preferred Diet: Things with more appendages than it. It is very proud.</span>
](elseif: $reading is "Troll Notes: Lompcher")[<img class="hori" src="./TrollNotes/monsters/Lompcher.jpg" alt="Lompcher" border="0" />
<span class="troll">Lompcher
Technically a sea serpent despite its paunch.
Preferred Diet: Babies</span>
](elseif: $reading is "Troll Notes: Classic Serpent")[<img class="hori" src="./TrollNotes/monsters/serpent.jpg" alt="serpent" border="0" />
<span class="troll">Classic Serpent
Classic sea serpent. Likes nesting in the corners of maps. Not picky.
Preferred Diet: Any Meat</span>
](elseif: $reading is "Troll Notes: Mumorpiga, Banfish and Griefer")[<img class="hori" src="./TrollNotes/monsters/frumps.jpg" alt="monsters" border="0" />
<span class="troll">1. Mumorpiga
A mottled giant that looks like it is made of many different kinds of monster crushed together. Constantly warping and adapting.
Preferred Diet: Money
2. Banfish
Swallows prey whole. Has stomach, and pre-stomach where is sometimes stores ingested prey. Instead of eating them, it will take them to a different location in the web and vomit them out.
Preferred Diet: Offensive things
3. Griefer
Enjoys preventing other predators from catching their prey.
Previously common, but have become rare in this area due to a Banfish migration.
Like hats.
Preferred Diet: Hats
4. Banfish Larva
5. Mumorpiga Guppy</span>
](elseif: $reading is "Troll Notes: Coral")[<img class="hori" src="./TrollNotes/corals/coralsoft.jpg" alt="corals" border="0" />
<span class="troll">1. Lionmane Coral (if: $ColorBlind is true)[
//Color: Red tipped with yellow.//]
2. Trill Coral (if: $ColorBlind is true)[
//Color: Brown.//]
3. Flurid Coral (if: $ColorBlind is true)[
//Color: Green.//]
4. Patrick's Coral (if: $ColorBlind is true)[
//Color: Brown tipped with green.//]
5. Darkspeckle Coral (if: $ColorBlind is true)[
//Color: Dark.//]
6. Lightspeckle Coral (if: $ColorBlind is true)[
//Color: Pale.//]
7. Finespeckle Coral(if: $ColorBlind is true)[
//Color: Dark.//]
8. Neerin Coral(if: $ColorBlind is true)[
//Color: Brown with blue polyps.//]
9. Loomp Coral(if: $ColorBlind is true)[
//Color: Brown.//]
10. Mottlespeck Coral(if: $ColorBlind is true)[
//Color: Green and orange.//]
11. Blooming Coral(if: $ColorBlind is true)[
//Color: Yellow and pink.//]
12. Flatbump Coral(if: $ColorBlind is true)[
//Color: Pink.//]
13. Roundbump Coral(if: $ColorBlind is true)[
//Color: Pink and yellow.//]
14. Amber Coral(if: $ColorBlind is true)[
//Color: Brown.//]</span>
](elseif: $reading is "Troll Notes: Buttercup")[<img class="plant" src="./TrollNotes/flowers/buttercup.jpg" alt="buttercup" border="0" />
<span class="troll">Buttercup
Contains the toxic glycoside ranunculin. When the plant dries the toxin is lost.(if: $ColorBlind is true)[
//Color: Yellow.//]</span>
](elseif: $reading is "Troll Notes: Calla Palustris")[<img class="plant" src="./TrollNotes/flowers/calla.jpg" alt="calla" border="0" />
<span class="troll">Calla Palustris
Very poisonous when fresh due to its high oxalic acid content.(if: $ColorBlind is true)[
//Color: White petal. Red fruit.//]</span>
](elseif: $reading is "Troll Notes: Cardinal Flower")[<img class="plant" src="./TrollNotes/flowers/cardinal.jpg" alt="cardinal" border="0" />
<span class="troll">Cardinal Flower
Contains a number of toxic alkaloids including lobelamine and lobeline.(if: $ColorBlind is true)[
//Color: Red.//]</span>
](elseif: $reading is "Troll Notes: Deadly Nightshade")[<img class="plant" src="./TrollNotes/flowers/nightshade.jpg" alt="nightshade" border="0" />
<span class="troll">Deadly Nightshade
Classic. Standard for every cook's cupboard.(if: $ColorBlind is true)[
//Color: Purple.//]</span>
](elseif: $reading is "Troll Notes: Hemlock")[<img class="plant" src="./TrollNotes/flowers/hemlock.jpg" alt="hemlock" border="0" />
<span class="troll">Hemlock
Containe coniine. Good paprika substitute.(if: $ColorBlind is true)[
//Color: White.//]</span>
](elseif: $reading is "Troll Notes: Henbane")[<img class="plant" src="./TrollNotes/flowers/henbane.jpg" alt="henbane" border="0" />
<span class="troll">Henbane
Bad for chickens.(if: $ColorBlind is true)[
//Color: Yellow.//]</span>
](elseif: $reading is "Troll Notes: Oleander")[<img class="plant" src="./TrollNotes/flowers/oleander.jpg" alt="oleander" border="0" />
<span class="troll">Oleander
Contains oleandrin. Toxin named after flower or flower named after toxin?(if: $ColorBlind is true)[
//Color: Pink.//]</span>
](elseif: $reading is "Troll Notes: Common Laburnum")[<img class="plant" src="./TrollNotes/flowers/laburnum.jpg" alt="laburnum" border="0" />
<span class="troll">Common Laburnum
Also called the golden chain. All parts of the plant contain cytisine and are poisonous if consumed. Delicious.(if: $ColorBlind is true)[
//Color: Yellow.//]</span>
](elseif: $reading is "Troll Notes: Rosemary")[<img class="plant" src="./TrollNotes/flowers/rosemary.jpg" alt="rosemary" border="0" />
<span class="troll">Rosemary
NASTY WEED. Get rid of it!(if: $ColorBlind is true)[
//Color: White.//]</span>
](elseif: $reading is "Troll Notes: Sage")[<img class="plant" src="./TrollNotes/flowers/sage.jpg" alt="sage" border="0" />
<span class="troll">Sage
Disgusting. Recent infestation in flower garden. Need to make weedkiller.(if: $ColorBlind is true)[
//Color: Blue-purple.//]</span>
](elseif: $reading is "Troll Notes: Castor Bean")[<img class="plant" src="./TrollNotes/plants/castor.jpg" alt="castor" border="0" />
<span class="troll">Castor Bean
Seed contains ricin. Water soluble toxin.(if: $ColorBlind is true)[
//Color: Brown and green.//]</span>
](elseif: $reading is "Troll Notes: Mandrake Root")[<img class="plant" src="./TrollNotes/plants/mandrake.jpg" alt="mandrake" border="0" />
<span class="troll">Mandrake Root
Root looks like a man. Isn't though. Probably did that to make humans squeamish. Screams when picked.
Can tell age by number of flowers. The more flowers there are, the older the root. I prefer the younger sprouts since they are softer and need less boiling.</span>
](elseif: $reading is "Troll Notes: Moonseed")[<img class="plant" src="./TrollNotes/plants/moonseed.jpg" alt="moonseed" border="0" />
<span class="troll">Moonseed
The fruit is poisonous. The principal toxin is the alkaloid dauricine.(if: $ColorBlind is true)[
//Color: Blue berries.//]</span>
](elseif: $reading is "Troll Notes: Pitcher Plant")[<img class="plant" src="./TrollNotes/plants/pitcher.jpg" alt="pitcher" border="0" />
<span class="troll">Pitcher Plant
Clever plants. Eat bugs. Attract them and make them drown in nectar. Aquatic version needs to be poisonous due to lack of drownable prey.(if: $ColorBlind is true)[
//Color: red.//]</span>
](elseif: $reading is "Troll Notes: Poisonwood")[<img class="plant" src="./TrollNotes/plants/poisonwood.jpg" alt="poisonwood" border="0" />
<span class="troll">Poisonwood
It produces the irritant urushiol much like its close relatives poison sumac and poison oak.(if: $ColorBlind is true)[
//Color: Blue berries.//]</span>
](elseif: $reading is "List of Forms")[//Forms that begin with:
1 are Royal Edicts
2 are Institutional Edicts
3 are Information Changes
4 are Complaints
5 are Information Requests
6 are Taxes
7 are Useless
8 are Applications
9 are Other
Except when they are not.
----
Royal Edicts mandate the physical laws and form of Fairyland.
Institutional Edicts mandate the rules by which citizens of Fairyland must govern themselves.
Information Changes update recorded information within the Hall of Edicts.
Information Requests retrieve recorded information from within the Hall of Edicts.
Other Form types are self-explanatory.
----
The word Form is a formal part of a form's name.
The numbers in a Complaint form will be in order of descending value.
The number of a form having to do with the Moon is equal to the alphabetic number of the first letters of the form's name all added together and doubled.
The number 1 must always be present in a form relating to tiny things.
The number 7 must always be present in a form that is counter- or un- or otherwise negating something.
Forms related to the moon, memory or magnetism MUST contain the letter M.
Forms related to poison must contain the letter P.
The number 3 must be included in the designation of a Form which contains the word "Arcadian."
Forms created due to Acts will always end with the letter B, except when other regulations would conflict with this.
Forms containing hyphens must end with the letter H.
Forms relating to weather must end with the letter W.
Expanded forms must always contain the letter found least often at the beginning of words.
Forms related to leylines must contain the number 44.
Forms related to censorship must contain the number 22.
Historical forms must contain the number 36.
Forms related to things explicitly intended to kill you you must contain the number 33.
Forms relating to theft must be cleanly divisible by 10.
The numbers contained in Royal Edicts inciting change must add up to more than 18 to contain their significant power.
Edicts commanding the earth, air, fire, and water end with the letters E, A, F, and W respectively.
//
](elseif: $reading is "Flier: Noon-Sun Ceremony")[**Noon-Sun Ceremony**
To take place on the 56th of Summer.
To take place on Poltergeist Hill.
//REMINDER: Attendants must remain for the entire hour or they will be incinerated.//
](elseif: $reading is "Flier: Stolen Memory Prevention Act")[**Arcadian Stolen Memory Prevention Act Passed!**
By order of Liege Xylia Xynn and with the approval of Queen Titania, as of the 13th of Summer, all errant memories are legally and contractually owed to the mind of origin.
Claimants who wish to retrieve errant memories may apply to the Hall of Edicts for a Arcadian Stolen Memory Prevention Act Complaint Form.
](elseif: $reading is "Flier: Lost Child")[I lost my son while flying over the Dark Woods.
He is small and kind and has beautiful blue feathers.
If you see him, please tell him to come home to the Forest.
I miss him terribly.
](elseif: $reading is "Flier: WE BUY DREAMS")[Need Cash Now?
WE BUY DREAMS
1-800-FAE-DRMS
](elseif: $reading is "Flier: Pixie Night At The Sugar Plum Den")[**Pixie Night At The Sugar Plum Den**
PIXIES DRINK FREE
all others pay a 5 secrets door charge
](elseif: $reading is "Flier: True Names Anonymous")[CAN'T KEEP A SECRET?
WE CAN HELP!
**True Names Anonymous**
Your name is ___ and you have a problem.
](elseif: $reading is "Flier: University of Phoenixes")[The University of Phoenixes is a for-profit university headquartered in the Web.
Founded at moment fire was invented, the school confers certificates and degrees at the heated, ignited, searing, blistering, and incandescent degree levels.
Find your passion. Ignite your life. Literally!
Find us north of the Island of Stone.
](elseif: $reading is "Flier: Spells and Things")[Visit Hani's Spells and Things
We sell spells and spell-accessories!
Find us south of the Islands of Stone!
](elseif: $reading is "Autocsi Result: Blacktree Corpse")[I review the Autocsi results from being cast on Prince Brokk Blacktree's corpse.
There's a bit at the top about the Fairyland justice system, then it gets down to actual facts.
Based on the amount of |dust>[fairy dust] (click: ?dust)[
//dust fairies eventually disintegrate into when they die//
]he died at 12:36PM on the 56th of Summer.
The spell found five possible causes of death:
//Poison residue in his mouth.
Blunt force trauma to the head.
Multiple stab wounds to the torso.
A puncture wound in the neck.
A needle embedded in his brain, near his right eye.//
It unfortunately cannot determine which of these actually caused his death, but has a nauseating amount of detail on each.
](elseif: $reading is "Autocsi Result: Fiddler Corpse")[I review the Autocsi results from being cast on the tiny animal body by the fence in Fiddler's Green.
The spell identifies the animal as a //Glaucomys Fiddelis// or the colloquially known "Fiddler Squirrel," native to Fiddler's Green and known for providing the location's titular musical brand.
This specific fiddler died between 6 and 9PM EST on December 11th, 2015.
The spell found one possible cause of death:
//Heart attack from chronic stress.//
It theorizes that this stress was likely cause by a recent change to his environment.](elseif: $reading is "Map: Atlantix")[To get to the "The Archives of Atlantix" I need to:
Start by the garish billboard.
Go between the two pyramids.
Turn east at the next two pyramids.
Go east until I see another pyramid, then turn south.
Go south until I see another pyramid, then turn north.
Go north, and that should take me to the library.](elseif: $reading is "Troll Notes: ")[
](elseif: $reading is "Autocsi Result: Atlantix Pillars")[I review the Autocsi results from being cast on the pillars east of the University of Atlantix.
Pillar 1: Intact
Pillar 2: Unstable Base. Occurred between 6700 and 5300 BC.
Pillar 3: Demolished. Occurred between 5100 and 4500 BC.
Pillar 4: Unstable Base. Occurred between 6300 and 5000 BC.
Pillar 5: Obliterated. Occurred between 6200 and 5000 BC.](elseif: $reading is "Troll Notes: ")[
](elseif: $reading is "Troll Notes: ")[
](if: $sequence is 0)[They are extremely important.
(set: $found_a_prophesy to true)
They are...mine?
No, more, I am theirs.
|next>[Continue]
](elseif: $sequence is 1)[They are NOT mine.
They each belong to someone else.
Someone up there.
In the physical world.
|next>[Continue]
](elseif: $sequence is 2)[I found them.
I keep them.
When the time is right, I will deliver them.
They are extremely important.
Worth killing for.
Worth sending someone to the bottom of the ocean.
|next>[Continue]
](elseif: $sequence is 3)[Well, this...this probably explains why I'm here.
At least partially.
Someone does not want the prophesies delivered to the people they are destined for.
I don't know why, but I know I want to see their plans smashed into shrapnel.
|returnBase>[Continue]
]{(set: $health to $health + $health_change)
(if: $health < 1)[(set: $die_next_screen to true)]
(if: $health_change > 0)[<span style='color:green;'>//Recovered $health_change sanity.//</span>](else:)[(set: $health_change to 0-$health_change)<span style='color:red;'>''//Lost $health_change sanity.//''</span>]}{
(set: $sorted_spells to (datanames: $spells))
(set: $casting_spell to "")
<script>
function printElementSpell(value, key, map) {
var spells = getHarloweVariable("spells");
var spell = spells.get(value);
var desc = spell.get("description");
var exp = spell.get("expanded");
var comp = spell.get("compiled");
var under_value = replaceAll(value, " ","_");
if(comp == true){
var to_append = "<div class='inv-border'><div class='inv-item'>";
to_append += "<a name='"+value+"' onclick='castSpell(this)' class='inv-item-header cast-spell'>"+value+"</a> <br/>";
to_append += "<span id='inv-desc-"+under_value+"'";
to_append += ">" + desc + "</span>";
to_append += "<br/>";
to_append += "</div></div>";
$("#spells").append(to_append);
}
}
function castSpell(e){
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence", sequence + 1);
setHarloweVariable("casting_spell",e.name);
var currentPassage = getHarloweVariable("currentPassage");
goToPassage(currentPassage);
}
</script>
<style>
.inv-item { padding: 0 0 1em 16px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-item-header { }
.cast-spell {
cursor: pointer;
font-weight: bold;
}
.cast-spell:hover {
color: #749cf4;
}
</style>
}<span id="spells"></span>
|returnBase>[Nevermind]
<script>getHarloweVariable("sorted_spells").forEach(printElementSpell);</script>This is the start passage for testing the Map.
[[Consult the Map.->Map - Deep Web]]{
(display: "game start setup")
(display: "game values")
(display: "add dreams to memories")
(display: "add spells to spellbook")
(set: $spells's "SalveMundi"'s compiled to true)
(set: $spells's "Omini"'s compiled to true)
(set: $spells's "SalveMundi"'s part1_found to true)
(set: $spells's "SalveMundi"'s part2_found to true)
(set: $spells's "SalveMundi"'s part3_found to true)
(set: $spells's "SalveMundi"'s part4_found to true)
(set: $spells's "Omini"'s part1_found to true)
(set: $spells's "Omini"'s part2_found to true)
(set: $spells's "Omini"'s part3_found to true)
(set: $spells's "Omini"'s part4_found to true)
(set: $ship_parts to it + (datamap: "search engine", (datamap: "description", "A powerful engine inclined to index things.", "expanded", false, "type", "engine", "quality", "M","equipped", false)))
(set: $ship_parts to it + (datamap: "patched sail", (datamap: "description", "This sail is old and much repaired.", "expanded", false, "type", "sail", "quality", "M","equipped", false)))
(set: $current_engine to "search engine")
(set: $current_sail to "patched sail")
(set: $m_m_light to 2)
(set: $m_m_air to 1)
(set: $m_m_fire to 1)
(set: $m_m_chaos to 1)
(set: $m_m_fear to 1)
(set: $m_m_life to 1)
(set: $m_m_dark to 5)
(set: $m_m_earth to 1)
(set: $m_m_water to 1)
(set: $m_m_order to 1)
(set: $m_m_love to 5)
(set: $m_m_death to 1)
(set: $depth to 8)
(set: $inv_menu_display to true)
(set: $current_location to "ap")
(set: $landing_location to "")
(set: $return_ship_menu_display to true)
(set: $map_access_wp to false)
(set: $deep_web_locations to (a: "gh", "unvisited","lsd", "visited","ap", "visited","lh", "unvisited","cache", "unseen","depth", "unvisited","tob", "unseen","tb", "unvisited","wp", "unseen","web", "unseen" ))
(set: $deep_web_connections to (a: "web-gh","unseen","gh-lsd","seen","lsd-ap","seen","cache-lh","unseen","ap-lh","seen","tb-ap","seen","ap-depth","seen","wp-depth","unseen","depth-tob","unseen"))
(set: $SpeedRun to false)
}{
(set: $initial_load to "loaded")
(set: $show_elsewhere to false)
(set: $test_mode to false)
(set: $mobile to false)
(set: $menu_quit to false)
(set: $menu_fullscreen to false)
(set: $noBox to false)
<script>
setupSaves();
installExtraHtml();
</script>
(if: $mobile is true)[
(set: $east_text to "E")
(set: $west_text to "W")
(set: $north_text to "N")
(set: $south_text to "S")
(set: $mobile_options to $mobile_options + "MobileTrue")
](else:)[
(set: $east_text to "Walk east.")
(set: $west_text to "Walk west.")
(set: $north_text to "Walk north.")
(set: $south_text to "Walk south.")
(set: $mobile_options to $mobile_options + "MobileFalse")
]
(if: $menu_quit is true)[(set: $mobile_options to $mobile_options + "MenuQuitTrue")](else:)[(set: $mobile_options to $mobile_options + "MenuQuitFalse")]
(if: $menu_fullscreen is true)[(set: $mobile_options to $mobile_options + "MenuFullscreenTrue")](else:)[(set: $mobile_options to $mobile_options + "MenuFullscreenFalse")]
<script>saveraw("MobileOptions",getHarloweVariable("mobile_options"));</script>
(set: $AchieveDisplay to "General")
(set: $CanResume to false)
<script>
saveraw("ReturnFlag","NONE");
var CanResume = localStorage.getItem(storagePrefix("Saved Game") + "CanResume");
if(CanResume == "TRUE") setHarloweVariable("CanResume",true); else setHarloweVariable("CanResume",false);
</script>
(set: $depth to 10)
}{
(display: "Load Achievements")
(if: $puzzles_complete contains "dark_d0x2")[](else:)[(set: $puzzles_complete to it + "dark_d0x2")]
(if: $puzzles_complete contains "dark_d0x4")[](else:)[(set: $puzzles_complete to it + "dark_d0x4")]
(if: $puzzles_complete contains "dark_d3x1")[](else:)[(set: $puzzles_complete to it + "dark_d3x1")]
(if: $puzzles_complete contains "dark_d4x3")[](else:)[(set: $puzzles_complete to it + "dark_d4x3")]
(if: $puzzles_complete contains "dark_d7x2")[](else:)[(set: $puzzles_complete to it + "dark_d7x2")]
(if: $puzzles_complete contains "dark_d7x4")[](else:)[(set: $puzzles_complete to it + "dark_d7x4")]
(if: $puzzles_complete contains "partSkyhook")[](else:)[(set: $puzzles_complete to it + "partSkyhook")]
(if: $puzzles_complete contains "partLenasus")[](else:)[(set: $puzzles_complete to it + "partLenasus")]
(if: $puzzles_complete contains "partDebugger")[](else:)[(set: $puzzles_complete to it + "partDebugger")]
(if: $puzzles_complete contains "partSkyhookExpand")[](else:)[(set: $puzzles_complete to it + "partSkyhookExpand")]
(if: $puzzles_complete contains "partLenasusExpand")[](else:)[(set: $puzzles_complete to it + "partLenasusExpand")]
(if: $puzzles_complete contains "partDebuggerExpand")[](else:)[(set: $puzzles_complete to it + "partDebuggerExpand")]
(display: "Save Achievements")}(set: $solution to "")(if: $m_m_life is 0 and $m_m_death is 0 and $m_m_chaos is 0 and $m_m_order is 0 and $m_m_love is 0 and $m_m_fear is 0 and $m_m_water is 0 and $m_m_fire is 0 and $m_m_air is 0 and $m_m_earth is 0 and $m_m_light is 0 and $m_m_dark is 0)[
=><=
I have no matters or motives.
](else:)[
=><==
(if: $m_m_life > 0)[ <a name='life' onclick='castSpell(this)' class='inv-item-header cast-spell life'>Life</a> ](else:)[ ]
==><=
(if: $m_m_air > 0)[ <a name='air' onclick='castSpell(this)' class='inv-item-header cast-spell air'>Air</a> ](else:)[ ]
=><===
(if: $m_m_love > 0)[ <a name='love' onclick='castSpell(this)' class='inv-item-header cast-spell love'>Love</a> ](else:)[ ]
===><=
(if: $m_m_water > 0)[ <a name='water' onclick='castSpell(this)' class='inv-item-header cast-spell water'>Water</a> ](else:)[ ]
=><====
(if: $m_m_chaos > 0)[ <a name='chaos' onclick='castSpell(this)' class='inv-item-header cast-spell chaos'>Chaos</a> ](else:)[ ]
====><=
(if: $m_m_dark > 0)[ <a name='dark' onclick='castSpell(this)' class='inv-item-header cast-spell dark'>Dark</a> ](else:)[ ]
=><====
(if: $m_m_light > 0)[ <a name='light' onclick='castSpell(this)' class='inv-item-header cast-spell light'>Light</a> ](else:)[ ]
====><=
(if: $m_m_order > 0)[ <a name='order' onclick='castSpell(this)' class='inv-item-header cast-spell order'>Order</a> ](else:)[ ]
=><===
(if: $m_m_fire > 0)[ <a name='fire' onclick='castSpell(this)' class='inv-item-header cast-spell fire'>Fire</a> ](else:)[ ]
===><=
(if: $m_m_fear > 0)[ <a name='fear' onclick='castSpell(this)' class='inv-item-header cast-spell fear'>Fear</a> ](else:)[ ]
=><==
(if: $m_m_earth > 0)[ <a name='earth' onclick='castSpell(this)' class='inv-item-header cast-spell earth'>Earth</a> ](else:)[ ]
==><=
(if: $m_m_death > 0)[ <a name='death' onclick='castSpell(this)' class='inv-item-header cast-spell death'>Death</a> ](else:)[ ]
]
=><=
{
(set: $return_passage to $currentPassage)
(set: $basePassage to $currentPassage)
(if: $destination is "Fiddler's Green" and $fg_fiddler_follow is true)[(set: $fg_pisces_last_action to "mm")]
<script>
function castSpell(e){
console.log("castSpell");
setHarloweVariable("using_element",e.name);
var currentPassage = getHarloweVariable("currentPassage");
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
console.log("currentPassage",currentPassage);
goToPassage(currentPassage);
}
</script>
<style>
.inv-item { padding: 0 0 1em 16px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-item-header { }
.cast-spell {
cursor: pointer;
font-weight: bold;
}
.cast-spell:hover {
color: #749cf4;
}
</style>
}----Sequence----
(if: $sequence is 0)[
](elseif: $sequence is 1)[
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?place)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?tech)[(set: $sequence to 2)(go-to: $currentPassage)]
}
----With Spells----
(if: $sequence is 0)[
](elseif: $sequence is 1)[
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
](elseif: $sequence is 4)[(if: $casting_spell is "SalveMundi")[
](elseif: $casting_spell is "Rezrov")[
](elseif: $casting_spell is "Strength")[
](elseif: $casting_spell is "Pain")[
](elseif: $casting_spell is "Freeze")[
](elseif: $casting_spell is "Pitput")[
](elseif: $casting_spell is "Charm Cat")[
](elseif: $casting_spell is "Power Word Brownie")[
](elseif: $casting_spell is "Textilekinesis")[
](elseif: $casting_spell is "Unbabble")[
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[(display: "Dreams and Nightmares")
|prev>[Try another spell.]
|return>[Continue]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|return>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|return>[Stop casting magic.] ](set: $casting_spell to "")
](elseif: $sequence is 6)[(if: $selected_dream is "Swimming through clouds.")[
](elseif: $selected_dream is "Eating Mangoes.")[
](elseif: $selected_dream is "Kissing.")[
](elseif: $selected_dream is "Exploring a clockwork castle.")[
](elseif: $selected_dream is "You are warm and safe, surrounded by love.")[
](elseif: $selected_dream is "You've discovered the secret truth of the universe.")[
](elseif: $selected_dream is "Napping in a perfect sunbeam.")[
](elseif: $selected_dream is "Riding with an army of dogs to see the aurora borealis in every galaxy.")[
](elseif: $selected_dream is "Your teeth are falling out.")[
](elseif: $selected_dream is "Falling.")[
](elseif: $selected_dream is "Late to school, unprepared for an exam, and naked.")[
](elseif: $selected_dream is "Paralyzed while a shadowperson climbs through the window.")[
](elseif: $selected_dream is "Buried alive.")[
](elseif: $selected_dream is "You've let everyone down.")[
](elseif: $selected_dream is "Can't find something that you desperately need.")[
](elseif: $selected_dream is "Slowly dying while trying to hide your injuries from your friends so they don't get angry with you.")[
](else:)[
|prev>[Try another dream.]
|return>[Stop casting magic.]
]
](elseif: $sequence is 7)[==><==
What Matter or Motive should I use?
<==
(display: "Use MM In Place")
|return>[Do something else.]
](elseif: $sequence is 8)[(if: $using_element is "light")[
](else:)[I don't think that would help here.
|prev>[Try another element.]
|return>[Do something else.]
]
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?petCat)[(set: $sequence to 5)(go-to: $currentPassage)]
}
==><==
What Matter or Motive should I use?
<==
(display: "Use MM In Place")
|return>[Do something else.]
(if: $using_element is "dark")[(set: $cost to 8)(display: "Confirm Cost")
](elseif: $using_element is "dark_yes")[
](elseif: $using_element is "light")[
{(set: $mm_to_change to "light")
(set: $mm_value to -1)
(display: "update mm")}
](elseif: $using_element is "fire")[
](elseif: $using_element is "water")[
](elseif: $using_element is "air")[
](elseif: $using_element is "earth")[
](elseif: $using_element is "love")[
](elseif: $using_element is "fear")[
](elseif: $using_element is "order")[
](elseif: $using_element is "chaos")[
](elseif: $using_element is "life")[
](elseif: $using_element is "death")[
](else:)[I don't think that would help here.
|prev>[Try another element.]
|return>[Do something else.]
]
What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
(if: $casting_spell is "SalveMundi")[
](elseif: $casting_spell is "Unbabble")[
](elseif: $casting_spell is "Dream")[
](elseif: $casting_spell is "Mute")[
](elseif: $casting_spell is "Suffero")[
](elseif: $casting_spell is "Textilekinesis")[
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|return>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|return>[Do something else.] ]
(elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
<span class="txt anim-text-flow"></span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|return>[Continue]
]
What item should I use?
(display: "Inv In Place")
|return>[Do something else.]
(if: $selected_item is "")[
](else:)[I don't think that item would work.
|prev>[Choose another item.]
|return>[Do something else.]
]
(if: $cost_sequence is 1)[I would need $cost <span class="current_elem"></span> to solve this problem.
I currently have $amount motes of <span class="current_elem"></span>.
(if: $amount >= $cost)[|thisElem>[Do it. (Cost $cost <span class="current_elem"></span>)]](else:)[//I don't have that much <span class="current_elem"></span>.//]
|otherElem>[Use another element.]{
<script>
var using_element = getHarloweVariable("using_element");
var cap_element = ucfirst(using_element);
$(".current_elem").html("<span class='"+using_element+"'>"+cap_element+"</span>");
function deductCost(){
var using_element = getHarloweVariable("using_element");
var amount = getHarloweVariable("m_m_" + using_element);
var cost = getHarloweVariable("cost");
setHarloweVariable("m_m_" + using_element,amount - cost);
}
</script>
(set: $cost_sequence to 0)
(click: ?thisElem)[(set: $using_element to $using_element + "_yes") <script>deductCost();</script> (go-to: $basePassage)]
(click: ?otherElem)[(set: $sequence to it - 1) (go-to: $basePassage)]
}](else:)[{
(set: $cost_sequence to 1)
<script>
var using_element = getHarloweVariable("using_element");
var amount = getHarloweVariable("m_m_" + using_element);
setHarloweVariable("amount",amount);
</script>
(go-to: "confirm cost")
}]
(if: $sequence is 0)[I settle into the cockpit.
I start to steer the ship back up into the currents of the Web.
I hear a commotion from the other room.
I set the ship to neutral and swim back.
It's the injured man I picked up in the wailing pit.
|next>[Continue]
](elseif: $sequence is 1)[He is standing in the corner.
(if: $mathias_frisked is true)[He has picked up the bed and is holding it like a club.](else:)[He holds a long dagger like he knows how to use it.](if: $peep_on_board is true)[
I don't see Peep. He |hide>[must be hiding somewhere.](click: ?hide)[
//Good.//] ]
|next>[Continue]
](elseif: $sequence is 2)[The man shouts at me:
$mathias_name Who are you? Where am I?!
|next>[$pisces_name My name is Pisces. You're on my ship.]
(if: $mathias_frisked is true)[|next>[$pisces_name Put down the bed and we can talk.]](else:)[|next>[$pisces_name We can talk when you stop waving that knife around.]]
|next>[$pisces_name I'm Pisces. You're in no danger here.]
](elseif: $sequence is 3)[My answer doesn't seem to help.
If anything he seems more upset, face contorting in confusion as I talk.
Does he not understand Human?
No, he was talking in it. He speaks my language.
|next>[Continue]
](elseif: $sequence is 4)[He inhales sharply, as if realizing something.
He touches the side of his head, where red crusted blood still traces a line from his ear down his neck.
He murmurs something I can't quite hear.
|next>[Continue]
](elseif: $sequence is 5)[Shit.
Such a long time in the wailing pit must have damaged his hearing.
How do I communicate with a scared, armed, man who can't hear me?
|body>[Use body language. Put my hands up. Expression of surprise.]
|spell>[Cast a spell.]
|shout>[Shout back. Maybe he can hear me if I'm loud enough.]
|write>[Write down a message.]
](elseif: $sequence is 6)[I shout my good intent at the man.
He doesn't understand and the violence of my demeanor prompts him to raise his (if: $mathias_frisked is true)[bed](else:)[dagger] into a higher guard.
(set: $mathias_mood_level to 2)
|body>[Use body language. Put my hands up. Expression of surprise.]
|spell>[Cast a spell.]
|write>[Write down a message.]
](elseif: $sequence is 7)[I don't have anything on hand to write with.
And I don't want to turn my back on him just now.
|body>[Use body language. Put my hands up. Expression of surprise.]
|spell>[Cast a spell.]
|shout>[Shout back. Maybe he can hear me if I'm loud enough.]
](elseif: $sequence is 8)[I communicate my peaceful intent as organically as possible.
Hands open. Expression open.
This puts him slightly more at ease. (if: $mathias_frisked is true)[He lowers the bed.](else:)[The tip of their dagger dips.]
$mathias_name I...can't hear you.
$mathias_name Please can you explain?
$mathias_name Write, perhaps?
|peacefulCockpit>[Continue]
](elseif: $sequence is 9)[I start going through the motions of executing a compiled spell.
The man's eyes widen in recognition and fear.
Shit. He's from a magical culture.
This is probably the most threatening thing I could have possibly done.
(set: $mathias_mood_level to 2)
|next>[Continue]
](elseif: $sequence is 10)[He launches himself toward me.
I have time to cast one spell.
|next>[Choose wisely.]
](elseif: $sequence is 11)[What spell should I cast?
(display: "Cast Spell In Place")
](elseif: $sequence is 12)[(if: $casting_spell is "SalveMundi")[The man yells in pain and surprise as the brilliant letters blind him.
(if: $mathias_frisked is true)[He is thrown off, and fumbles the bed.
He staggers back, blinking his way back into sight.
I scramble for his dagger, which I hid in a cabinet.
When he can see, he sees I have his dagger against his chest.
](else:)[He is thrown off. The dagger tip only rakes my arm.
(set: $health_change to -5)(display: "health change")
Deaf and temporarily blinded, he is at enough of a disadvantage that I manage to knock the weapon out of his hand.
He staggers back, blinking his way back into sight.
When he can see, he sees I have his dagger against his chest.
]
|forceCockpit>[Continue]
](elseif: $casting_spell is "Unbabble")[I interpret from his body language that he is very afraid and intends to kill me before I kill him with magic.
(if: $mathias_frisked is true)[(if: $mathias_one_hit is false)[He tries to hit me with the bed, but his swing is too wide and gets caught on the ceiling.(set: $mathias_one_hit to true)
|prev>[I hastily choose a better spell.]
](else:)[He hits me with the bed this time.
|death>[I die.] ] ](else:)[Then he stabs me. Extremely effectively.
|death>[I die.]]
](elseif: $casting_spell is "Omini")[(if: $mathias_frisked is true)[(if: $mathias_one_hit is false)[<span class='prophesy'><div class="container">
<span class="txt anim-text-flow">Upset and confused</span>
<span class="txt anim-text-flow">the fae prince acts unwisely.</span>
<span class="txt anim-text-flow">He misses this time.</span>
</div>
(display: "Rainbow Text")(set: $mathias_one_hit to true)
|prev>[I hastily choose a better spell.]
](else:)[<span class='prophesy'><div class="container">
<span class="txt anim-text-flow">Upset and confused</span>
<span class="txt anim-text-flow">the fae prince acts unwisely.</span>
<span class="txt anim-text-flow">He clubs you to death.</span>
</div>
(display: "Rainbow Text")
|death>[My fortune is accurate.]
] ](else:)[<span class='prophesy'><div class="container">
<span class="txt anim-text-flow">Upset and confused</span>
<span class="txt anim-text-flow">the fae prince acts unwisely.</span>
<span class="txt anim-text-flow">He stabs you to death.</span>
</div>
(display: "Rainbow Text")
|death>[My fortune is accurate.]
]](elseif: $casting_spell is "Mute")[(if: $mathias_frisked is true)[(if: $mathias_one_hit is false)[It is perfectly quiet as he tries to hit me with the bed.
Luckily, his silent swing is too wide and gets caught on the ceiling.(set: $mathias_one_hit to true)
|prev>[I hastily choose a better spell.]
](else:)[He bludgeons me to death with the bed very quietly.
|death>[Continue] ] ](else:)[He stabs me to death very quietly.
|death>[Continue] ]
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[(display: "Dreams and Nightmares")(set: $sequence to 24)
](else:)[(if: $mathias_frisked is true)[(if: $mathias_one_hit is false)[I don't think that spell would help here.
During my indecision he tries to hit me with the bed, but his swing is too wide and gets caught on the ceiling.(set: $mathias_one_hit to true)
|prev>[I hastily choose a better spell.]
](else:)[I don't think that spell would help here.
During my indecision, the he kills me.
|death>[Continue] ] ](else:)[I don't think that spell would help here.
During my indecision, the he kills me.
|death>[Continue] ] ]
](elseif: $sequence is 13)[I lead him into the cockpit.
I start up the ship's console.
I open Spellpad and start typing.
|explain>[Continue]
](elseif: $sequence is 14)[I lead him at dagger-point into the cockpit.
I start up the ship's console with one hand.
I open Spellpad and start typing.
I start with the fact that I mean him no harm, and put down the weapon to enunciate that.
|explain>[Continue]
](elseif: $sequence is 15)[I write a short essay on how I found him embedded in the side of the waling pit.
He watches my words with the ashen skinned, jaw-tight tension of someone controlling trauma.
I am as brief and factual as possible.
When I am finished, he takes a long ragged breath and says:
|next>[Continue]
](elseif: $sequence is 16)[$mathias_name I am in debt to you twice.
$mathias_name Once because you saved me.
$mathias_name Once because I met you with violence.
$mathias_name Please accept |favor>[two major favors] with my apology.(click: ?favor)[
//I'm not hugely familiar with fairy culture, but I know favors are their currency.//]
|next>[Continue]
](elseif: $sequence is 17)[$mathias_name I am Prince Mathias Magnus of the Autumn Court of Faerie.
(set: $mathias_name to "<span class='mathias'>@Mathias:</span>")
$mathias_name May I know the name that you prefer?
I type: Pisces
$mathias_name I see.
|next>[Type: can u tell me how u ended up in the pit?]
](elseif: $sequence is 18)[$mathias_name I...
$mathias_name Politics.
$mathias_name The top of the wailing pit is in Fairyland.
$mathias_name A person who saw me as a rival...
$mathias_name ...threw me in.
|next>[Type: what r u going to do now?]
](elseif: $sequence is 19)[$mathias_name I don't...know.
$mathias_name I suppose I should return home.
$mathias_name But...
They gingerly touch the side of their head, then speak quietly.
$mathias_name I don't know.
|next>[Type: you don't have to decide now]
|next>[Type: i understand]
|next>[Don't type anything.]
](elseif: $sequence is 20)[$mathias_name I'm being morbid. I'm sorry. This isn't your problem.
$mathias_name Can you tell me where we are?
Type: the bottom of the ocean
$mathias_name I see.
$mathias_name Given that, may I impose on your hospitality a little longer?
Type: of course
Type: im not going to save you and then drop you off to drown
|next>[Continue]
](elseif: $sequence is 21)[Type: u can stay here for as long as u want. the ship is big.
$mathias_name Thank you. That's very kind of you.
$mathias_name Particularly given that I almost (if: $mathias_frisked is true)[hit you with your bed.](else:)[stabbed you.]
Type: you just came out of the wailing pit
Type: ive been there and therefore understand
Type: im making a lot of stops on the way up to the physical world
Type: you can let me know if you want to get off at any of them
|next>[Continue]
](elseif: $sequence is 22)[With that sorted, I turn back to navigating the Web.
(set: $mathias_state to "awake")
|returnShip>[Continue]
](elseif: $sequence is 24)[(display: "Dreams and Nightmares")
](elseif: $sequence is 25)[(if: $casting_spell is "Dream")[I spin a dream around his mind. Pulling him out of the present moment for a moment.
(if: $mathias_frisked is true)[He fumbles the bed and staggers drunkenly back.
I scramble for his dagger, which I hid in a cabinet.](else:)[He fumbles his weapon and staggers drunkenly back.]
When he can see, he sees I have his dagger against his chest.
|forceCockpit>[Continue]
](else:)[I spin a nightmare around him.
(set: $ruthless to $ruthless + 2)
The one I picked doesn't matter--all nightmares lead him to the same place.
He screams hoarsely and collapses.
(set: $mathias_mood_level to 1)
|next>[Continue]
]](elseif: $sequence is 26)[I pull the nightmare off of him.
He still trembles.
He makes no move to retrieve his (if: $mathias_frisked is true)[impromptu ]weapon.
|next>[Continue]
](elseif: $sequence is 27)[(if: $mathias_frisked is true)[$pisces_name Don't attack wizards with furniture.](else:)[$pisces_name Don't try to stab wizards.]
I suggest.
But he can't hear.
I take him very gently by the hand.
I lead him into the cockpit.
I start up the ship's console.
I open Spellpad and start typing.
|explain>[Continue]
]{
(click: ?shout)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?write)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?body)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?spell)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?peacefulCockpit)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?forceCockpit)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?explain)[(set: $sequence to 15)(go-to: $currentPassage)]
}{
(set: $mathias_state to "asleep")
(set: $mathias_asl_level to 0)
(set: $mathias_mood_level to 3)
(set: $mathias_name to "<span class='mathias'>@Fairy:</span>")
(set: $mathias_on_board to true)
(set: $mathias_trips_to_wake to 2)
(set: $mathias_one_hit to false)
(set: $mathias_has_spear to false)
(set: $mathias_has_armor to false)
(set: $mathias_grateful to false)
(set: $mathias_future_talk to false)
(set: $peep_opinion_mathias to true)
(set: $RescuetheFairyHeir to true)(display: "Save Achievements")}(if: $dream_name is "true meaning")[This memory affects me.
I feel tears collect at the edges of my eyes.
I retreat into a corner.
I don't want to be seen feeling so much.
It passes.
|return_from_dreaming>[Thank god.] ]{
(click: ?return_from_dreaming)[(set: $inv_menu_display to true)(go-to: $return_passage)]
}(if: $sequence is 0)[{<script type="text/javascript">
function $i(id) { return document.getElementById(id); }
function $c(code) { return String.fromCharCode(code); }
function get_screen_size()
{
var w=document.documentElement.clientWidth;
var h=document.documentElement.clientHeight;
return Array(w,h);
}
var n=1;
var canvas_x=0;
var canvas_y=0;
var canvas_w=0;
var canvas_h=0;
var context1;
var context2;
var margin=4;
var x1,y1,x2,y2;
var p_x,p_y;
var a=0;
var b=0;
var aa=0;
var bb=0;
var angle=Math.PI/180*8;
var color=0;
var c1=new Array(6);
var d1=new Array(6);
var c2=new Array(6);
var d2=new Array(6);
var r1,r2,e1,e2;
var fade;
var prv_x,prv_y,prv_x2,prv_y2;
var baseColor1 = 200;
var baseColor2 = 200;
var timeout;
var pause=false;
var fps=10;
var google_flag=true;
var google_ad_client='pub-5142607733332317';
var google_ad_slot='3925404519';
var google_ad_width=google_flag?234:0;
var google_ad_height=google_flag?60:0;
var timer = 0;
var colorBlind = false;
var colorChange = 0;
var glowChange = 0;
var firstPhase = "cos";
var secondPhase = "sin";
var colorChangeBase = 0;
var glowChangeBase = 0;
var firstPhaseBase = "";
var secondPhaseBase = "";
document.onkeypress=key_manager;
var limit1=Math.PI*1.5;
var limit2=Math.PI*1.79;
var interrupt = false;
var blackout = false;
var end = false;
function init()
{
colorBlind = getHarloweVariable("ColorBlind");
d1[0] = getHarloweVariable("d10");
d1[1] = getHarloweVariable("d11");
d1[2] = getHarloweVariable("d12");
d1[3] = getHarloweVariable("d13");
d1[4] = getHarloweVariable("d14");
d1[5] = getHarloweVariable("d15");
c1[0] = getHarloweVariable("c10");
c1[1] = getHarloweVariable("c11");
c1[2] = getHarloweVariable("c12");
c1[3] = getHarloweVariable("c13");
c1[4] = getHarloweVariable("c14");
c1[5] = getHarloweVariable("c15");
colorChange = 0;
$("#color").html(colorChange);
glowChange = 0;
$("#glow").html(glowChange);
firstPhase = "cos";
secondPhase = "sin";
$("#phase1").html(firstPhase);
$("#phase2").html(secondPhase);
d2[0] = 0.1;
d2[1] = 0.1;
d2[2] = 0.1;
d2[3] = 0.1;
d2[4] = 0.1;
d2[5] = 0.1;
c2[0] = 0.3;
c2[1] = 0.3;
c2[2] = 0.3;
c2[3] = 0.3;
c2[4] = 0.3;
c2[5] = 0.3;
d2[0] = d1[0];
d2[1] = d1[1];
d2[2] = d1[2];
d2[3] = d1[3];
d2[4] = d1[4];
d2[5] = d1[5];
c2[0] = c1[0];
c2[1] = c1[1];
c2[2] = c1[2];
c2[3] = c1[3];
c2[4] = c1[4];
c2[5] = c1[5];
colorChangeBase = getHarloweVariable("colorChangeBase");
glowChangeBase = getHarloweVariable("glowChangeBase");
firstPhaseBase = getHarloweVariable("firstPhaseBase");
secondPhaseBase = getHarloweVariable("secondPhaseBase");
if(colorBlind) { colorChange = colorChangeBase; $("#color-area").css("display","none"); }
else { glowChange = glowChangeBase; $("#glow-area").css("display","none"); }
var screen=$i('screen1');
screen.style.display='block';
screen.style.width=canvas_w+'px';
screen.style.height=canvas_h+'px';
var shadebob=$i('shadebob');
shadebob.width=canvas_w;
shadebob.height=canvas_h;
context1=shadebob.getContext('2d');
var screen2=$i('screen2');
screen2.style.display='block';
screen2.style.width=canvas_w+'px';
screen2.style.height=canvas_h+'px';
var shadebob2=$i('shadebob2');
shadebob2.width=canvas_w;
shadebob2.height=canvas_h;
context2=shadebob2.getContext('2d');
reset();
}
function reset()
{
clearTimeout(timeout);
blackout = false;
a=0.01;
b=0.03;
aa=0.01;
bb=0.03;
timer = 0.03;
r1=0;
r2=0;
fade=32;
var count = 0.05;
baseColor1 = 100 + colorChange;
radius1=Math.round((canvas_w+canvas_h)/6);
e1=radius1*0.2 + glowChange;
baseColor2 = 100 + colorChangeBase;
radius2=Math.round((canvas_w+canvas_h)/6);
e2=radius2*0.2 + glowChangeBase;
p_x=Math.round(canvas_w/2);
p_y=Math.round(canvas_h/2);
x1=(radius1*c1[0])*Math.cos(a*d1[1])+(radius1*c1[2])*Math.sin(a*d1[3])+(radius1*c1[4])*Math.sin(a*d1[5]);
y1=(radius1*c1[5])*Math.sin(a*d1[4])+(radius1*c1[3])*Math.cos(a*d1[2])+(radius1*c1[1])*Math.cos(a*d1[0]);
x2=(radius2*c2[0])*Math.cos(aa*d2[1])+(radius2*c2[2])*Math.sin(aa*d2[3])+(radius2*c2[4])*Math.sin(aa*d2[5]);
y2=(radius2*c2[5])*Math.sin(aa*d2[4])+(radius2*c2[3])*Math.cos(aa*d2[2])+(radius2*c2[1])*Math.cos(aa*d2[0]);
anim();
}
function anim()
{
animContextAlter(context1,c1,d1);
aa+=angle*Math.cos(bb);
bb+=angle*0.1;
animContext(context2,c2,d2);
a+=angle*Math.cos(b);
b+=angle*0.1;
timer+=angle*0.1;
if(interrupt)
{
$("#result").html("Make them match.");
interrupt = false;
blackout = true;
timer = limit1;
}
if(timer>limit1)
{
context1.fillStyle='rgba(0,0,0,0.08)';
context1.fillRect(0,0,canvas_w,canvas_h);
context2.fillStyle='rgba(0,0,0,0.08)';
context2.fillRect(0,0,canvas_w,canvas_h);
}
if(timer<limit2)
timeout=setTimeout('anim()',fps);
else{
console.log("resetting");
var currentPassage = getHarloweVariable("currentPassage");
if(currentPassage == "Unbabble")
reset();
}
}
function animContextAlter(context,c1,d1)
{
var a1=Math.cos(aa*2);
var a2=Math.cos(aa*4);
var a3=Math.cos(aa);
var a4=Math.sin(aa);
if(bb>limit1&&bb<limit2)
{
}
else
{
prv_x=x1;
prv_y=y1;
prv_x2=x1;
prv_y2=y1;
var firstValue = Math.cos(aa*d1[1]);
var secondValue = Math.sin(aa*d1[4]);
if(firstPhase == "sin")
firstValue = Math.sin(aa*d1[1]);
else if(firstPhase == "cos")
firstValue = Math.cos(aa*d1[1]);
else if(firstPhase == "tan")
firstValue = Math.tan(aa*d1[1]);
if(secondPhase == "sin")
secondValue = Math.sin(aa*d1[4]);
else if(secondPhase == "cos")
secondValue = Math.cos(aa*d1[4]);
else if(secondPhase == "tan")
secondValue = Math.tan(aa*d1[4]);
x1=(radius1*c1[0])*firstValue+(radius1*c1[2])*Math.sin(aa*d1[3])+(radius1*c1[4])*Math.sin(aa*d1[5]);
y1=(radius1*c1[5])*secondValue+(radius1*c1[3])*Math.cos(aa*d1[2])+(radius1*c1[1])*Math.cos(aa*d1[0]);
var color3=16*Math.cos(aa*10);
var color1=Math.floor(56*Math.cos(aa*angle*4)+color3);
var color2=Math.floor(56*Math.sin(aa*angle*4)-color3);
context.lineCap='round';
context.strokeStyle='rgba('+(baseColor1+color1)+','+(baseColor1+color2)+','+(baseColor1-color1)+','+(0.01-0.005*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e1*1.4+e1*0.8*a3;
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
context.lineWidth=e1+e1*0.8*a3;
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
context.strokeStyle='rgba('+(baseColor1+color1)+','+(baseColor1+color2)+','+(baseColor1-color1)+','+(0.06-0.03*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e1*0.6+e1*0.35*a3;
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
context.strokeStyle='rgba(0,0,0,0.06)';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e1*0.4+e1*0.225*a3;
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
context.strokeStyle='rgba('+(baseColor1+color1)+','+(baseColor1+color2)+','+(baseColor1-color1)+','+(0.1-0.075*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e1*0.2+e1*0.1*a3;
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
context.strokeStyle='rgba(255,255,255,0.4)';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e1*(0.1-0.05*-a2);
draw_line(p_x,p_y,prv_x,prv_y,x1,y1,context);
}
}
function animContext(context,c2,d2)
{
var a1=Math.cos(a*2);
var a2=Math.cos(a*4);
var a3=Math.cos(a);
var a4=Math.sin(a);
if(b>limit1&&b<limit2)
{
}
else
{
prv_x=x2;
prv_y=y2;
prv_x2=x2;
prv_y2=y2;
var firstValue = Math.cos(aa*d1[1]);
var secondValue = Math.sin(aa*d1[4]);
if(firstPhaseBase == "sin")
firstValue = Math.sin(a*d2[1]);
else if(firstPhaseBase == "cos")
firstValue = Math.cos(a*d2[1]);
else if(firstPhaseBase == "tan")
firstValue = Math.tan(a*d2[1]);
if(secondPhaseBase == "sin")
secondValue = Math.sin(a*d2[4]);
else if(secondPhaseBase == "cos")
secondValue = Math.cos(a*d2[4]);
else if(secondPhaseBase == "tan")
secondValue = Math.tan(a*d2[4]);
x2=(radius2*c2[0])*firstValue+(radius2*c2[2])*Math.sin(a*d2[3])+(radius2*c2[4])*Math.sin(a*d2[5]);
y2=(radius2*c2[5])*secondValue+(radius2*c2[3])*Math.cos(a*d2[2])+(radius2*c2[1])*Math.cos(a*d2[0]);
var color3=16*Math.cos(a*10);
var color1=Math.floor(56*Math.cos(a*angle*4)+color3);
var color2=Math.floor(56*Math.sin(a*angle*4)-color3);
context.lineCap='round';
context.strokeStyle='rgba('+(baseColor2+color1)+','+(baseColor2+color2)+','+(baseColor2-color1)+','+(0.01-0.005*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e2*1.4+e2*0.8*a3;
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
context.lineWidth=e2+e2*0.8*a3;
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
context.strokeStyle='rgba('+(baseColor2+color1)+','+(baseColor2+color2)+','+(baseColor2-color1)+','+(0.06-0.03*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e2*0.6+e2*0.35*a3;
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
context.strokeStyle='rgba(0,0,0,0.06)';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e2*0.4+e2*0.225*a3;
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
context.strokeStyle='rgba('+(baseColor2+color1)+','+(baseColor2+color2)+','+(baseColor2-color1)+','+(0.1-0.075*-a1)+')';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e2*0.2+e2*0.1*a3;
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
context.strokeStyle='rgba(255,255,255,0.4)';
if(blackout)context.strokeStyle='rgba(0,0,0,0)';
context.lineWidth=e2*(0.1-0.05*-a2);
draw_line(p_x,p_y,prv_x,prv_y,x2,y2,context);
}
}
function draw_line(x,y,x1,y1,x2,y2,context)
{
context.beginPath();
context.moveTo(x+x1,y+y1);
context.lineTo(x+x2,y+y2);
context.moveTo(x-x1,y+y1);
context.lineTo(x-x2,y+y2);
context.moveTo(x-x1,y-y1);
context.lineTo(x-x2,y-y2);
context.moveTo(x+x1,y-y1);
context.lineTo(x+x2,y-y2);
context.moveTo(x+y1,y+x1);
context.lineTo(x+y2,y+x2);
context.moveTo(x-y1,y+x1);
context.lineTo(x-y2,y+x2);
context.moveTo(x-y1,y-x1);
context.lineTo(x-y2,y-x2);
context.moveTo(x+y1,y-x1);
context.lineTo(x+y2,y-x2);
context.moveTo(x,y+x2);
context.lineTo(x,y+x1);
context.moveTo(x,y-x2);
context.lineTo(x,y-x1);
context.moveTo(x+x2,y);
context.lineTo(x+x1,y);
context.moveTo(x-x2,y);
context.lineTo(x-x1,y);
context.stroke();
context.closePath();
}
function draw_dot(x,y,context)
{
context.beginPath();
context.moveTo(x,y);
context.lineTo(x+0.001,y);
context.stroke();
context.closePath();
}
function resize()
{
canvas_w=get_screen_size()[0]/3;
canvas_h=get_screen_size()[1]-(google_flag?60+margin*2:0);
canvas_w = 500;
canvas_h = canvas_w;
init();
}
function key_manager(evt)
{
evt=evt||event;
var key=evt.which||evt.keyCode;
var ctrl=evt.ctrlKey;
switch(key)
{
case 112:
pause=pause?false:true;
if(pause) clearTimeout(timeout); else{anim();}
break;
case 32:
reset();
break;
}
top.status='$'+key+'='+$c(key);
}
function addColor(){ if(colorChange < 150){ colorChange += 50; } $("#color").html(colorChange); interrupt=true; }
function removeColor(){ if(colorChange > -150){ colorChange -= 50; } $("#color").html(colorChange); interrupt=true; }
function addGlow(){ if(glowChange < 60){ glowChange += 30; } $("#glow").html(glowChange); interrupt=true; }
function removeGlow(){ if(glowChange > -60){ glowChange -= 30;} $("#glow").html(glowChange); interrupt=true; }
function changeFirstPhase(){
if(firstPhase == "sin") firstPhase = "cos";
else if(firstPhase == "cos") firstPhase = "tan";
else if(firstPhase == "tan") firstPhase = "sin";
$("#phase1").html(firstPhase);
interrupt=true;
}
function changeSecondPhase(){
if(secondPhase == "sin") secondPhase = "cos";
else if(secondPhase == "cos") secondPhase = "tan";
else if(secondPhase == "tan") secondPhase = "sin";
$("#phase2").html(secondPhase);
interrupt=true;
}
function checkMatch(){
if(colorChange == colorChangeBase && glowChange == glowChangeBase && firstPhase == firstPhaseBase && secondPhase == secondPhaseBase){
setHarloweVariable("sequence",1);
clearTimeout(timeout);
end = true;
goToPassage("Unbabble");
}else{
$("#result").html("The patterns don't match. Try again.");
}
}
function goBack(){
clearTimeout(timeout);
end = true;
var basePass = getHarloweVariable("basePassage");
goToPassage(basePass);
}
resize();
</script>
<style type="text/css">
body {margin:0;padding:0;background-color:#000000;color:#ffffff;font-size:15; -webkit-text-size-adjust:none;overflow:hidden}
.glow {margin:0;padding:0;position:absolute;font-size:15;overflow:hidden}
.tap {-webkit-tap-highlight-color:rgba(255,0,0,0.2);cursor:pointer}
canvas{background-color:#000000;overflow:hidden}
.center {
position: absolute;
right: 30px;
bottom: 30px;
}
.submit {
width: 200px;
height: 50px;
font-size: 20px;
}
.divText{
z-index: 50;
margin-left: 130px;
}
</style>
<div style=" width: 100%;
position: fixed;
top: 50px;
left: 10px;">
<div class="divText" id="result">Make them match.</div>
<div id="screen1" style="background-color:#000000; position: relative; float: left;"><canvas id="shadebob"></canvas></div>
<div id="screen2" style="background-color:#000000; position: relative; float: left;"><canvas id="shadebob2"></canvas></div>
<div style="clear:both;"></div>
<div class="divText">Phase 1: <span id="phase1"></span> <a style="margin-left: 10px;" class='inv-item-header cast-spell' onclick="changeFirstPhase();">Change</a></div>
<br/>
<div class="divText">Phase 2: <span id="phase2"></span> <a style="margin-left: 10px;" class='inv-item-header cast-spell' onclick="changeSecondPhase();">Change</a></div>
<div class="divText" id="color-area">
<br/>
<a class='inv-item-header cast-spell' onclick="addColor();">Color +</a>
<span id="color"></span>
<a style="margin-left: 10px;" class='inv-item-header cast-spell' onclick="removeColor();">Color -</a>
</div>
<div class="divText" id="glow-area">
<br/>
<a class='inv-item-header cast-spell' onclick="addGlow();">Glow +</a>
<span id="glow"></span>
<a style="margin-left: 10px;" class='inv-item-header cast-spell' onclick="removeGlow();">Glow -</a>
</div>
<br/>
<br/>
<div class="divText"><a class='inv-item-header cast-spell' onclick="checkMatch();">I Think They Match</a></div>
<br/>
<div class="divText"><a class='inv-item-header cast-spell' onclick="goBack();">Give up</a></div>
</div>
}](elseif: $sequence is 1)[(if: $unbabble_target is "bird")[I synchronize my understanding to hers.
The bird's tweeting coalesces into understandable speech.
(set: $troll_bird_unbabbled to true)
|talk>[Talk to the bird.](click: ?talk)[(set: $sequence to 1)(go-to: "Talking to Bird")]
](elseif: $unbabble_target is "peep")[I synchronize my understanding to his.
The bird child's coos coalesces into understandable speech.
|talk>[Talk to Peep.](click: ?talk)[(set: $sequence to 1)(go-to: "Talking to Bird")]
]
]{(if: $unbabble_target is "bird")[
(set: $d10 to 0.1)
(set: $d11 to 0.1)
(set: $d12 to 0.2)
(set: $d13 to 0.3)
(set: $d14 to 0.1)
(set: $d15 to 0.3)
(set: $c10 to 0.3)
(set: $c11 to 0.3)
(set: $c12 to 0.3)
(set: $c13 to 0.3)
(set: $c14 to 0.3)
(set: $c15 to 0.3)
(set: $colorChangeBase to 100)
(set: $glowChangeBase to 30)
(set: $firstPhaseBase to "tan")
(set: $secondPhaseBase to "sin")
]
}(if: $casting_spell is "Dream")[What **Dream** will I give?](else:)[What **Nightmare** will I give?]
<span id="list"></span>
|prev>[Cast a different spell.]{
(set: $selected_dream to "")
<script>
function printElement(value) {
var to_append = "<a onclick='selectItem(this)' class='select-item'>"+value+"</a><br><br>";
$("#list").append(to_append);
}
function selectItem(e){
setHarloweVariable("selected_dream",e.innerHTML);
var currentPassage = getHarloweVariable("currentPassage");
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
goToPassage(currentPassage);
}
</script>
(if: $casting_spell is "Dream")[<script>
getHarloweVariable("dream_list").forEach(printElement);
</script>
](else:)[<script>
getHarloweVariable("nightmare_list").forEach(printElement);
</script>]
}
(set: $sorted_inventory to (datanames: $inventory))(if: $sorted_inventory's length is 0)[//I have nothing that can be used here.//
](else:)[<span id="list"></span>{
(set: $selected_item to "")
<script>
function printElement(value, key, map) {
var desc = value.get("description");
var name = value.get("name");
if(desc != ""){
var to_append = "<a name='"+name+"' onclick='selectItem(this)' class='select-item'>"+key+"</a> - "+desc+"<br><br>";
$("#list").append(to_append);
}
}
function selectItem(e){
setHarloweVariable("selected_item",e.innerHTML);
setHarloweVariable("selected_item_name",e.name);
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
var currentPassage = getHarloweVariable("currentPassage");
goToPassage(currentPassage);
}
getHarloweVariable("inventory").forEach(printElement);
</script>
}]|returnInv>[Return to Inventory]
(set: $noMenu to true)
(display: "Reading")
(if: $reading contains "Troll Notes" or $reading contains "Flier:" or $reading contains "Autocsi Result:")[<a id='discard-btn' class='clickable' onClick='confirmDiscard();'>Discard This</a>
<a id='confrim-discard-btn' class='clickable' style="display: none; color: red;" onClick='discard();'>Confirm Discard</a> <a id='cancel-discard-btn' class='clickable' style="display: none;" onClick='cancelDiscard();'>Cancel</a>
]|returnInv>[Return to Inventory]
{
(click: ?returnInv)[(go-to: "Menu_Inventory")]
<span class="nav_button" style="position: fixed; right: 5px; bottom: 5px;">|returnInv>[< Return to Inventory]</span>
<script>
function confirmDiscard(){
$("#confrim-discard-btn").css("display","inline");
$("#cancel-discard-btn").css("display","inline");
}
function cancelDiscard(){
$("#confrim-discard-btn").css("display","none");
$("#cancel-discard-btn").css("display","none");
}
function discard(){
var reading = geth("reading");
addInvCommand("discard",reading,"add");
var inventory = geth("inventory");
inventory.delete(reading);
seth("inventory",inventory);
goToPassage("Menu_Inventory");
}
</script>
}{
<script>
var using_element = getHarloweVariable("using_element");
var amount = getHarloweVariable("m_m_" + using_element);
setHarloweVariable("amount",amount);
</script>
}I would need $cost <span class="current_elem"></span> to solve this problem.
I currently have <span class="amount"></span> motes of <span class="current_elem"></span>.
<span id="action"></span>
|prev>[Use another element.]{
<script>
var using_element = getHarloweVariable("using_element");
var cost = getHarloweVariable("cost");
var amount = getHarloweVariable("m_m_" + using_element);
var cap_element = ucfirst(using_element);
$(".current_elem").html("<span class='"+using_element+"'>"+cap_element+"</span>");
$(".amount").html("" + amount);
if(amount >= cost){
$("#action").html("<a onclick='pay()' class='select-item'>Do it. (Cost "+cost+" <span class='"+using_element+"'>" + cap_element + "</span>)</a>");
}
else{
$("#action").html("<i>I don't have that much <span class='"+using_element+"'>" + cap_element + "</span></i>");
}
function pay(){
deductCost();
var using_element = getHarloweVariable("using_element");
setHarloweVariable("using_element",using_element + "_yes");
var currentPassage = getHarloweVariable("currentPassage");
goToPassage(currentPassage);
}
function deductCost(){
var using_element = getHarloweVariable("using_element");
var amount = getHarloweVariable("m_m_" + using_element);
var cost = getHarloweVariable("cost");
setHarloweVariable("m_m_" + using_element,amount - cost);
}
</script>
(set: $cost_sequence to 0)
(click: ?thisElem)[(set: $using_element to $using_element + "_yes") <script>deductCost();</script> (go-to: $basePassage)]
}
This is the start passage for testing.
|text>[Go somewhere]
{
(display: "game start setup")
(display: "game values")
(display: "add dreams to memories")
(display: "add spells to spellbook")
(display: "Load Achievements")
(set: $east_text to "Roll east.")
(set: $west_text to "Roll west.")
(set: $north_text to "Roll north.")
(set: $south_text to "Roll south.")
(set: $spells's "SalveMundi"'s compiled to true)
(set: $spells's "SalveMundi"'s part1_found to true)
(set: $spells's "Omini"'s compiled to true)
(set: $spells's "Omini"'s part1_found to true)
(set: $spells's "Unbabble"'s compiled to true)
(set: $spells's "Unbabble"'s part1_found to true)
(set: $spells's "Mute"'s compiled to true)
(set: $spells's "Mute"'s part1_found to true)
(set: $spells's "Suffero"'s compiled to true)
(set: $spells's "Suffero"'s part1_found to true)
(set: $spells's "Dream"'s compiled to true)
(set: $spells's "Dream"'s part1_found to true)
(set: $spells's "Textilekinesis"'s compiled to true)
(set: $spells's "Textilekinesis"'s part1_found to true)
(set: $spells's "Autocsi"'s compiled to true)
(set: $spells's "Autocsi"'s part1_found to true)
(set: $spells to it + (datamap: "Nightmare", (datamap: "description", "Trap a mind in a cage made of my pain.","compiled", false, "expanded",false,"pinned",false, "parts", 4, "part1_found", true, "part2_found", true, "part3_found", true, "part4_found", true, "mm1", "wheelchair", "mm1_amount", 1, "mm2", "", "mm2_amount", 0, "mm3", "", "mm3_amount", 0)))
(set: $spells's "Nightmare"'s compiled to true)
(set: $spells's "Nightmare"'s part1_found to true)
(set: $spells's "Rezrov"'s compiled to true)
(set: $spells's "Rezrov"'s part1_found to true)
(set: $spells's "Pitput"'s compiled to true)
(set: $spells's "Pitput"'s part1_found to true)
(set: $spells's "Charm Cat"'s compiled to true)
(set: $spells's "Charm Cat"'s part1_found to true)
(set: $spells's "Strength"'s compiled to true)
(set: $spells's "Strength"'s part1_found to true)
(set: $spells's "Pain"'s compiled to true)
(set: $spells's "Pain"'s part1_found to true)
(set: $spells's "Freeze"'s compiled to true)
(set: $spells's "Freeze"'s part1_found to true)
(set: $ship_parts to it + (datamap: "search engine", (datamap: "description", "A powerful engine inclined to index things. <b>+5 Momentum</b>", "expanded", false, "type", "engine", "quality", 5,"equipped", true)))
(set: $ship_parts to it + (datamap: "patched sail", (datamap: "description", "This sail is old and much repaired.", "expanded", false, "type", "sail", "quality", 3,"equipped", true)))
(set: $current_engine to "search engine")
(set: $current_sail to "patched sail")
(set: $landing_location to "")
(set: $return_ship_menu_display to true)
(set: $deep_web_locations to (a: "gh", "unseen","lsd", "unvisited","ap", "visited","lh", "unvisited","cache", "unseen","depth", "unvisited","tob", "unseen","tb", "unvisited","wp", "unseen","web", "unseen" ))
(set: $deep_web_connections to (a: "web-gh","unseen","gh-lsd","unseen","lsd-ap","seen","ap-lh","seen","tb-ap","seen","ap-depth","seen","wp-depth","unseen","depth-tob","unseen","cache-lh","unseen"))
(set: $web_locations to (a: "up", "unseen","h", "unseen","dw", "unseen","at", "unseen","fg", "unvisited","wc", "unseen","ol", "unvisited","f", "visited","sweb", "unseen" ))
(set: $web_connections to (a: "sweb-h","unseen", "up-h","unseen", "h-fg","unseen", "dw-wc","unseen", "fg-wc","unseen", "fg-f","seen", "at-ol","unseen", "ol-f","seen"))
(set: $m_m_light to 5)
(set: $m_m_air to 5)
(set: $m_m_fire to 5)
(set: $m_m_chaos to 5)
(set: $m_m_fear to 5)
(set: $m_m_life to 5)
(set: $m_m_dark to 5)
(set: $m_m_earth to 5)
(set: $m_m_water to 5)
(set: $m_m_order to 5)
(set: $m_m_love to 5)
(set: $m_m_death to 5)
(set: $inv_menu_display to true)
(set: $sequence to 0)
(set: $health_display to true)
(set: $web_ship to "schooner")
(set: $test_mode to false)
(set: $reef_euros_state to "present")
(set: $depth to 7)
(set: $SpeedRun to false)
(set: $map_level to "Web")
(set: $pisces_name to "<span class='pisces'>@Pisces:</span>")
(set: $SpeedRun to true)
(if: $SpeedRun is true)[
]
(set: $inventory to it + (datamap: "Euros the East Wind", (datamap: "description", "A minor god of the wind floats invisible around me.","expanded",false)))(set: $reef_euros_state to "present")
(set: $inventory to it + (datamap: "websail plan", (datamap: "description", "A plan for sewing a websail.","expanded",false)))
(set: $inventory to it + (datamap: "tic tacs", (datamap: "description", "A small box of orange tic tacs.","expanded",false)))
(set: $inventory to it + (datamap: "jar of honey", (datamap: "description", "Sweet and gold.","expanded",false)))
(set: $inventory to it + (datamap: "electric guitar", (datamap: "description", "A sleek, black electric guitar.","expanded",false)))
(set: $inventory to it + (datamap: "enchanted guitar", (datamap: "description", "A sleek, black electric guitar that thrums with a powerful song.","expanded",false)))
(set: $inventory to it + (datamap: "wheelchair gloves", (datamap: "description", "Fingerless leather gloves that keep my hands safe while I wheel myself around.","expanded",false)))
(set: $inventory to it + (datamap: "mandrake", (datamap: "description", "A root vegetable shaped like a lumpy, human infant.", "expanded", false, "type", "ingredient", "name", "mandrake-baby", "durability", 1)))
(set: $inventory to it + (datamap: "ship hull", (datamap: "description", "The pried off side of a ship hull.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "treasure chest", (datamap: "description", "A treasure chest full of golden doubloons.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "catfish corpse", (datamap: "description", "The corpse of a massive catfish with spikes instead of whiskers and a mane of thick black tendrils.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "bandwidth throttler corpse", (datamap: "description", "A small, pentagonal body with a multitude of orange tendrils.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "merpig corpse", (datamap: "description", "The corpse of large boar with a fishtail.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "squick corpse", (datamap: "description", "A hideous, horrible corpse.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "grindylow corpse", (datamap: "description", "The corpse of the grindylow.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "giant lobsterish corpse", (datamap: "description", "The corpse of a huge, white lobster monster.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "giant lizardish corpse", (datamap: "description", "The corpse of a giant lizard with many legs. Its head is intact and it is wearing a hat.", "expanded", false, "durability", 3)))
(set: $inventory to it + (datamap: "a moment of peace", (datamap: "description", "I experienced a moment of pure peace and well being. It stays with me.","expanded",false)))
(set: $inventory to it + (datamap: "pile of jewels", (datamap: "description", "A pile of precious jewels of various shapes and sizes.","expanded",false)))
(set: $inventory to it + (datamap: "animal corpse", (datamap: "description", "The dead body of a small mammal.","expanded",false)))
(set: $inventory to it + (datamap: "Form 104M", (datamap: "description", "","expanded",false)))
(set: $thoughts to it + (datamap: "focus", "A capacity to narrow my attention."))
(set: $feelings to it + (datamap: "a sense of accomplishment", "A feeling of having accomplished something worthwhile."))
(set: $sequence to 1)
(set: $web_locations to (a: "up", "unseen","h", "unvisited","st", "unseen","is", "unvisited","at", "unseen","fg", "visited","ol", "unvisited","f", "visited","sweb", "unseen" ))
(set: $web_connections to (a: "sweb-h","unseen", "h-fg","seen", "up-is","unseen", "is-st","unseen", "fg-is","seen", "fg-f","seen", "at-ol","unseen", "ol-f","seen", "f-dw","seen"))
(set: $current_location to "f")
(click: ?text)[(go-to: "Fairyland")]
}Loading Game....
Please be patient.(display: "game start setup")
(set: $print_title to true)
(if: $MenuSave is "First Game")[
(display: "initial settings")
<script>hideHUD("skip-intro");</script>
(set: $inGame to false)
(set: $noMenu to false)
(set: $menu_numbers to true)
(go-to: "Menu")
](elseif: $MenuSave is "RESTART")[
(display: "Load Achievements")
(display: "game values")
<script>savegame("MenuSave","DELETED");</script>
<script>savegame("CurrentSave","DELETED");</script>
<script>displayHUD("skip-intro");</script>
(set: $inGame to false)
(set: $noMenu to false)
(set: $sequence to 0)
(if: $amif is true)[(go-to: "aMiF Intro")]
(else:)[(go-to: "intro")]
](else:)[
(display: "Load Achievements")
(set: $menu_numbers to true)
(go-to: "Menu")
](if: $sequence is 0)[$pisces_name Peep. Give him some space.
$peep_name I am sorry $peep_pisces!
$peep_name It is just so exciting to have royalty on board!
$pisces_name Royalty?
$peep_name He is a noble of Fairyland!
$peep_name You can tell by the crown.
$pisces_name Huh.
(set: $peep_opinion_mathias to false)
|endConversation>[Continue]
](elseif: $sequence is 1)[{
(set: $octo_act to (random: 1,10))
(set: $octo_busy to false)
}(if: $mathias_act is 1 and $mathias_on_board is true)[Mathias is petting the octopus.(set: $octo_busy to true)
](elseif: $peep_act is 6 and $peep_on_board is true)[The octopus is playing with Peep.(set: $octo_busy to true)
](elseif: $octo_act is 1)[The octopus is burrowing in the tank's sand bank.
](elseif: $octo_act is 2)[The octopus is investigating the tank's filter.
](elseif: $octo_act is 3)[The octopus is reorganizing the rocks in the tank.
](elseif: $octo_act is 4)[The octopus is turning the tank's light on and off.
](elseif: $octo_act is 5)[The octopus is eating a crab.
](elseif: $octo_act is 6)[The octopus is playing with a shell.
](elseif: $octo_act is 7)[The octopus is hanging upside down from the top of the tank.
](elseif: $octo_act is 8)[The octopus is out hunting.(set: $octo_busy to true)
](elseif: $octo_act is 9)[The octopus is hiding in a cave.(set: $octo_busy to true)
](else:)[The octopus is reorganizing the shells in the tank.
]
(if: $octo_busy is false)[|toyOcto>[Give the octopus a new toy.]
|playOcto>[Play with the octopus.]
|petOcto>[Pet the octopus.]
]|tank>[Check the tank settings.]
|endConversation>[Do something else.]
](elseif: $sequence is 2)[{
(set: $octo_act to (random: 1,10))
(set: $octo_busy to false)
}(if: $octo_act is 1)[I pick up one of the long bits of coral in the tank.
I wiggle it at the octopus. It reaches up to grab the other end.
We play tug-of-war for a while. Eventually, it wins.
](elseif: $octo_act is 2)[I pick up one of the long bits of coral in the tank.
I wiggle it at the octopus.
The octopus is not interested in the coral, but it IS interested in my hand.
It spends a while inspecting my fingers.
](elseif: $octo_act is 3)[I search the cabinets of the ship for a new toy.
I give it a few teacups.
It immediately builds a tower out of them.
](elseif: $octo_act is 4)[I search the cabinets of the ship for a new toy.
I give the octopus a half-open jar.
It quickly figures out how to open it completely.
](elseif: $octo_act is 5)[I search the cabinets of the ship for a new toy.
I give the octopus a bowl.
It squishes itself inside.
It does not entirely fit.
](else:)[The octopus doesn't seem interested in playing right now.
I respect its wishes and leave it alone.
]|octo>[Continue]
](elseif: $sequence is 3)[{
(set: $octo_act to (random: 1,3))
(set: $octo_busy to false)
}I reach into the tank and offer my hand to the octopus.
(if: $octo_act is 1)[It doesn't seem interested in me right now.
I respect its wishes and leave it alone.
](elseif: $octo_act is 2)[It pushes its mantle into my palm.
I gently rub its skin.
It feels slimy and velvety.
](else:)[It wraps its arms around my hand.
It ends up petting me much more than I'm petting it.
]|octo>[Continue]
](elseif: $sequence is 4)[I sort through my inventory and pick out a new toy for the octopus.
(display: "Inv In Place")
|octo>[Nevermind.]
](elseif: $sequence is 5)[(if: $selected_item is "stick")[The octopus loves the stick.
It drags the stick around its tank for quite a while, deciding on the best place to put it.
I'm not getting that stick back.
(move: $inventory's $selected_item into $remove)//Lost $selected_item.//
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item is "electric guitar" or $selected_item is "enchanted guitar")[The octopus explores the guitar.
It discovers that the strings make sounds, which entertains it (and me) for quite a while.
Eventually, it discards the instrument, and I reclaim it.
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item contains "Flier")[The octopus crumples the flier up and bats it around the tank.
(move: $inventory's $selected_item into $remove)//Lost $selected_item.//
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item contains "Form")[The octopus happily tears the form into little pieces.
(move: $inventory's $selected_item into $remove)//Lost $selected_item.//
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item contains "Fiddler corpse")[The octopus pokes the little corpse a few times to see if it will run, but quickly loses interest.
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item contains "pile of jewels")[The octopus arranges the jewels into three separate mounds, sorted by shape.
It then loses interest in them.
|prev>[Show it something else.]
|octo>[Do something else.]
](elseif: $selected_item contains "treasure chest")[The octopus opens and closes the chest a few times.
It then swims over to me to be pet and praised for its accomplishment.
|prev>[Show it something else.]
|octo>[Do something else.]
](else:)[The octopus doesn't seem interested in playing with that.
|prev>[Show it something else.]
|octo>[Do something else.]
]
](elseif: $sequence is 6)[The tank's temperature is 58°F.
It's pH level is 8.2
Nitrite and ammonia levels are at 0.
|octo>[Continue]
](elseif: $sequence is 7)[{
(set: $hag_act to (random: 1,3))
}(if: $hag_act is 1)[The hagfish is hiding under a rock.
](elseif: $hag_act is 2)[The hagfish is slithering about.
](elseif: $hag_act is 3)[The hagfish is floating near the bottom of the tank.
]
|next>[Pet the hagfish.]
|skip>[Check the tank settings.]
|endConversation>[Do something else.]
](elseif: $sequence is 8)[The hagfish's skin is smooth and velvety.
I touch it gently, so that I don't upset it and start it producing slime.
|hag>[Continue]
](elseif: $sequence is 9)[The tank's temperature is 62°F.
It's pH level is 8.0
Nitrite and ammonia levels are at 0.
|hag>[Continue]
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?octo)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?playOcto)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?petOcto)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?toyOcto)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?tank)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?hag)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?endConversation)[(set: $sequence to 0)(go-to: "Explore My Ship")]
}(if: $web_ship is "skyhook")[I'm riding in a |sky>[Skyhook Air, skimmer model.](click: ?sky)[
//It's small and sleek. The sides taper from flared wings into a spear-point of a bow. The iconic pomegranate logo is printed on the side and console.
This model is fast, but very small and not durable at all. Basically just a cockpit, studded with compartments. There's no storage or room for passengers.
It will work for a straight sprint up to the surface with no exploring along the way.//]](elseif: $web_ship is "schooner")[I'm riding in a |len>[Lenasus Medium Schooner.](click: ?len)[
//It's black matte frame is solid, but fairly light.
Lenasus models are good, all purpose vehicles. Reasonable speed, cabins large enough to live in for extended journeys.
This Lenasus has a cockpit and a cabin. Both have been painted rose pink.//]](elseif: $web_ship is "debugger")[I'm riding in a |debug>[UFOware Heavy Debugger.](click: ?debug)[
//This tank of a web ship is heavily fortified and has weapon slots.
It's not fast, but generally doesn't need to be.
There are three rooms in the ship--the storage area, the cabin, and the cockpit.
Plenty of space for storage and passengers, if I find any.//]](if: $o_hephaestus_upgrade_plating is $web_ship)[
Its outer plating is upgraded to resist <span class="mm">Fire</span>.](if: $o_hephaestus_upgrade_rudder is $web_ship)[
Its steering mechanism is upgraded. It's better at turning.](if: $ship_purple_goo is true)[
My ship is covered in <span class='purplegoo'>sticky, purple goo.</span>](if: $sequence is -1)[(if: $mathias_asl_level is 0)[I motion Mathias into the cockpit.
(if: $mathias_mood_level is 0)[He drags himself over](else:)[He walks over] and watches the screen.
I open Spellpad and start typing.
|next>[Continue]
](else:)[Do I want to talk to Mathias with Spellpad, or with |aslrep>[ASL]?(click-replace: ?aslrep)[Atlantisian Sign Language]
|spellpad>[Spellpad]
|asl>[ASL]
]
](elseif: $sequence is 0)[(if: $mathias_using_asl is false)[|how>[Type: how r u doing?]
|future>[Type: do u want to talk about what u're doing next?]
|fairyland>[Type: would u tell me about fairyland?]
|noble>[Type: would u tell me about fairy nobility?]
|stop>[Stop talking to Mathias.]
](else:)[|howAsl>[How are you?]
|futureAsl>[What do you want to do next?]
|fairyAsl>[Tell me about your home?]
|stop>[Stop talking to Mathias.]
]
](elseif: $sequence is 1)[(display: "Mathias State")|return>[Continue]
](elseif: $sequence is 2)[$mathias_name Most of the time Fairyland exists at the base of the Web, just above the Deep Web.
$mathias_name It's very beautiful.
$mathias_name It's very dangerous.
|next>[Continue]
](elseif: $sequence is 3)[$mathias_name It was created by the will of the Queens.
$mathias_name Titania who is Light and Chaos.
$mathias_name Mab who is Darkness and Order.
$mathias_name By Titania's influence, it is colorful, varied, and filled with infinite potential.
$mathias_name By Mab's will it is utterly bound by law.
$mathias_name That is our magic: infinite possibility with strict rules.
|next>[Type: seems paradoxical]
](elseif: $sequence is 4)[$mathias_name It's more that the Queens have two different jobs.
$mathias_name Light expands. Dark delineates.
|noble>[Type: tell me about fairy nobility?]
|return>[Type about something else.]
](elseif: $sequence is 5)[$mathias_name We have always had Queens.
$mathias_name And the courts developed around them.
$mathias_name The Queens rule in their seasons.
$mathias_name But Spring and Fall are strange, in-between times.
$mathias_name Most of what the court does is decide who is in charge then.
$mathias_name Competition is fierce.
|next>[Continue]
](elseif: $sequence is 6)[$mathias_name You need a Queen's blood to be able to rule.
$mathias_name All royalty is descended from the Queens.
$mathias_name Well.
$mathias_name With the exception of Lisbeth the Plasma Transfused.
$mathias_name But that was a strange, edge case.
|return>[Type about something else.]
](elseif: $sequence is 7)[$mathias_name If you wish.
$mathias_name To be truthful, I don't know what I'm going to do now.
$mathias_name I can't go back to Fairyland like this.
|next>[Type: there are other places to live]
|cruel>[Type: are they cruel to deaf people in fairyland?]
](elseif: $sequence is 8)[$mathias_name I suppose.
He stares off into the middle distance and the conversation trails off.
|return>[Type about something else.]
](elseif: $sequence is 9)[$mathias_name Not particularly.
$mathias_name I mean, not unusually cruel.
$mathias_name But Fairyland isn't safe for anyone.
$mathias_name And Belinda got the drop on me even back when I could hear her coming.
$mathias_name What chance do I have now?
|next>[Type: belinda? ]
|manage>[Type: u can learn to manage a disability. i could help.]
](elseif: $sequence is 10)[$mathias_name Belinda is...
$mathias_name Do you watch much television?
|next>[Type: do //you// watch much tv in fairyland?]
|tvyes>[Type: i do.]
|tvno>[Type: not really. or if i do i don't remember]
](elseif: $sequence is 11)[$mathias_name Sort of.
$mathias_name We're made of Dreams.
$mathias_name And they are all around us.
$mathias_name We get a sense of the stories that many people know.
|tvyes>[Type: i watch tv.]
|tvno>[Type: i dont watch tv. or if i do i don't remember]
](elseif: $sequence is 12)[(if: $watch_tv is true)[$mathias_name Belinda is Glinda the Good Witch crossed with Cersei Lannister.](else:)[$mathias_name Belinda is poison knives wrapped in pink taffeta.]
$mathias_name She is the front runner for Queen for this autumn throne.
$mathias_name She is...going to hurt a number of people.
$mathias_name I was trying to compete with her.
$mathias_name And that is how I ended up here.
$mathias_name Unable to fight her at all.
|manage>[Type: u can learn to manage a disability. i could help.]
|return>[Type about something else.]
](elseif: $sequence is 13)[(if: $mathias_asl_level is 0)[$mathias_name Help me survive in court when I can't hear my enemies approach?
$mathias_name Or scheme without a notebook?
$mathias_name I don't know. I am afraid it might be suicide.
|next>[Type: i can tell you want to go back.]
|trail>[Type: it would be dangerous.]
|return>[Type about something else.]
](else:)[$mathias_name I have been feeling better about my chances since we spent that week with the Sirens.
He smiles slightly.
|next>[Type: i can tell you want to go back.]
|return>[Type about something else.]
]
](elseif: $sequence is 14)[$mathias_name I do.
$mathias_name There are people I owe.
$mathias_name And people I care for.
|next>[Type: think about it.]
](elseif: $sequence is 15)[$mathias_name I shall.
$mathias_name Thank you.
(if: $mathias_future_talk is false)[(set: $mathias_future_talk to true)(set: $mathias_mood_level to it + 1)]
|return>[Type about something else.]
](elseif: $sequence is 16)[I sit in front of Mathias and wave.
(if: $mathias_mood_level is 0)[He stares listlessly at my hand for a moment, then shakes himself as if coming out of a dream. He makes himself wave back.](else:)[He waves back.]
|return>[Continue]
](elseif: $sequence is 17)[I curl my hands and touch my knuckles together in front of my chest.
|howsign>[Then I flip my hands like I'm giving two thumbs up.](click: ?howsign)[
//How//]
|yousign>[I point at Mathias.](click: ?yousign)[
//are you?//]
|how>[Continue]
](elseif: $sequence is 18)[(if: $mathias_mood_level is 0)[Mathias tries to formulate a response, but after a few false starts just shrugs.
|return>[Continue]
](else:)[Mathias sighs.
|unsuresign>[He holds one hand out flat, palm up. He karate chops his other hand into the palm, and then tilts it back and forth.](click: ?unsuresign)[
//I'm not sure.//]
|gosign>[He points with two fingers.](click: ?gosign)[
//Go//]
|homesign>[He pinches all his fingers together, then touches his mouth and his cheekbone in quick succession.](click: ?homesign)[
//home//]
|questionsign>[The uncertainty on his face adds a:](click: ?questionsign)[
//?//]
|return>[Continue]
]
](elseif: $sequence is 19)[He smiles wistfully.
|beautysign>[He spreads his fingers and twirls them to circle his face.](click: ?beautysign)[
//Beautiful.//]
|dangersign>[He gestures to himself with his thumb, but blocks the motion with his other hand, as if protecting himself.](click: ?dangersign)[
//Dangerous.//]
|return>[Continue]
](elseif: $sequence is 20)[
]{
(click: ?asl)[(set: $mathias_using_asl to true)(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?spellpad)[(set: $mathias_using_asl to false)(set: $sequence to 0)(go-to: $currentPassage)]
(click: ?how)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?fairyland)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?noble)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?future)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?trail)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?cruel)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?tvyes)[(set: $sequence to 12)(set: $watch_tv to true)(go-to: $currentPassage)]
(click: ?tvno)[(set: $sequence to 12)(set: $watch_tv to false)(go-to: $currentPassage)]
(click: ?manage)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?howAsl)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?futureAsl)[(set: $sequence to 18)(go-to: $currentPassage)]
(click: ?fairyAsl)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?stop)[(set: $sequence to 0)(go-to: "Explore My Ship")]
}(if: $mathias_using_asl is false)[(if: $mathias_has_armor is false)[He displays his nearly mended armor.
$mathias_name Feeling better.(set: $mathias_has_armor to true)
](elseif: $mathias_mood_level is 0)[Mathias makes an indifferent noise.
](elseif: $mathias_mood_level is 1 or $mathias_mood_level is 2)[$mathias_name I'm fine.
$mathias_name Thank you.
He is obviously not fine.
](elseif: $mathias_mood_level is 3 or $mathias_mood_level is 4)[$mathias_name I am as well as can be expected.
$mathias_name Thank you for asking.
](elseif: $mathias_mood_level is 5 or $mathias_mood_level is 6)[(if: $mathias_grateful is false)[He seems uncomfortable, glances at me, then says:
$mathias_name Grateful.(set: $mathias_grateful to true)](else:)[$mathias_name I am doing very well, considering the circumstances.
$mathias_name Thank you for asking.
]](elseif: $mathias_mood_level is 7 or $mathias_mood_level is 8)[$mathias_name I am...happy.
He sounds incredulous at this.
]](else:)[(if: $mathias_has_armor is false)[He displays his nearly mended armor and smiles slightly.(set: $mathias_has_armor to true)
](elseif: $mathias_mood_level is 0)[He starts trying to sign something, but trying to figure out a response and how to express that response is too much.
In the end he just covers his face in his hands and shakes his head.
](elseif: $mathias_mood_level is 1 or $mathias_mood_level is 2)[Mathias |finesign>[spreads the fingers of his hand wide and touches his thumb to his chest.](click: ?finesign)[
|notlook>[//Fine.//](click: ?notlook)[
//He does not look fine.//]]
](elseif: $mathias_mood_level is 3 or $mathias_mood_level is 4)[Mathias |finesign>[spreads the fingers of his hand wide and touches his thumb to his chest.](click: ?finesign)[
//Fine.//]
|thanksign>[He touches his fingers to his lips, then offers his flat palm to me.](click: ?thanksign)[
//Thank you.//]
](elseif: $mathias_mood_level is 5 or $mathias_mood_level is 6)[(if: $mathias_grateful is false)[He seems uncomfortable. He glances at me.
|thanksign>[He touches his fingers to his lips, then offers his flat palm to me.](click: ?thanksign)[
//Thank you.//]
|doublesign>[He does this with both hands at the same time.](click: ?doublesign)[
//Doing it with both hands intensifies the meaning. Double thank you? Gratitude?//]
This strikes me as excessive and I tell him it's not necessary and then remember he can't hear that and then I |finesign>[struggle to remember the sign for it.](click: ?finesign)[
//I settle for 'Fine': spreading my fingers and touching my thumb to my chest.//]
(set: $mathias_grateful to true)](else:)[Mathias |finesign>[spreads the fingers of his hand wide and touches his thumb to his chest.](click: ?finesign)[
//Fine.//]
He is smiling as he does it.
]](elseif: $mathias_mood_level is 7 or $mathias_mood_level is 8)[Mathias considers, then he |goodsign>[touches his right hand to his chin, then brings it down to rest on his other hand.](click: ?goodsign)[
//Good.//]
He smiles a little incredulously, and gives a small shrug.
]]
(if: $sequence is 0)[I dock at the Port of Ay'o.
|port>[Enter Fairyland]
](elseif: $sequence is 1)[(if: $SpeedRun is true)[As I'm traveling upwards a pop-up intercepts me and forces me to land in Fairyland.
Apparently, there's a blockade up while the nobility elects a new Queen of Fairyland for the Autumn season.
I'll have to deal with that before progressing.
|port>[Enter Fairyland]
](else:)[I am sliding up the thread of the Web that is my relationship to my body.
My Momentum is good. I am confident in my destination.
|next>[Then...]
]{
(if: $amif is not true)[(display: "Fairyland Variables")]
}](elseif: $sequence is 2)[I brake hard to avoid ramming into the pop-up.
(if: $mathias_on_board is true)[Mathias stumbles, but braces himself against the wall and does not fall.
](if: $peep_on_board is true)[Peep tumbles and flutters wildly to right himself.
](if: $octo_on_board is true)[The octopus bounces in its terrarium and flails its arms irritably.
]
|next>[Continue]
(display: "Fairy Pop Up")
](elseif: $sequence is 3)[I examine the pop-up.
I try to nose past it.
It blocks my path.
It taps my windshield.
It points me down towards the world below.
|next>[Continue]
](elseif: $sequence is 4)[(if: $mathias_on_board is true)[Mathias walks up behind me.
$mathias_name What's going on?
I open Spellpad.
I type: there's a block over this world forcing us to land.
|next>[Continue]
](elseif: $peep_on_board is true)[Peep flutters to the cockpit.
$peep_name What happened, $peep_pisces?
$pisces_name There's a pop-up blocking travel over this world.
$pisces_name We're going to have to land.
$peep_name Okay.
|landFairy>[Continue]
](else:)[I sigh and adjust the controls.
I guess I'll have to land.
|landFairy>[Continue]
]
](elseif: $sequence is 5)[Mathias examines the pop-up.
His expression sinks from perplexed to unreadable.
$mathias_name I must apologize.
Type: why?
$mathias_name This is my world.
|next>[Continue]
](elseif: $sequence is 6)[I decide that Mathias apologizes too much.
Type: i don't think you're responsible for your world's traffic laws.
$mathias_name I am part of the administration.
Type: did you do a lot of voting on traffic regulation from the wailing pit?
Mathias pauses.
$mathias_name Point.
|landFairy>[Continue]
](elseif: $sequence is 7)[I detach my webship from the thread and |drop1>[drop] towards the world below.(click: ?drop1)[
I engage my short-burst engines to slow my |drop2>[descent].(click: ?drop2)[
There is a soft bump as I |drop3>[hit] the edge of the bubble that surrounds the world.(click: ?drop3)[
Then I'm through, and I can see where I am.]]]
|next>[Continue]
](elseif: $sequence is 8)[Clouds swirl with picturesque grace, and the bright morning skyline is tinged with iridescence.
People with gossamer wings flit back and forth through the sky.
Gilded castles and shimmering glades dot the landscape below.
Fairyland.(if: $mathias_on_board is true or $peep_on_board is true)[
Well. Conveniently enough, I have passengers I need to drop off here.]
|next>[Continue]{
(set: $custom_colors to "fairyland")
(set: $noBox to false)
<script>changeBackground("fae_intro");</script>
}
](elseif: $sequence is 9)[The pop-up is still hounding me.
It herds my webship towards an |airship>[airship docking station.](click: ?airship)[
//A sign conveniently identifies it as the Port of Ay'o.//]
I comply. I don't want trouble.
I dock in port 80, parking my webship between a zeppelin and a dragon.
The port is crowded. Apparently, the pop-ups are stopping everyone trying to cross Fairyland space.
|next>[Continue]
](elseif: $sequence is 10)[(if: $mathias_on_board is true)[Mathias cuts through the mob around the swamped Port Administration desk.
Him and his royal circlet get answers quickly.
He pretends to listen. I actually listen.
Apparently, there's a blockade up while the nobility elects a new Queen of Fairyland for the Autumn season.
One of the fairy |nobles>[nobles] was assassinated.(click: ?nobles)[
$mathias_name Not unusual.]
The current |queen>[Queen] put up a blockade around Fairyland, preventing travel past it, until the matter is resolved. (click: ?queen)[
$mathias_name It's summer, so that's Titania.]
](else:)[I don't bother with the swamped Port Administration desk.
The elves there look frazzled and I hate waiting in lines.
I just talk to people on the other stopped ships.
Apparently, there's a blockade up while the nobility elects a new Queen of Fairyland for the Autumn season.
One of the fairy nobles was assassinated.
The current Queen put up a blockade around Fairyland, preventing travel past it, until the matter is resolved.
]
|next>[Continue]
](elseif: $sequence is 11)[If I want to travel farther, I need to get past this blockade.
No one has any idea when it will |while>[end.] (if: $mathias_on_board is true)[(click: ?while)[
$mathias_name It might end tomorrow. It might take years.
I write: Doesn't it have to end before autumn?
$mathias_name Mab will keep autumn from coming.]]
I decide it would behoove me to take this up with the administration.
|next>[Continue]
](elseif: $sequence is 12)[I carefully make my way down from the airship ports.
(if: $mathias_on_board is true and $peep_on_board is true)[Mathias pushes my wheelchair while Peep flutters around excitedly.
](elseif: $mathias_on_board is true)[Mathias pushes my wheelchair.
](elseif: $peep_on_board is true)[Peep tries to push my wheelchair. It's a bit too heavy for him, so I mostly wheel myself, but I let him try to help.
](else:)[Fortunately, they have ramps.
]
|port>[Enter Fairyland]
](elseif: $sequence is 13)[
]{
(click: ?landFairy)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?port)[(set: $sequence to 0)(go-to: "Port of Ay'o")]
(set: $east_text to "Roll east.")
(set: $west_text to "Roll west.")
(set: $north_text to "Roll north.")
(set: $south_text to "Roll south.")
}(if: $sequence is 0)[''$currentPassage''
I am at the base of the airship port where my ship is docked.
(if: $f_escaped_fairyland is true)[The sunlight is paler now, and a cool breeze curls in from the south.
A paved road leads north.](elseif: $f_season is "autumn")[The sunlight is paler now, and a cool breeze curls in from the south.
Autumn is coming, and I can finally leave.](else:)[The sun is bright. There is a balmy haze over everything.
A paved road leads north.](if: $peep_on_board is true)[
Peep is here.](if: $mathias_on_board is true)[
Mathias is here.](if: $memories's "how scarf"'s part1_found is false and $amif is false)[
Familiar <span class="text-shimmer">shimmers</span> of blue gleam on the ground here.]
(if: $f_escaped_fairyland is true)[|returnShip>[Return to my ship.]](elseif: $f_season is "summer")[|next>[Return to my ship.]](else:)[|leaveFairyland>[Return to my ship.] ](if: $memories's "how scarf"'s part1_found is false and $amif is false)[
|mem>[Examine the shimmers.]]{
<span class="go_north dir">[[$north_text->Crossroads]]</span>
}
](elseif: $sequence is 1)[There's no point in going back to my ship.
I can't go further up because of the blockade, and I'm not going back down to the Deep Web.
I need Fairyland to take down its blockade, and it seems they won't do that until an Autumn Queen is selected.
Until that happens, I'm stuck here.
|return>[Continue]
](elseif: $sequence is 2)[Bits of one of my memories are scattered here.
(if: $mathias_on_board is true)[Mathias helps me collect them.](elseif: $peep_on_board is true)[Peep helps me collect them.](else:)[With a great deal of difficulty, I manage to collect them.]
|assemble_dream>[And I put them back together.]{
(set: $dream_name to "how scarf")
(set: $memories's $dream_name's part1_found to true)
(set: $memories's $dream_name's part2_found to true)
(set: $memories's $dream_name's part3_found to true)
(set: $memories's $dream_name's part4_found to true)
(set: $memories's $dream_name's part5_found to true)
(set: $return_passage to $currentPassage)
}
](elseif: $sequence is 3)[Mathias helps me maneuver my chair back into the webship.
Then he clasps my hand with a tone of finality.
(if: $mathias_asl_level > 0)[I pull my hand away to ask--
$pisces_name You're staying here?
$mathias_name Yes. This is my home.
(if: $f_mathias_mab_allies is true or $f_nyx_promise is "mathias" or $f_mathias_lirana_allies is true or $f_rine_promise is "mathias")[$mathias_name Thank you, so much, for your help.](else:)[$mathias_name Thank you, for your help.]
$mathias_name I hope I was helpful as well.
](else:)[I write: ur staying?
$mathias_name Yes.
$mathias_name For better or worse. This is my home.
(if: $f_mathias_mab_allies is true or $f_nyx_promise is "mathias" or $f_mathias_lirana_allies is true or $f_rine_promise is "mathias")[$mathias_name Thank you, for helping secure my position here.](else:)[$mathias_name Thank you for your help.]
$mathias_name I hope I was of use to you in navigating the palace.
]What a very fairy way of expressing affection. 'I hope I was useful.'
|next>[Continue]
](elseif: $sequence is 4)[I hug him.
A more human way of expressing affection.
He's very awkward about it, but clearly appreciates it.
|next>[Continue]{
(set: $mathias_on_board to false)
(set: $f_mathias_in_fairyland to true)
(if: $f_autumn_queen is "Liege Xylia Xynn")[(set: $f_mathias_location to "throne")
](elseif: $f_mathias_mab_allies is true)[(set: $f_mathias_location to "solarium")
](elseif: $f_nyx_promise is "mathias" and $f_autumn_queen is "Heir Nyx")[(set: $f_mathias_location to "solarium")
](elseif: $f_rine_promise is "mathias" and $f_autumn_queen is "Lord Rayne Rinecoat")[(set: $f_mathias_location to "trophy")
](elseif: $f_mathias_lirana_allies is true and $f_autumn_queen is "Princess Layla Lirana")[(set: $f_mathias_location to "library")
](else:)[(set: $f_mathias_location to "")]
}
](elseif: $sequence is 5)[After deliberating for a while, I decide I should leave the evidence of royal murder in Fairyland.
While none of it is overtly dangerous, it just feels like a bad idea to keep it on my person.
(if: "poison sample" is in $inventory)[(move: $inventory's "poison sample" into $remove)//Lost poison sample.//
](if: "needle and thread" is in $inventory)[(move: $inventory's "needle and thread" into $remove)//Lost needle and thread.//
](if: "broken arrow" is in $inventory)[(move: $inventory's "broken arrow" into $remove)//Lost broken arrow.//
](if: "Picture: Blackwood Chest" is in $inventory)[(move: $inventory's "Picture: Blackwood Chest" into $remove)//Lost Picture: Blackwood Chest.//
](if: "Picture: Blackwood Head" is in $inventory)[(move: $inventory's "Picture: Blackwood Head" into $remove)//Lost Picture: Blackwood Head.//
]
|next>[Continue]
](elseif: $sequence is 6)[I settle into my webship's cockpit.
I start ignition.
I play a game of solitaire to control lift-off.
I fly straight into the Web.
It's good to be sailing again.
(if: $amif is true)[|finishGame>[Fly]](else:)[|returnShip>[Fly]]{
(set: $f_escaped_fairyland to true)
}
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?mem)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?leaveFairyland)[(if: $mathias_on_board is true)[(set: $sequence to 3)](else:)[(set: $sequence to 5)](go-to: $currentPassage)]
(click: ?finishGame)[(set: $sequence to 0)(go-to: "End of aMiF")]
(set: $custom_colors to "fairyland")
(set: $inIntro to false)
<script>hideHUD("skip-intro");</script>
(set: $noBox to false)
<script>changeBackground("fae_port");</script>
}(if: $sequence is 0)[''$currentPassage''
I'm at a four way crossroads.
There's a sign in the center.(if: $peep_on_board is true)[
Peep flutters over to it excitedly and points at the east-pointing part of the sign.](if: $f_chaosScavenge's length is not 0)[
Windy whirls of indecision chase each other from road to road.](if: $mathias_on_board is true)[
Mathias is here.]
|next>[Examine the sign.](if: $f_chaosScavenge's length is not 0)[
|search>[Examine the whirls.]]
{
<span class="go_north dir">(if: $f_polt_state is "unstolen" and $amif is true)[|poltSnatch>[$north_text]](else:)[|skip>[$north_text]]</span>
<span class="go_south dir">[[$south_text->Port of Ay'o]]</span>
<span class="go_east dir">(if: $f_polt_state is "unstolen" and $amif is true)[|poltSnatch>[$east_text]](else:)[[[$east_text->Edge of the Woods]]]</span>
<span class="go_west dir">(if: $f_polt_state is "unstolen" and $amif is true)[|poltSnatch>[$west_text]](elseif: $peep_on_board is true)[|notYet>[$west_text]](else:)[[[$west_text->Toll Bridge]]]</span>
}
](elseif: $sequence is 1)[//To the North://
Poltergeist Hill
//To the East://
|peep_comment>[The Woods](if: $peep_on_board is true)[(click: ?peep_comment)[
$peep_name The Woods is my home, $peep_pisces!]]
//To the South://
Port of Ay'o
//To the West://
|polt_comment>[The Palace](if: $f_polt_state is "city")[(click: ?polt_comment)[
//The poltergeist flew away in that direction.//]]
|return>[Continue]
](elseif: $sequence is 2)[(if: $amif is true)[(if: $f_polt_state is "forest")[The poltergeist that stole my spell probably came from here, but it went east.
And I have absolutely no desire to try and wheel myself up a hill just to deal with more mischief-making puffs of air.
](elseif: $f_polt_state is "city")[The poltergeist that stole my spell probably came from here, but it just flew west.
And I have absolutely no desire to try and wheel myself up a hill just to deal with more mischief-making puffs of air.
](else:)[I have absolutely no desire to try and wheel myself up a hill just to deal with more mischief-making puffs of air.
]
|return>[Continue]
](elseif: $mathias_on_board is true)[Mathias pushes my wheelchair up the steep incline of the hill.
But halfway up invisible spirits laughingly twirl us back down the hill.
$polt_name No politics on the hill!
Mathias sighs.
$mathias_name I apologize. Poltergeists respect no nobles but Queen Titania.
|return>[Continue]
](elseif: $peep_on_board is true)[Peep struggles to push me up the hill, and I quickly stop him.
I don't want him to hurt himself.
That's not the way to his home anyway.
|return>[Continue]
](else:)[There's a paved road that goes up the hill, but it's too steep.
I can't wheel my way up that incline without help.
|return>[Continue]
]
](elseif: $sequence is 3)[I want to get Peep home before I go to the potentially dangerous big-city-and-nobility part of Fairyland.
|return>[Continue]
](elseif: $sequence is 4)[A crossroads is a magical place that shatters certainty into possibility.
These whirling, indecisive winds can be caught and turned into motes of <span class="Chaos">Chaos</span>.
|next>[Search]
|return>[Not now]
{
(set: $grid_x to 16)
(set: $grid_y to 9)
(set: $grid_indent to 4)
(set: $grid_bottom_indent to 4)
(set: $grid_wordlist to $f_chaosScavenge)
(set: $wordlist_name to "f_chaosScavenge")
(set: $searchingFor to "Pieces of Chaos")
(set: $searchColor to "Green")
(set: $basePassage to $currentPassage)
(set: $grid_wordlist_name1 to "")
(set: $grid_wordlist_name2 to "")
(set: $last_word to false)
(set: $wordlist_display to "")
(set: $current_action to "")
}
](elseif: $sequence is 5)[(display: "Word Search In Place")
](elseif: $sequence is 6)[I start to wheel myself through the crossroads.
A breeze plays with my scarf.
I pause, suddenly and unaccountably on edge.
There's something odd in the air.
|next>[Continue]
](elseif: $sequence is 7)[I'm paranoid, but I'm also right.
The breeze abruptly accelerates into a driving wind.
It pulls my scarf off my head. It howls past my ears. I hear laughter in the gale of it.
It snatches something from me.
//Lost Spell: **Textilekinesis**//
|next>[Continue]{
(set: $spells's "Textilekinesis"'s compiled to false)
(set: $spells's "Textilekinesis"'s part1_found to false)
}
](elseif: $sequence is 8)[God DAMN poltergeists.
I yank my scarf back into place as the spirit spirals west, laughing at me.
That was an important spell it stole.
I'm going to have to hunt down that glorified draft and get it back.
|return>[Continue]{
(set: $f_polt_state to "city")
}](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?notYet)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?search)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?poltSnatch)[(set: $sequence to 6)(go-to: $currentPassage)]
(set: $custom_colors to "fairyland")
<script>changeBackground("fae_cross");</script>
}Double-click this passage to edit it.(if: $sequence is 0)[''$currentPassage''
The trees here are old and their branches thick with leaves.
They are populated with blue-feathered bird-people.(if: $peep_on_board is true)[
One of them rushes down the moment she sees Peep.
|skip>[Continue] ](else:)[
Peep and his mother are here.
{
<span class="go_east dir">|next>[$east_text]</span>
<span class="go_west dir">[[$west_text->Edge of the Woods]]</span>
}]](elseif: $sequence is 1)[At the next bend of the path, I see a gingerbread house with frosted candy gables.
I don't want to tangle with that. This is as far into the woods as I'll go.
|return>[Continue]
](elseif: $sequence is 2)[There is a chaos of chirruping and fluttering.
They are both trying to talk at once, and embrace, and groom each other.
I wait quietly, not wanting to interrupt.
|next>[Continue]
(set: $kind to $kind + 5)
](elseif: $sequence is 3)[Eventually, Peep's mother hops over to me.
$peepmom_name My child has told me that you are $peep_pisces!
$peepmom_name My child has told me that you found him when he was lost!
$peepmom_name My child has told me that you deserve a reward!
$peepmom_name My child tells me true!
|next>[Continue]
](elseif: $sequence is 4)[$peepmom_name We are the Florine, also called blue birds of happiness.
$peepmom_name We can give you joy.
$peepmom_name We can give you jewels.
$peepmom_name We can give you <span class="love">Love</span>.
|joy>[$pisces_name Joy, please.]
|jewels>[$pisces_name Jewels would be useful, thank you.]
|love>[$pisces_name I would appreciate motes of <span class="love">Love</span>.]
](elseif: $sequence is 5)[Peep's mother puffs up her neck feathers.
Then she sings.
The note is pure and liquid golden.
It brightens my mind and relaxes my shoulders.
I feel the troubles of |world>[the world](click: ?world)[, //and this world beneath the world//,] melt away from me.
|next>[Continue]
](elseif: $sequence is 6)[For a moment
everything is
okay.
Good even.
|next>[Continue]
](elseif: $sequence is 7)[It passes.
Joy is not a durable emotion.
But it leaves me better for it.
I thank her.
**Gained: a moment of peace**
(set: $inventory to it + (datamap: "a moment of peace", (datamap: "description", "I experienced a moment of pure peace and well being. It stays with me.","expanded",false)))
|goodbyePeep>[Continue]
](elseif: $sequence is 8)[Peep's mother flutters among the other birds.
From within their plumage, they reveal a Magpie's treasure of trinkets.
She rewards me with a pile of rings, bangles and jewels.
I thank her.
**Gained: pile of jewels**
(set: $inventory to it + (datamap: "pile of jewels", (datamap: "description", "A pile of precious jewels of various shapes and sizes.","expanded",false)))
|goodbyePeep>[Continue]
](elseif: $sequence is 9)[Peep's mother reaches down and preens Peep's head.
Then she gives me some of the <span class="love">Love</span> she felt on seeing him again.
I thank her.
{(set: $mm_to_change to "love")
(set: $mm_value to 5)
(display: "update mm")}
(if: $spells contains "Dream")[|getDream>[Continue]](else:)[|goodbyePeep>[Continue]]
](elseif: $sequence is 10)[Peep tells me goodbye and wishes me good luck on my quest.
Then he flies up to perch beside his mother.
They sing together.
It is a lovely sound.
|return>[Continue]
(set: $peep_on_board to false)
<script>addAchieve("Happy Blue Birds");</script>
](elseif: $sequence is 11)[Attached to the love that she gives me, I find a pleasant dream:
**You are warm and safe, surrounded by love.**
I add it to my collection of dreams.
|prev>[Continue]
(set: $dream_list to it + (a: "You are warm and safe, surrounded by love."))
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?joy)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?jewels)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?love)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?goodbyePeep)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?getDream)[(set: $sequence to 11)(go-to: $currentPassage)]
<script>changeBackground("fae_forest_deep");</script>
}(if: $sequence is 0)[''$currentPassage''
A |bridge>[wooden bridge] spans a broad river.(click: ?bridge)[
//It's wide and well maintained with slats close together. I'll be able to cross it easily.//]
There is a tollbooth by one side, (if: $f_goated is false)[|man>[manned]](else:)[staffed] by a goat.(if: $f_goat_state is "nightmare")[
The goat is asleep, fretfully twitching and trapped in a nightmare.](if: $f_goat_state is "dream")[
The goat is asleep, humming happily as he enjoys a dream.]
There is a sign on the tollbooth.(if: $mathias_on_board is true)[
Mathias is here.]
|skip>[Read sign.]
|talkGoat>[Talk to the goat.]
{
<span class="go_east dir">[[$east_text->Crossroads]]</span>
<span class="go_west dir">(if: $f_toll_paid is false and $f_goat_state is "alert")[|next>[$west_text]](else:)[[[$west_text->Arcadia Capitol]]]</span>
(click-replace: ?man)[|goat>[goated?]]
(click-replace: ?goat)[|staff>[staffed?]]
(click-replace: ?staff)[staffed(set: $f_goated to true)]
}
](elseif: $sequence is 1)[As I roll towards the bridge the goat bleats at me.(if: $f_goat_unbabbled is true)[
$goat_name No cross! Pay toll!]
I don't know if you've ever been aggressively bleated at by a goat, but it's intimidating.
I wheel back a bit, and he stops.
He looks at me reproachfully, and points at the sign.(if: $f_goat_unbabbled is true)[
$goat_name Read the sign, silly human!]
|return>[Continue]
](elseif: $sequence is 2)[The sign reads:
//Bridge Toll: Three Motes
NO DARK//
|return>[Continue]
](elseif: $sequence is 3)[(if: $f_goat_state is "nightmare")[The goat is asleep, fretfully twitching and trapped in a nightmare.
|return>[Continue]
](elseif: $f_goat_state is "dream")[The goat is asleep, humming happily as he enjoys a dream.
|return>[Continue]
](elseif: $f_toll_paid is true)[The goat gestures encouragingly at the bridge with his horns.(if: $f_goat_unbabbled is true)[
$goat_name You paid the toll. Go ahead!]
|return>[Continue]
](else:)[The goat bleats at me in a welcoming sort of a way.(if: $f_goat_unbabbled is true)[
$goat_name Hello. Please pay the toll.]
|next>[Pay the toll.]
(if: $mathias_on_board is true)[|mathias>[Ask Mathias for help.]
]|spell>[Cast a spell.]
|return>[Stop talking to the goat.]
]
](elseif: $sequence is 4)[==><==
The goat looks at me expectantly.
<==
(display: "Use MM In Place")
|talkGoat>[Do something else.]
](elseif: $sequence is 5)[(if: $using_element is "dark")[The goat bleats disapprovingly and gestures towards the sign with his head.(if: $f_goat_unbabbled is true)[
$goat_name Did you even read the sign?]
|prev>[Try another element.]
|talkGoat>[Do something else.]
](elseif: $using_element contains "_yes")[I give the goat three motes of <span class="$save_element">$save_element</span>.
{
(set: $f_toll_paid to true)
(set: $mm_to_change to $save_element)
(set: $mm_value to -3)
(display: "update mm")
}
He bleats in a pleased, but professional way.(if: $f_goat_unbabbled is true)[
$goat_name You are good for paying the toll.]
He gestures toward the bridge with his horns.
|return>[$pisces_name Thank you, goat.]
](else:)[(set: $save_element to $using_element)(set: $cost to 3)(display: "confirm cost")
]
](elseif: $sequence is 6)[What spell should I cast?
(display: "Cast Spell In Place")
|talkGoat>[Do something else.]
](elseif: $sequence is 7)[(if: $casting_spell is "SalveMundi")[The goat blinks his strange, rectangular-pupiled goat-eyes at the glowing letters.(if: $f_toll_paid is false)[
Then he gestures emphatically at the sign with his horns.(if: $f_goat_unbabbled is true)[
$goat_name That is not the toll.]]
|prev>[Try another spell.]
|talkGoat>[Stop casting magic.]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow">Goats are simple beasts.</span>
<span class="txt anim-text-flow">They like to eat (everything).</span>
<span class="txt anim-text-flow">They fear pain and death.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|talkGoat>[Continue]
](elseif: $casting_spell is "Unbabble")[I translate the goat's bleating into words.
(set: $f_goat_unbabbled to true)
|talkGoat>[Continue]
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[(display: "Dreams and Nightmares")
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|talkGoat>[Stop casting magic.] ](set: $casting_spell to "")
](elseif: $sequence is 8)[(if: $selected_dream is "Swimming through clouds.")[The goat does not seem to like the idea of flying.
He shakes his head and the Dream finds no purchase.
|prev>[Try another dream.]
|talkGoat>[Continue]
](elseif: $selected_dream is "Eating Mangoes.")[Goats like eating things. The goat very quickly gets wrapped up in a daydream of eating mangos.
He bleats distractedly and leans against the side of the toll booth.
|return>[Continue]
(set: $f_goat_state to "dream")
](elseif: $selected_dream is "Kissing.")[Goats don't kiss.
He shakes his head and the Dream finds no purchase.
|prev>[Try another dream.]
|talkGoat>[Continue]
](elseif: $selected_dream is "Exploring a clockwork castle.")[The goat excitedly starts eating all the delicate clockwork pieces in the castle.
He bleats distractedly and leans against the side of the toll booth.
|return>[Continue]
(set: $f_goat_state to "dream")
](elseif: $selected_dream is "You are warm and safe, surrounded by love.")[The goat bleats dreamily. Soothed and content.
He leans against the side of the toll booth and drifts off into a peaceful sleep.
|return>[Continue]
(set: $f_goat_state to "dream")
](elseif: $selected_dream is "Your teeth are falling out.")[The goat bleats in distress and gnashes his teeth.
He drifts into a distracted and fretful sleep.
|return>[Continue]
{
(set: $f_goat_state to "nightmare")
(set: $ruthless to $ruthless + 3)
}
](elseif: $selected_dream is "Falling.")[The goat huffs indignantly at the idea that he would falls.(if: $f_goat_unbabbled is true)[
$goat_name I am a mountain goat!]
He shakes his head and the Nightmare finds no purchase.
|prev>[Try another dream.]
|talkGoat>[Continue]
](elseif: $selected_dream is "Late to school, unprepared for an exam, and naked.")[The goat is already naked and does not give a fuck about school.
He shakes his head and the Nightmare finds no purchase.
|prev>[Try another dream.]
|talkGoat>[Continue]
](elseif: $selected_dream is "Burning.")[The goat screams and kicks at the sides of the toll booth before drifting into a distracted and fretful sleep.
|return>[Continue]
{
(set: $f_goat_state to "nightmare")
(set: $ruthless to $ruthless + 5)
}
](else:)[That dream finds no purchase.
|prev>[Try another dream.]
|talkGoat>[Continue]
]](elseif: $sequence is 9)[(if: $mathias_asl_level > 0)[I turn to Mathias and sign to him.
$pisces_name Can you order this goat to let us pass?
Mathias looks uncomfortable, shakes his head, and tries to explain.
$mathias_name Goats do not obey orders.
$mathias_name That is not how goats work.
|return>[Continue]
](else:)[I look at Mathias and gesture towards the goat, wondering if he can help here.
Mathias looks uncomfortable and shakes his head.
I don't press.
|return>[Continue]
]
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?talkGoat)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?spell)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?mathias)[(set: $sequence to 9)(go-to: $currentPassage)]
<script>changeBackground("fae_bridge");</script>
}(if: $sequence is 0)[''$currentPassage''
(if: $f_first_city is false)[Arcadia Capitol is the main city of Fairyland, and surrounds the Queens' palace.
It is a patchwork Hieronymus Bosch painting of activity with all the colors of a kaleidescope in pastel shades.
It has multiple levels of size. Giants sit on the flat roofs of cafes, which also have birdhouse-size tables embedded in the rafters for pixies.
Everything is moving.
(if: $mathias_on_board is true)[I'm glad I have Mathias to help me navigate.](else:)[It's stressful to navigate.]
Luckily, the streets are well paved.(set: $f_first_city to true)
](else:)[I am in the busy streets of the capitol city of Fairyland.(if: $mathias_on_board is true)[
Mathias is here.]
]
|next>[Explore](if: $f_found_message_board is true)[
|messageBoard>[Visit the message board.]](if: $f_found_gambler is true)[
|gambler>[Visit the tarot gambler.]]
{
<span class="go_north dir">|stairs>[$north_text]</span>
<span class="go_south dir">[[$south_text->Goblin Market]]</span>
<span class="go_east dir">[[$east_text->Toll Bridge]]</span>
<span class="go_west dir">[[$west_text->Hall of Edicts]]</span>
}
](elseif: $sequence is 1)[I explore the city.
(if: $f_city_explore is 0)[I overhear a pair of sylphs discussing royal politics.
$fairy_name Heir Nyx oversaw the noon-sun ceremony yesterday. It was quite an event. Like an eclipse.
|return>[Continue]
](elseif: $f_city_explore is 1)[I encounter an elf who challenges me to solve a riddle.
This sometimes happens in Fairyland.
$fairy_name
It may only be given,
Not taken or bought,
What the sinner desires,
But the saint does not.
(set: $corrent_answer to "forgiveness")(set: $corrent_answer2 to "forgive")
(display: "Riddle Input")
|final>[This is my answer]
(click: ?final)[(replace: ?final)[<script>harvestAnswer();</script>I enter: <span id="display_answer"></span>
|riddleAnswer>[Check answer.] ]]
](elseif: $f_city_explore is 2)[(if: $f_polt_state is "city")[I find the poltergeist fluttering around a wind chime.
It yelps when it sees me and flutters west, out of the city.
I examine the wind chime, and find a piece of my spell caught inside one of the chimes.
The spell is made up of the memories that inspired it.
And this memory is all in pieces, jumbled by rough handling.
(set: $f_polt_state to "forest")
](else:)[I see a familiar <span class="text-shimmer">shimmer</span> in a gutter.
(if: $mathias_on_board is true)[Mathias helps me collect them.](else:)[With a great deal of difficulty, I manage to collect them.]
]|assemble_dream>[I put the pieces back together.]{
(set: $dream_name to "why scarf")
(set: $memories's $dream_name's part1_found to true)
(set: $memories's $dream_name's part2_found to true)
(set: $memories's $dream_name's part3_found to true)
(set: $memories's $dream_name's part4_found to true)
(set: $memories's $dream_name's part5_found to true)
(set: $return_passage to $currentPassage)
}
](elseif: $f_city_explore is 3)[(display: "Street Gambling")
](elseif: $f_city_explore is 4)[I overhear a dragon and a giant discussing royal politics.
$fairy_name I have heard there is a secret alliance between Princess Layla Lirana and Prince Brokk Blacktree. There must be a contract somewhere in the palace.
|return>[Continue]
](elseif: $f_city_explore is 5)[I discover a public message board with many fliers pinned to it.
(set: $f_found_message_board to true)
|messageBoard>[Examine the message board.]
](elseif: $f_city_explore is 6)[A goblin on a street corner bets me 2 <span class="chaos">Chaos</span> that I can't pick a stone out of a boiling pot.
(if: $m_m_chaos > 1)[ |pot>[Reach into the pot.] ](else:)[|gray>[Reach into the pot.] (click: ?gray)[//I don't have enough Chaos.//] ]
|potSpell>[Cast a spell.]
|return>[Decline to gamble.]
](elseif: $f_city_explore is 7)[I encounter a fairy on a street corner, trick-shuffling a deck of tarot cards behind a velvet-covered table.
$gambler_name A bit of chance and a bit of play!
$gambler_name Add a touch chaos to your life!
$gambler_name Add a touch <span class="mm">Chaos</span> to your life, if you're lucky!
Her stall seems like a permanent fixture, unlike the other gamblers I've encountered.(set: $f_found_gambler to true)
|gamblingFae>[Approach her.]
|return>[Do something else.]
](elseif: $f_city_explore is 8)[I encounter a homeless domovoi who dances with a tambourine.
(if: $m_m_light > 0)[|domovoi>[Leave a mote of <span class="light">Light</span>.] ](else:)[|gray>[Leave a mote of <span class="light">Light</span>.] (click: ?gray)[//I don't have any Light.//] ]
|return>[Leave.]
](elseif: $f_city_explore is 9)[I overhear a Sidhe and a Sluagh discussing politics.
But they are speaking too softly for me to make out the details.
|eavesSpell>[Cast a spell]
|return>[Continue]
](elseif: $f_city_explore is 10)[(display: "Street Gambling")
](elseif: $f_city_explore is 11)[I encounter an elf who challenges me to solve a riddle.
This sometimes happens in Fairyland.
$fairy_name
In the woods I got it
So sat I down to take it
Alas, I could not find it
So home I took it.
What did I get in the woods?
(set: $corrent_answer to "splinter")(set: $corrent_answer2 to "a splinter")(set: $corrent_answer3 to "sliver")
(display: "Riddle Input")
|final>[This is my answer]
(click: ?final)[(replace: ?final)[<script>harvestAnswer();</script>I enter: <span id="display_answer"></span>
|riddleAnswer>[Check answer.] ]]
](elseif: $f_city_explore is 12)[I encounter an elf who challenges me to solve a riddle.
This sometimes happens in Fairyland.
$fairy_name
What has six faces
But cannot smile
Twenty-one eyes
But cannot see?
(set: $corrent_answer to "die")(set: $corrent_answer2 to "dice")
(display: "Riddle Input")
|final>[This is my answer]
(click: ?final)[(replace: ?final)[<script>harvestAnswer();</script>I enter: <span id="display_answer"></span>
|riddleAnswer>[Check answer.] ]]
](elseif: $f_city_explore is 13)[I find some interesting graffiti spraypainted in an alley.
//Fall in love with someone who has been lonely.
Fall in love with someone who has been in pain.
Fall in love with someone who has been homely.
Beware the indifference of pretty people.//
|return>[Continue]
](else:)[I search the city, but find nothing that interests me.
|return>[Continue]
](set: $f_city_explore to it+1)
](elseif: $sequence is 2)[(if: $answer is $corrent_answer or $answer is $corrent_answer2 or $answer is $corrent_answer3)[The elf declares my answer correct.
Impressed, (if: $corrent_answer is "die")[she rewards](else:)[they reward] me with a mote of <span class="light">Light</span>.
{
(set: $mm_to_change to "Light")
(set: $mm_value to 1)
(display: "update mm")
}](else:)[My answer is not correct.
(if: $corrent_answer is "die")[The elf laughs at her own cleverness and offers me a conciliatory cup of mead.
I politely decline.](else:)[The elf cackles at their own cleverness and skips off.]]
|return>[Continue]
](elseif: $sequence is 3)[The goblin has a short attention span.
I'll only be able to cast one spell.
(display: "Cast Spell In Place")
](elseif: $sequence is 4)[(if: $casting_spell is "Omini")[I discern that the mote is under the $f_shell shell.
(set: $f_shell to "correct")
|next>[Continue]
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[Goblins don't dream.
The goblin moves on to another mark.
|return>[Continue]
](else:)[I don't think that spell would help here.
The goblin moves on to another mark.
|return>[Continue]]
](elseif: $sequence is 5)[(if: $f_shell is "correct")[The surprised goblin hands me a mote of <span class="chaos">Chaos</span>.(set: $mm_value to 1)](else:)[The goblin takes my <span class="chaos">Chaos</span> and wishes me better luck next time.(set: $mm_value to -1)]
{
(set: $mm_to_change to "Chaos")
(display: "update mm")
}
|return>[Continue]
](elseif: $sequence is 6)[The domovoi thanks me, and returns to performing.
(set: $kind to $kind + 1)
{
(set: $mm_to_change to "Light")
(set: $mm_value to -1)
(display: "update mm")
}
|return>[Continue]
](elseif: $sequence is 7)[They're walking. I can't keep up and cast.
I'll only be able to cast one spell.
(display: "Cast Spell In Place")
](elseif: $sequence is 8)[(if: $casting_spell is "Mute")[I quiet the ambient noise so that I can hear the conversation.
$fairy_name Liege Xylia Xynn is most certainly sweet on Lord Mathias Magnus. It's a pity he's dead.(if: $mathias_on_board is true)[
Mathias blushes bright purple.]
|return>[Continue]
](else:)[I don't think that spell would help here.
They walk away.
|return>[Continue]]
](elseif: $sequence is 9)[The goblin is correct, I cannot reach into a boiling pot.
{
(set: $mm_to_change to "Chaos")
(set: $mm_value to -2)
(display: "update mm")
}
Also. Ouch.
(set: $health_change to -1)(display: "health change")
|return>[Continue]
](elseif: $sequence is 10)[The goblin has a short attention span.
I'll only be able to cast one spell.
(display: "Cast Spell In Place")
](elseif: $sequence is 11)[(if: $casting_spell is "Suffero")[The goblin is extremely impressed that I managed to withstand the pain for long enough to fish out the stone, and immediately hands over the <span class="chaos">Chaos</span>.
{
(set: $mm_to_change to "Chaos")
(set: $mm_value to 2)
(display: "update mm")
}
Also. OUCH.
(set: $health_change to -3)(display: "health change")
|return>[Continue]
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[Goblins don't dream.
The goblin moves on to another mark.
|return>[Continue]
](else:)[I don't think that spell would help here.
The goblin moves on to another mark.
|return>[Continue]]
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[A flock of magic carpets has landed in front of the palace.
The woven rugs fly about their claimed territory and harass anyone who comes close.
Some people try to get through, but stagger back with bruises and rug burn.
Fairies grouse about it, but no one seems willing to do anything.
|next>[Cast a spell.]
|return>[Go somewhere else.]
](elseif: $sequence is 17)[What should I cast to get rid of the carpets?
(display: "Cast Spell In Place")
](elseif: $sequence is 18)[(if: $casting_spell is "Textilekinesis")[(if: $SpeedRun is true)[I scatter the carpets with Textilekinesis.
I roll up to the fairy palace.
(set: $f_carpet_block to false)
|stairs>[Continue]
](else:)[I start rolling towards the flock of carpet.
A couple of throw rugs start to spin around me, trying to whap me with their tassels.
I send them flying away.
|next>[Continue]
]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|return>[Do something else.]]
](elseif: $sequence is 19)[A cashmere swoops down to sideswipe me.
She's light enough that I can shove her back into a rumpled pile.
|next>[Continue]
](elseif: $sequence is 20)[A heavy wool alpha charges me.
I twist his fibers so that he tilts up and over me, and his momentum sends him crashing into a wall.
|next>[Continue]
](elseif: $sequence is 21)[The heavy wool alpha |pick>[picks himself up.](click: ?pick)[
//He's fine. He's fabric--fabric doesn't bruise.//]
Then, with the dignity of a cat, he pretends I don't exist.
He floats indifferently away from me.
The rest of the herd follows his cue.
(set: $f_carpet_block to false)
|next>[Continue]
](elseif: $sequence is 22)[The way is clear.
I roll up to the fairy palace.
|stairs>[Continue]
](elseif: $sequence is 23)[The following fliers are pinned to the message board:
|stolen>[Arcadian Stolen Memory Prevention Act Passed!]
|dreams>[WE BUY DREAMS]
|pixie>[Pixie Night At The Sugar Plum Den]
|noon>[Noon-Sun Ceremony]
|true>[True Names Anonymous]
|lost>[Lost Child]
|uni>[University of Phoenixes]
|return>[Stop looking at the fliers.]
](elseif: $sequence is 24)[(if: $reading is in $inventory)[I already have a copy of that flier.](else:)[I take the **$reading** flier and put it in my inventory.
Another copy of the flier immediately regrows in its place.(set: $inventory to it + (datamap: $reading, (datamap: "description", "","expanded",false)))]
|messageBoard>[Look at a different flier.]
|return>[Stop looking at the fliers.]
](elseif: $sequence is 25)[(display: "Reading")
|take>[Take this flier.]
|messageBoard>[Look at a different flier.]
|return>[Stop looking at the fliers.]
](elseif: $sequence is 26)[The gambling fairy smiles at me.
$gambler_name The game is Topple the Tower.
$gambler_name We each put a mote of <span class='mm'>Chaos</span> on the table.
$gambler_name Winner takes both.
(if: $m_m_chaos > 0)[|ante>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] ](else:)[|gray>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] (click: ?gray)[//I don't have any Chaos.//] ]
|return>[$pisces_name No, thank you.]
|next>[$pisces_name How do you play?]
](elseif: $sequence is 27)[$gambler_name I deal six cards face up in the shape of a tower.
$gambler_name We take turns taking cards.
$gambler_name Whoever builds the best hand wins points for it.
$gambler_name We play to 100 points.
(if: $m_m_chaos > 0)[|ante>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] ](else:)[|gray>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] (click: ?gray)[//I don't have any Chaos.//] ]
|return>[$pisces_name No, thank you.]
|next>[$pisces_name What are the different hands and how many points are they worth?]
](elseif: $sequence is 28)[$gambler_name I'm not here to teach tarot hands.
$gambler_name I'm here to gamble.
$gambler_name Ante up or move along.
(if: $m_m_chaos > 0)[|ante>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] ](else:)[|gray>[$pisces_name I'll play. (Costs 1 <span class='mm'>Chaos</span>)] (click: ?gray)[//I don't have any Chaos.//] ]
|return>[Move along.]
](elseif: $sequence is 29)[I put a <span class="chaos">chaos</span> on the table.
{(set: $mm_to_change to "chaos")
(set: $mm_value to -1)
(display: "update mm")}
The fairy gambler flashes me a smile.
She changes the links to <span class="gambler">her color.</span>
She shuffles and deals.
{
<style>
tw-link, .enchantment-link, .visited { color: mediumpurple; }
tw-link:hover, .enchantment-link:hover, .visited:hover { color: #9370DB;}
</style>
}
|tarot>[Play]
(click: ?tarot)[(set: $inGame to true)(set: $sequence to 0)(set: $opponent to "FAE GAMBLER")(set: $points_to_win to 100)(set: $tarot_game to "topple")(go-to: "Topple the Tower")]
](elseif: $sequence is 30)[The gambling fairy flashes me a smile and scoops up the <span class="chaos">chaos</span> on the table.
$gambler_name Play again?
(if: $m_m_chaos > 0)[|ante>[$pisces_name Yes. (Costs 1 <span class='mm'>Chaos</span>)] ](else:)[|gray>[$pisces_name Yes. (Costs 1 <span class='mm'>Chaos</span>)] (click: ?gray)[//I don't have any Chaos.//] ]
|return>[Move along.]
](elseif: $sequence is 31)[The gambling fairy makes a disappointed noise and pushes the <span class="chaos">chaos</span> on the table over to me.
{(set: $mm_to_change to "chaos")
(set: $mm_value to 2)
(display: "update mm")}
$gambler_name Play again?
|ante>[$pisces_name Yes. (Costs 1 <span class='mm'>Chaos</span>)]
|return>[Move along.]
](elseif: $sequence is 32)[
]{
(click: ?riddleAnswer)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?memory)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?domovoi)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?eavesSpell)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?pot)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?potspell)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?stairs)[(if: $f_carpet_block is true)[(set: $sequence to 16)(go-to: $currentPassage)](else:)[(set: $sequence to 0)(go-to: "Palace Stairs")]]
(click: ?messageBoard)[(set: $sequence to 23)(go-to: $currentPassage)]
(click: ?take)[(set: $sequence to 24)(go-to: $currentPassage)]
(click: ?noon)[(set: $reading to "Flier: Noon-Sun Ceremony")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?stolen)[(set: $reading to "Flier: Stolen Memory Prevention Act")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?lost)[(set: $reading to "Flier: Lost Child")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?dreams)[(set: $reading to "Flier: WE BUY DREAMS")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?pixie)[(set: $reading to "Flier: Pixie Night At The Sugar Plum Den")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?true)[(set: $reading to "Flier: True Names Anonymous")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?uni)[(set: $reading to "Flier: University of Phoenixes")(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?gambler)[(set: $sequence to 26)(go-to: $currentPassage)]
(click: ?gamblingFae)[(set: $sequence to 26)(go-to: $currentPassage)]
(click: ?ante)[(set: $sequence to 29)(go-to: $currentPassage)]
(set: $custom_colors to "fairyland")
<script>changeBackground("fae_city_east");</script>
}(if: $sequence is 0)[''$currentPassage''
The palace is sweeping (if: $f_season is "summer")[golden](else:)[copper]-glazed walls peaked with innumerable minarets.
I am at the base of a massive flight of steep marble stairs.(if: $f_ramp_installed is true)[
The far right side of the stairs have been converted into a ramp.]
A bored looking troll in armor is standing guard.(if: $f_gnome_protest is "active")[
A small group of gnomes holding signs march in circles at the base of the lowest step.](if: $mathias_on_board is true)[
Mathias is here.]
|trollGuard>[Talk to the troll.]
(if: $f_gnome_protest is "active" and $f_spoke_david is true)[|gnomes>[Talk to David.]
](elseif: $f_gnome_protest is "active" and $f_spoke_david is false)[|next>[Examine the gnomes.]
]
{
<span class="go_north dir">|north>[$north_text]</span>
<span class="go_south dir">[[$south_text->Arcadia Capitol]]</span>
}
](elseif: $sequence is 1)[These gnomes are very small. The tips of their pointed red hats barely reach as high as the first palace step.
They are marching in circles, carrying signs that say things like:
<tw-link class='cyclingLink' data-cycling-texts='["TINY RIGHTS IS A BIG ISSUE!", "ACCESSIBLE PALACE NOW!", "STEP UP FOR THOSE WHO CAN`T STEP UP!"]' onclick='clickCyclingLink(this, "TINY RIGHTS IS A BIG ISSUE!");'>TINY RIGHTS IS A BIG ISSUE!</tw-link>
One of them wears a sky blue tunic, and appears to be directing the others.
|gnomes>[Talk to the gnomes.]
](elseif: $sequence is 2)[(if: $mathias_on_board is true)[Mathias offers to carry me, and then my wheelchair, up the stairs.
I don't like it, but I don't see any good alternative.
(set: $carrier to "Mathias")
|next>[Continue]
](elseif: $f_troll_bribe is true)[I've bribed the troll guard to carry me, and then my wheelchair, up the stairs.
I don't like it, but I don't see any good alternative.
(set: $carrier to "The troll guard")
|next>[Continue]
](elseif: $f_web_page_state is "active")[The Web Page cheerfully offers to carry me, and then my wheelchair, up the stairs.
I don't like it, but I don't see any good alternative.
(set: $carrier to "The Web Page")
|next>[Continue]
](else:)[I can't get up those stairs.
|return>[Continue]
]
](elseif: $sequence is 3)[$carrier helps me out of my chair.
I sit on the steps while he carries it up.
|next>[Continue]
](elseif: $sequence is 4)[I wait.
|next>[Continue]
](elseif: $sequence is 5)[I wait.
|next>[Continue]
](elseif: $sequence is 6)[I wait.
|next>[Continue]
](elseif: $sequence is 7)[$carrier returns and carefully picks me up.
(if: $carrier is "Mathias")[I dislike being carried, but that's not Mathias' fault, so I try not to show it.
]He carries me up the steps.
|next>[Continue]
](elseif: $sequence is 8)[We're climbing the steps.
|next>[Continue]
](elseif: $sequence is 9)[We're climbing the steps.
|next>[Continue]
](elseif: $sequence is 10)[We're climbing the steps.
|next>[Continue]
](elseif: $sequence is 11)[We reach the top of the steps.
$carrier puts me back in my wheelchair.
|finally>[Fucking finally.]
](elseif: $sequence is 12)[The troll guard has honed his indifference game to impressive levels of aloof disdain, and barely acknowledges my existence.(if: $mathias_on_board is true)[
Mathias' presence does elicit an extremely unenthusiastic salute.]
(if: $f_titania_interview is true and $f_ramp_installed is false)[|orderTroll>[$pisces_name I'm on a mission from Queen Titania. Get me up those stairs.]
(if: $f_season is "summer")[|interviewTroll>[$pisces_name I'm on a mission from Queen Titania. I need you to answer some questions about Lord Blacktree's murder.]]
](elseif: $mathias_on_board is false and $f_web_page_state is not "active" and $f_ramp_installed is false and $f_titania_interview is false)[|next>[Bribe the troll to carry me up the stairs.]
]|return>[Do something else.]
](elseif: $sequence is 13)[The troll will carry me up for 3 <span class="light">Light</span>.
(if: $m_m_light > 2)[|next>[Pay him.] ](else:)[|gray>[Pay him.] (click: ?gray)[//I don't have that much Light.//] ]
|return>[Do something else.]
](elseif: $sequence is 14)[{(set: $mm_to_change to "light")
(set: $mm_value to -3)
(display: "update mm")}(set: $carrier to "The troll guard")(set: $f_troll_bribe to true)
$carrier helps me out of my chair.
I sit on the steps while he carries it up.
|wait>[Continue]
](elseif: $sequence is 15)[(set: $carrier to "The troll guard")$carrier groans, but he's not about to risk upsetting his Queen.
He helps me out of my chair.
I sit on the steps while he carries it up.
|wait>[Continue]
](elseif: $sequence is 16)[The troll guards sighs irritably.
$guard_name What?
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any of the nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[Stop talking to him.]
](elseif: $sequence is 17)[$guard_name Dunno.
|prev>[Ask another question.]
|return>[Give up on him.]
](elseif: $sequence is 18)[
](elseif: $sequence is 19)[
](elseif: $sequence is 20)[
]{
(click: ?wait)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?gnomes)[(if: $f_spoke_david is true)[(set: $sequence to 0)](else:)[(set: $sequence to 1)](go-to: "Talking to Gnomes")]
(click: ?north)[(if: $f_ramp_installed is true)[(set: $sequence to 0)(go-to: "Palace Gateway")](else:)[(set: $sequence to 2)(go-to: $currentPassage)]]
(click: ?trollGuard)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?orderTroll)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?interviewTroll)[(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?finally)[(set: $sequence to 0)(go-to: "Palace Gateway")]
(if: $f_ramp_installed is true)[<script>changeBackground("fae_stairs_ramp");</script>]
(else:)[<script>changeBackground("fae_stairs");</script>]
}(if: $sequence is 0)[''$currentPassage''
The |gob>[goblin market] is bustling.(click: ?gob)[
//Not a market that sells goblins--a market primarily, through not exclusively, run by goblins.//]
The streets are lined with stalls displaying everything from legendary swords to kitchen equipment.
Sparks of magic go off every few seconds.(if: $mathias_on_board is true)[
Mathias is here.]
|testShop>[Browse the market.]
{
<span class="go_north dir">[[$north_text->Arcadia Capitol]]</span>
(set: $save_element to "")
(set: $shop_ability to "none")
}
](elseif: $sequence is 1)[
](elseif: $sequence is 2)[==><==
How shall I pay the goblin?
<==
(display: "Use MM In Place")
|testShop>[Do something else.]
](elseif: $sequence is 3)[(if: $using_element contains "_yes")[I give the goblin five motes of <span class="$save_element">$save_element</span>.
{
(set: $mm_to_change to $save_element)
(set: $mm_value to -5)
(display: "update mm")
}
|getMem>[I collect my memory.]
](else:)[(set: $save_element to $using_element)(set: $cost to 5)(display: "confirm cost")
]
](elseif: $sequence is 4)[I start to cast a spell.
I fell a forbidding thrum in my fingertips.
Scarlet letters flash in my mind's eye:
//NO SPELLCASTING IN THE MARKET//
Well then.
|return>[Continue]
](elseif: $sequence is 5)[The goblin merchant indignantly insists that I prove my claim on the memory.
(if: "Form 430M" is in $inventory and $f_430M_state is not "APPROVED")[|next>[Show him the **Arcadian Stolen Memory Prevention Act Complaint Form 430M**.]
](elseif: "Form 430M" is in $inventory and $f_430M_state is "APPROVED")[|skip>[Show him the approved **Arcadian Stolen Memory Prevention Act Complaint Form 430M**.]
]|testShop>[I can't think of a way to do that.]
](elseif: $sequence is 6)[The goblin dismissively points out that my form has not been formally approved by the Hall of Edicts, and is therefore meaningless.
|return>[Leave]
](elseif: $sequence is 7)[The goblin reviews my approved form.
He nods slowly and hands over the memory, apologizing for the misunderstanding.
He tucks the form away in his files.
|getMem>[I collect my memory.]{
(move: $inventory's "Form 430M" into $remove)
}
](elseif: $sequence is 8)[(if: $amif is true)[This memory is a part of the spell the poltergeist stole.
The spell is made up of the memories that inspired it.
This memory is all in pieces, jumbled by rough handling.](else:)[I gather the memory into me.
Like all the others, it has been broken by the fall.]
|assemble_dream>[I put it back together.]
(if: $save_element is not "")[|next>[Argue I should get a discount because it was damaged.] ]{
(set: $dream_name to "what scarf")
(set: $memories's $dream_name's part1_found to true)
(set: $memories's $dream_name's part2_found to true)
(set: $memories's $dream_name's part3_found to true)
(set: $memories's $dream_name's part4_found to true)
(set: $memories's $dream_name's part5_found to true)
(set: $return_passage to $currentPassage)
}
](elseif: $sequence is 9)[The goblin grumbles, but refunds me 2 <span class="$save_element">$save_element</span>.
{
(set: $mm_to_change to $save_element)
(set: $mm_value to 2)
(display: "update mm")
}
|assemble_dream>[I assemble my dream.]
](elseif: $sequence is 10)[(if: $memories's "what scarf"'s part1_found is false)[(if: $amif is true)[I find part of my spell for sale in a stall right at the edge of the market.
The poltergeist must have dropped it, and goblins are nothing if not opportunists.
](else:)[I'm lucky. Or perhaps fate is kind.
I find one of my memories for sale in a stall right at the edge of the market.
]The goblin merchant is willing to sell it to me for 5 motes of any kind.
|buy_mem>[Buy it.]
|spell>[Cast a spell.]
|claim>[Claim that it's mine.]
|return>[Do something else.]
](else:)[(if: $mathias_on_board is true)[Mathias helps me navigate the narrow streets of the Goblin Market, and goes to stalls that I cannot reach.
With his help, I can shop pretty much anywhere.
(set: $shop_ability to "all")
|next>[Continue]](elseif: $f_web_page_state is "helping")[The Web Page helps me navigate the narrow streets of the Goblin Market, and goes to stalls that I cannot reach.
With its help, I can shop pretty much anywhere.
(set: $shop_ability to "all")
|next>[Continue]](else:)[The streets of the Goblin Market are narrow, crowded and cobbled. It's hard to push myself over the bumpy paving I can't reach many stalls because they're down narrow streets.
(if: $spells's "Textilekinesis"'s compiled is true)[Using Textilekinesis, I can at least reach the items for sale in the stalls I can get to.
(set: $shop_ability to "some")
|next>[Continue]](else:)[I reach a stall, but find I can't buy anything because I can't reach over the stall to the wares, and the goblin proprietor is unhelpful.
I leave, exasperated and disgusted.
|return>[Continue]]
]]
](elseif: $sequence is 11)[Now, what was I looking for?
|shopParts>[Shop for ship parts.]
|shopMagic>[Shop for magic.]
|shopFood>[Shop for food.]
|sell>[Sell something.]
|return>[Stop shopping]
](elseif: $sequence is 12)[In Fairyland?
No.
|shopOption>[Look for something else.]
|return>[Stop shopping]
](elseif: $sequence is 13)[I find parts I could install on my Webship.
(if: $f_gob_horn is "stocked")[|horn>[A goblin-made horn.]
](if: $f_gob_engine is "stocked" and $shop_ability is "all")[|engine>[A goblin-made engine.]
]
|shopOption>[Look for something else.]
|return>[Stop shopping]
](elseif: $sequence is 14)[I find a few items that interest me.
(if: $f_gob_camera is "stocked")[|camera>[A Pixie Powered Camera.]
](if: $f_gob_form is "stocked")[|gobForm>[A form.]
](if: $f_gob_dream is "stocked" and $shop_ability is "all")[|gobDream>[A pleasant dream.]
](if: $f_gob_pitput is "stocked" and $shop_ability is "all")[|pitput>[A spell called Pitput.]
]
|shopOption>[Look for something else.]
|return>[Stop shopping]
](elseif: $sequence is 16)[(if: $f_gob_item is "horn")[A horn I can install on my Webship.
With it I can loudly tell other Webships to get out of my way.
This ability is apparently very important to goblins.(set: $f_price to 3)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "engine")[A goblin-made Webship engine.
As with anything goblin-made, it either works extremely well, or explodes.(set: $f_price to 20)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "camera")[A old-style camera, containing a pixie-artist who will draw what they see when I click the button.(set: $f_price to 3)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "pitput")[Spell-code, scribbled on a roll of parchment.
The goblin salesman only lets me look at it for a moment, then assures me it's a reliable spell for digging.(set: $f_price to 5)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "cloak")[A black-gray cloak, trimmed with ostrich feathers.
The goblin salesman explains that the cloak is enchanted to make me feel like I am hidden.(set: $f_price to 10)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "dream")[A goblin is selling a charming dream about discovered secret truths(set: $f_price to 3)(set: $f_mm to "chaos")
](elseif: $f_gob_item is "form")[A goblin offers me a copy of Historical Moon Phase Inquiry Form 104M, fresh from the Hall of Edicts, he promises.(set: $f_price to 3)(set: $f_mm to "chaos")
]It costs $f_price <span class="mm">$f_mm</span>.
(if: $f_gob_item is "dream")[(if: $spells contains "Dream")[|next>[Buy it.]](else:)[|gray>[Buy it.] (click: ?gray)[//I don't have anywhere to store a dream. I only deal in nightmares.//]]](else:)[|next>[Buy it.]]
|shopOption>[Look for something else.]
|return>[Stop shopping]
](elseif: $sequence is 17)[ {
(set: $f_can_afford to false)
(if: $f_mm is "chaos" and $m_m_chaos >= $f_price)[(set: $f_can_afford to true)(set: $m_m_chaos to it - $f_price)]
(if: $f_mm is "light" and $m_m_light >= $f_price)[(set: $f_can_afford to true)(set: $m_m_light to it - $f_price)]
}(if: $f_can_afford is false)[I can't afford that.
](else:)[ (if: "Form 104M" is in $inventory and $f_gob_item is "form")[I already have a copy of **$form_name**.
I'm not //paying// for another copy when I can get one for free from the Hall of Edicts.
This goblin is clearly a grifter who preys on those new to the city.
](else:)[I pay the goblin his <span class="mm">$f_mm</span> and take my purchase.(if: $f_gob_item is "dream")[
I add a new dream to my Dream spell:
**You've discovered the secret truth of the universe.**](if: $f_gob_item is "pitput")[
<span class="highlight">SPELL COMPILED
YOU CAN NOW CAST ''//Pitput()//''</span><script>playAudio("aa_compile");</script>]{
(if: $f_gob_item is "horn")[
(set: $f_gob_horn to "sold")(set: $ship_parts to it + (datamap: "goblin horn", (datamap: "description", "Extremely loud.", "expanded", false, "type", "extra", "quality", "G","equipped", true)))
](elseif: $f_gob_item is "engine")[
(set: $f_gob_engine to "sold")(set: $ship_parts to it + (datamap: "goblin engine", (datamap: "description", "A goblin-made Webship engine. As with anything goblin-made, it either works extremely well, or explodes.", "expanded", false, "type", "engine", "quality", "G","equipped", false)))
](elseif: $f_gob_item is "camera")[
(set: $f_gob_camera to "sold")(set: $inventory to it + (datamap: "pixie camera", (datamap: "description", "A small camera, powered by pixies.","expanded",false)))
](elseif: $f_gob_item is "cloak")[
(set: $f_gob_cloak to "sold")(set: $inventory to it + (datamap: "cloak of the ostrich", (datamap: "description", "A feather trimmed cloack enchanted to make the wearer think that they are hidden.","expanded",false)))
](elseif: $f_gob_item is "pitput")[
(set: $f_gob_pitput to "sold")(set: $spells's "Pitput"'s compiled to true)(set: $spells's "Pitput"'s part1_found to true)
](elseif: $f_gob_item is "dream")[
(set: $f_gob_dream to "sold")(set: $dream_list to it + (a: "You've discovered the secret truth of the universe."))
](elseif: $f_gob_item is "form")[
(set: $f_gob_form to "sold")
(set: $f_104M_state to "")
(set: $f_104M_day1 to 0)
(set: $f_104M_day2 to 1)
(set: $f_104M_season to "Spring")
(set: $f_104M_mood to "Calm")
(set: $f_104M_sig_filled to false)
(set: $reading to "Form 104M")
(set: $inventory to it + (datamap: $reading, (datamap: "description", "","expanded",false)))
]
}
]]
|shopOption>[Look for something else.]
|return>[Stop shopping]
](elseif: $sequence is 19)[What should I try to sell?
(display: "Inv In Place")
|shopOption>[Do something else.]
|return>[Leave the market.]
](elseif: $sequence is 20)[I offer the **$selected_item** to various goblins.(if: $shop_ability is "some")[
//I can't shop around as much as I'd like because of my limited mobility.//]
(if: $selected_item is "electric guitar")[(set: $f_price to 5)(set: $f_mm to "chaos")A goblin offers me $f_price <span class="mm">$f_mm</span>.
|next>[Sell the item.]
](elseif: $selected_item is "enchanted guitar")[(set: $f_price to 3)(set: $f_mm to "chaos")(display: "Goblin Offer")
](elseif: $selected_item is "pile of jewels")[(set: $f_price to 3)(set: $f_mm to "light")(display: "Goblin Offer")
](elseif: $selected_item is "stick")[(set: $f_price to 1)(set: $f_mm to "earth")(display: "Goblin Offer")
](elseif: $selected_item is "mandrake")[(set: $f_price to 1)(set: $f_mm to "death")(display: "Goblin Offer")
](elseif: $selected_item is "treasure chest")[(set: $f_price to 3)(set: $f_mm to "light")(display: "Goblin Offer")
](elseif: $selected_item is "merpig corpse")[(set: $f_price to 1)(set: $f_mm to "death")(display: "Goblin Offer")
](elseif: $selected_item is "catfish corpse")[(set: $f_price to 1)(set: $f_mm to "death")(display: "Goblin Offer")
](elseif: $selected_item is "websail plan")[(set: $f_price to 2)(set: $f_mm to "light")(display: "Goblin Offer")
](elseif: $selected_item is "tic tacs")[(set: $f_price to 1)(set: $f_mm to "air")(display: "Goblin Offer")
](elseif: $selected_item is "counterfeit darkness")[The first goblin I offer this to gives me a dark look and a stern talking to about market regulations.
](elseif: $selected_item is "wheelchair gloves")[Wait. No. I'm not selling those. I need them.
](else:)[I can find no goblin interested in that.
]
|sell>[Sell something else.]
|shopOption>[Do something else.]
|return>[Leave the market.]
](elseif: $sequence is 21)[The goblin takes the **$selected_item** and pays me.
{(if: $selected_item is in $inventory)[(move: $inventory's $selected_item into $remove)]
(set: $mm_to_change to $f_mm)
(set: $mm_value to $f_price)
(display: "update mm")}
|sell>[Sell something else.]
|shopOption>[Do something else.]
|return>[Leave the market.]
](elseif: $sequence is 22)[
](elseif: $sequence is 23)[
](elseif: $sequence is 24)[
](elseif: $sequence is 25)[
]{
(click: ?shopMem)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?buy_mem)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?spell)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?claim)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?getMem)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?testShop)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?shopOption)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?shopFood)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?shopParts)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?shopMagic)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?shopItems)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?horn)[(set: $f_gob_item to "horn")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?engine)[(set: $f_gob_item to "engine")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?willow)[(set: $f_gob_item to "willow")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?detect)[(set: $f_gob_item to "detect")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?camera)[(set: $f_gob_item to "camera")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?cloak)[(set: $f_gob_item to "cloak")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?gobDream)[(set: $f_gob_item to "dream")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?gobForm)[(set: $f_gob_item to "form")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?pitput)[(set: $f_gob_item to "pitput")(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?sell)[(set: $sequence to 19)(go-to: $currentPassage)]
<script>changeBackground("fae_city_center");</script>
}(if: $sequence is 0)[''$currentPassage''
The slender trees at the edge of the wood still let sunlight through their branches.(if: $f_lightScavenge's length is not 0)[
The dappled light shines in complex patterns on the ground.](if: $peep_on_board is true)[
Peep is practically dancing and his feathers are so fluffed with excitement he looks like a puffy ball of blue.](if: $mathias_on_board is true)[
Mathias is here.](if: $f_polt_state is "forest" and $amif is true)[
The poltergeist dances in the air, playing with my spell and babbling happily to itself.](elseif: $memories's "how scarf"'s part1_found is false and $f_polt_state is "done" and $amif is true)[
Something <span class="text-shimmer">shimmers</span> on the ground.]
(if: $f_polt_state is "forest" and $amif is true)[|polt>[Confront the poltergeist.]
](if: $memories's "how scarf"'s part1_found is false and $f_polt_state is "done" and $amif is true)[|mem>[Examine the shimmers.]
](if: $f_lightScavenge's length is not 0)[|search>[Examine the light.]
]
{
<span class="go_east dir">|next>[$east_text]</span>
<span class="go_west dir">[[$west_text->Crossroads]]</span>
}
](elseif: $sequence is 1)[(if: $amif is true)[This is the place where the nice paved road becomes a rough dirt path.
I don't find the forest compelling enough to subject my wheels to that.
|return>[Continue]
](elseif: $peep_on_board is true)[Peep helps me maneuver my chair over the rough dirt path.
(set: $sequence to 0)
[[Continue->Deep Woods]]
](else:)[This is the place where the nice paved road becomes a rough dirt path.
I could probably manage it in my chair, but I'm not going to without a good reason.
|return>[Continue]
]
](elseif: $sequence is 2)[The leaf-filtered light sits thickly on the ground.
If I search carefully, I may find patches dense enough to make motes of <span class="Light">Light</span>.
|next>[Search]
|return>[Not now]
{
(set: $grid_x to 12)
(set: $grid_y to 12)
(set: $grid_indent to 4)
(set: $grid_bottom_indent to 4)
(set: $grid_wordlist to $f_lightScavenge)
(set: $wordlist_name to "f_lightScavenge")
(set: $searchingFor to "Pieces of Light")
(set: $searchColor to "Yellow")
(set: $basePassage to $currentPassage)
(set: $grid_wordlist_name1 to "")
(set: $grid_wordlist_name2 to "")
(set: $last_word to false)
(set: $wordlist_display to "")
(set: $current_action to "")
}
](elseif: $sequence is 3)[(display: "Word Search In Place")
](elseif: $sequence is 4)[It's part of the spell the poltergeist stole.
The spell is made up of the memories that inspired it.
This memory is all in pieces, jumbled by rough handling.
|assemble_dream>[I'll have to put it back together.]{
(set: $dream_name to "how scarf")
(set: $memories's $dream_name's part1_found to true)
(set: $memories's $dream_name's part2_found to true)
(set: $memories's $dream_name's part3_found to true)
(set: $memories's $dream_name's part4_found to true)
(set: $memories's $dream_name's part5_found to true)
(set: $return_passage to $currentPassage)
}
](elseif: $sequence is 5)[The poltergeist dances in the air, playing with my spell.
It babbles excitedly to itself, delighted with its new toy.
(print: $polt_name) (print: (either: "pretty magic! swirly magic!", "my magic. my new spell", "pretty memory. so soft and blue.","i am a sorcerer! hehehe."))
|next>[Talk to it.]
|skip>[Cast a spell.]
|mm>[Use a matter or motive.]
(if: $mathias_on_board is true)[|mathias>[Ask Mathias for help.]
]|return>[Do something else.]
](elseif: $sequence is 6)[I try to talk to the poltergeist.
It's far too preoccupied with talking to itself.
|polt>[Continue]
](elseif: $sequence is 7)[What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
](elseif: $sequence is 8)[(if: $casting_spell is "SalveMundi")[The poltergeist coos in delight at the shining letters.
But it doesn't let itself get distracted enough to release my spell.
|prev>[Try another spell.]
|polt>[Do something else.]
](elseif: $casting_spell is "Unbabble")[I can already understand the poltergeist irritatingly well.
|prev>[Try another spell.]
|polt>[Do something else.]
](elseif: $casting_spell is "Dream")[As I start casting the dream, the poltergeist reaches out towards it.
I snatch it back before the little monster can steal that as well.
|prev>[Try another spell.]
|polt>[Do something else.]
](elseif: $casting_spell is "Nightmare")[As I start casting the nightmare, the poltergeist reaches out towards it.
I snatch it back before the little monster can steal that as well.
|prev>[Try another spell.]
|polt>[Do something else.]
](elseif: $casting_spell is "Mute")[I silence the poltergeist's incessant banter.
It's so surprised, it drops my spell.
|drop>[Continue]
](elseif: $casting_spell is "Suffero")[I buy myself one blissful minute of not being painfully irritated with this creature.
Then the annoyance comes back, redoubled.
|prev>[Try another spell.]
|polt>[Do something else.]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow">Constant prattle is</span>
<span class="txt anim-text-flow">a soothing flow of sound and</span>
<span class="txt anim-text-flow">startling if stopped.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|polt>[Do something else.]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|polt>[Do something else.]
]](elseif: $sequence is 9)[ ==><==
What Matter or Motive should I use?
<==
(display: "Use MM In Place")
|polt>[Do something else.]
](elseif: $sequence is 10)[(if: $using_element is "earth")[I pull at the spirit with a mote of its opposite element, <span class="mm">Earth</span>.
{(set: $mm_to_change to "earth")
(set: $mm_value to -1)
(display: "update mm")}
It shrieks in surprise and pain and drops my spell.
|drop>[Continue]
](elseif: $using_element is "order")[I pull at the spirit with a mote of its opposite element, <span class="mm">Order</span>.
{(set: $mm_to_change to "order")
(set: $mm_value to -1)
(display: "update mm")}
It shrieks in surprise and pain and drops my spell.
|drop>[Continue]
](else:)[I don't think that would help here.
|prev>[Try another element.]
|return>[Do something else.]
]
](elseif: $sequence is 11)[The spell lands on the paved road.
The poltergeist tries to swoop down and recover it, but I wheel myself over the spell, and the spirit |dart>[darts back.](click: ?dart)[
//Poltergeists don't like direct confrontations.//]
The poltergeist shrieks (silently) in dismay and flies away.
|return>[Continue]{
(set: $f_polt_state to "done")
}
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?search)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?mem)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?polt)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?mm)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?drop)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?mathias)[(set: $sequence to 13)(go-to: $currentPassage)]
<script>changeBackground("fae_forest");</script>
}(if: $sequence is 0)[''$currentPassage''
(if: $f_season is "summer")[A sweeping arch made of gold intertwined with garnet catches the summer sun and shatters it into fractured slivers of crimson light.](else:)[A sweeping arch made of copper intertwined with citrine catches the summer sun and shatters it into fractured slivers of yellow light.]
It also serves as the entrance to the palace.
A bored looking troll in armor is standing guard.(if: $mathias_on_board is true)[
Mathias is here.]
(if: $f_season is "autumn" and $mathias_on_board is true)[|talkMathias>[Talk to Mathias ]
](elseif: $f_titania_interview is true)[|talk>[Talk to the guard.]
]
{
<span class="go_north dir">|north>[$north_text]</span>
<span class="go_south dir">|south>[$south_text]</span>
}
](elseif: $sequence is 1)[(if: $mathias_on_board is true or $f_web_page_state is "active")[We do the entire, tiresome, carry Pisces' chair and then Pisces rigamarole to get back down the stairs.
|finally>[Continue]
](else:)[I bully the troll guard into carrying me down.
|finally>[Continue]
]
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[We're immediately under the arch when Mathias stops wheeling me forward.
I look up at him.
He's |pale>[pale.](click: ?pale)[
//Pale for Mathias means his normally cobalt skin has brightened to cerulean.//]
(if: $mathias_mood_level < 3)[|freak>[Continue]](elseif: $mathias_asl_level > 0)[|asl>[Continue]](else:)[|next>[Continue]]
(set: $f_mathias_gateway_talked to true)
](elseif: $sequence is 11)[$mathias_name I can't.
$mathias_name I'm sorry. I wish I could help you, Pisces.
$mathias_name But I'm helpless like this.
$mathias_name If I go back, I'm competition for the crown, and Delicia will kill me.
|offer>[Offer to help.]
|understand>[Say I understand.]
](elseif: $sequence is 12)[I take out a piece of paper and start writing an offer to help.
Mathias reaches down to stop my pen before I finish.
$mathias_name I can't even talk to you without a piece of paper.
$mathias_name I'm sorry, but, it's pointless.
$mathias_name I will wait for you out here.
$mathias_name Please give Lady Xynn my regrets.
|noMathias>[Go on without him.]
](elseif: $sequence is 13)[I take out a piece of paper and write simply:
//I understand.//
I show it to Mathias. He looks relieved.
$mathias_name Thank you.
$mathias_name I will wait for you out here.
He looks pained for a moment, then masters himself.
$mathias_name Please give Lady Xynn my regrets.
|noMathias>[Go on without him.]
](elseif: $sequence is 14)[I sign to him.
$pisces_name What's wrong?
He speaks back to me. He's too shaken to try to compose his thoughts in a new language.
$mathias_name If I go through that arch, I'm competition for the crown.
$mathias_name Delicia all but killed me last time.
$mathias_name And back then, I could hear her coming.
|aslOffer>[Offer to help.]
|aslUnderstand>[Say I understand.]
](elseif: $sequence is 15)[$pisces_name I understand.
Mathias looks relieved.
$mathias_name Thank you.
$mathias_name I will wait for you out here.
He looks pained for a moment, then masters himself.
$mathias_name Please give Lady Xynn my regrets.
|noMathias>[Go on without him.]
](elseif: $sequence is 16)[$pisces_name I will help you.
I move my hands with force and confidence.
$pisces_name You know this place and you can walk.
$pisces_name I can hear and I have magic.
|next>[Continue]
](elseif: $sequence is 17)[$mathias_name Your confidence is heartening.
$mathias_name I suppose it's worth a try.
$mathias_name I might be able to barter my support away for allies enough to have a measure of safety.
$mathias_name Lirana might make me something to offset this injury.
$mathias_name If nothing else, I may be able to help you before someone kills me.
|next>[Continue]
](elseif: $sequence is 18)[Mathias takes a deep breath, steeling himself.
Then he moves his hands to sign to me.
$mathias_name I will come with you.
|yesMathias>[Continue]
](elseif: $sequence is 19)[$mathias_name I...
$mathias_name I. No. I.
$mathias_name I'm sorry.
|next>[Offer to...]
|next>[Say I...]
](elseif: $sequence is 20)[Mathias all but staggers away from me and leans against the side of the gateway.
He waves away my attempts to talk to him.
He mutters something about coming with me when I leave.
|noMathias>[Go on without him.]
](elseif: $sequence is 21)[
](elseif: $sequence is 22)[
](elseif: $sequence is 23)[
](elseif: $sequence is 24)[
](elseif: $sequence is 25)[$guard_name Yes?
(if: $f_ramp_installed is false)[|orderTroll>[$pisces_name I'm on a mission from Queen Titania. I need you to help me get down the stairs.]
](if: $f_season is "summer")[|interviewTroll>[$pisces_name I'm on a mission from Queen Titania. I need you to answer some questions about Lord Blacktree's murder.]
]|return>[$pisces_name Nothing.]
](elseif: $sequence is 26)[$guard_name Oh.
$guard_name Okay.
We do the entire, tiresome, carry Pisces' chair and then Pisces rigamarole to get back down the stairs.
|finally>[Continue]
](elseif: $sequence is 27)[The guard looks at me with a mixture of expectation and trepidation.
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any of the nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[Stop talking to him.]
](elseif: $sequence is 28)[$guard_name Yesterday.
$pisces_name What time?
He considers the sky for a moment.
$guard_name Morning. Comin' back from the city.
|interviewTroll>[Ask another question.]
|return>[Stop talking to him.]
](elseif: $sequence is 29)[$guard_name Oh there were a lot of them in and out, yesterday.
$guard_name There was Prince Blacktree in and out, and Heir Nyx after him. And then Princess Lirana.
|next>[$pisces_name Can you give me exact times?]
|interviewTroll>[Ask another question.]
|return>[Stop talking to him.]
](elseif: $sequence is 30)[He thinks hard.
$guard_name Prince Blacktree was in and out in the morning, only gone an hour, very prompt, Prince Blacktree.
$guard_name Heir Nyx went out as the Prince was coming back. I recall on account the Prince tried to stab him on the stairs.
$guard_name Not serious like. Just in a hello sort of a way.
$guard_name Don't recall when Nyx came back. They probably slipped in all subtle like.
$guard_name And Princess Lirana was out for maybe a half and hour in the afternoon. Lady on a mission, she was.
$guard_name Came back with a stack of books.
|interviewTroll>[Ask another question.]
|return>[Stop talking to him.]
](elseif: $sequence is 31)[$guard_name Oh, no, they're all out to kill one another.
$guard_name It's the way of things.
$guard_name All except Lord Magnus and Liege Xylia.
$guard_name On account of them being sweet on each other.(if: $mathias_on_board is true)[
He nods respectfully at Mathias.]
|interviewTroll>[Ask another question.]
|return>[Stop talking to him.]
](elseif: $sequence is 32)[
]{
(click: ?offer)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?understand)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?asl)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?aslUnderstand)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?aslOffer)[(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?noMathias)[(set: $f_mathias_in_palace to false)(set: $sequence to 0)(go-to: "Summer Throne")]
(click: ?yesMathias)[(set: $f_mathias_in_palace to true)(set: $sequence to 0)(go-to: "Palace Gateway")]
(click: ?freak)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?talk)[(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?orderTroll)[(set: $sequence to 26)(go-to: $currentPassage)]
(click: ?interviewTroll)[(set: $sequence to 27)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 28)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 29)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 31)(go-to: $currentPassage)]
(click: ?talkMathias)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias in the Palace")]
(click: ?north)[(if: $mathias_on_board is true and $f_mathias_gateway_talked is false)[(set: $sequence to 10)(go-to: $currentPassage)](else:)[(set: $sequence to 0)(go-to: "Summer Throne")]]
(click: ?south)[(if: $f_ramp_installed is true)[(set: $sequence to 0)(go-to: "Palace Stairs")](else:)[(set: $sequence to 1)(go-to: $currentPassage)]]
(click: ?finally)[(set: $sequence to 0)(go-to: "Palace Stairs")]
<script>changeBackground("fae_gate");</script>
}(if: $sequence is 0)[''$currentPassage''
The throne room is vast and arched.
It is steeped in gold that gleams in the (if: $f_season is "summer")[brilliant summer](else:)[pale autumn] sun.
The throne in the center is carved entirely from garnet.
(if: $f_season is "summer")[|next>[Queen Titania] is on her throne.](elseif: $f_mab_state is "cuddle")[|speakMab>[Queen Mab] sits on the throne. Queen Titania is cuddled about her, fast asleep.](else:)[|tiredTitania>[Queen Titania] is on her throne. She seems tired.](if: $f_gnome_mab_promise is true)[
There's a designated walkway for tiny people around the edge of this room.](if: $f_lirana_state is "throne")[
|talkLirana>[Lirana] is here.](if: $f_mathias_in_palace is true)[
Mathias is here.]
(if: $SpeedRun is true)[(set: $f_titania_talked to true)]
(if: $f_titania_talked is true)[ {
<span class="go_north dir">[[$north_text->Autumn Throne]]</span>
<span class="go_south dir">[[$south_text->Palace Gateway]]</span>
<span class="go_east dir">[[$east_text->Palace Kitchen]]</span>
<span class="go_west dir">[[$west_text->Solarium]]</span>
}
]
](elseif: $sequence is 1)[Titania lounges on her throne.
Her skin is golden. Her nails are |garnet>[crimson-gemstone] claws.(click-replace: ?garnet)[garnet]
She radiates heat and brightness.
Her eyes flicker up with the palpable force of a ray of sunshine.
Her gaze has |meta>[literal warmth.](click: ?meta)[
//And no metaphorical warmth.//]
(if: $f_titania_talked is true)[|talkTitania>[Talk to Queen Titania]
|return>[Continue]](else:)[|next>[Continue]]
](elseif: $sequence is 2)[$titania_name A sorceress?
$titania_name How exciting.
$titania_name Welcome to my court.
$titania_name What is your name?
(set: $f_titania_talked to true)
|skip>[$pisces_name I don't remember.]
|next>[$pisces_name Nice try.]
|may>[$pisces_name You may call me Pisces.]
](elseif: $sequence is 3)[Her eyes flash.
The heat of it stings on my skin.
I decide not to say anything else even approaching impertinence.
|next>[$pisces_name I don't remember my name.]
|may>[$pisces_name You may call me Pisces.]
](elseif: $sequence is 4)[$titania_name How unfortunate.
She sounds intrigued.
|what>[Continue]
](elseif: $sequence is 5)[$titania_name May I?
$titania_name How kind of you to permit me.
Her tone is dry, mildly disappointed, but unsurprised.
|what>[Continue]
](elseif: $sequence is 6)[$titania_name And what brings you to my court, sorceress?
|next>[$pisces_name I need to travel up through Fairyland airspace. I seek an exception to the blockade, or to end it.]
](elseif: $sequence is 7)[$titania_name I do not make exceptions unless I am amused, and you do not amuse me.
$titania_name But you may be of use to me, which is almost as good.
$titania_name I will permit you to perform a service for me that will end the blockade.
That makes it sound like she'll be doing me a favor by giving me a task.
I don't like that.
|next>[Come up with a way of saying yes that doesn't make my sound indebted to her.]
](elseif: $sequence is 8)[I think for a moment before speaking.
$pisces_name I accept the opportunity to perform a service and offer in exchange my best efforts to perform the service.
Queen Titania smiles very slightly.
$titania_name This bargain suits me.
$titania_name There has been a murder.
|next>[$pisces_name Who?]
|skip>[$pisces_name I'm sorry.]
|murder>[Say nothing.]
](elseif: $sequence is 9)[$titania_name The victim was Prince Blacktree.
$titania_name The name of the murderer is, as usual, the issue.
|murder>[Continue]
](elseif: $sequence is 10)[Titania laughs.
It is a noise like silver bells and earthquakes.
$titania_name Sorrow. How quaint.
|murder>[Continue]
](elseif: $sequence is 11)[$titania_name Prince Blacktree's corpse was found on the Autumn Throne yesterday afternoon.
$titania_name And of course everyone is trying to claim credit.
$titania_name Nyx and Lirana almost tore the body in two fighting over it.
$titania_name Rinehart claims they ran in after he shot Blacktree from the garden.
$titania_name And, bless her heart, Delicia says she poisoned him before any of that ever happened.
$titania_name They're like puppies squabbling over a toy.
|next>[Continue]
](elseif: $sequence is 12)[$titania_name Of course I'm delighted.
$titania_name It's almost as interesting as when Delicia murdered Mathias.
$titania_name So I'm going to lend my support to whoever killed him.
$titania_name You sorcerers are supposedly clever.
$titania_name Tell me which one of my nobles murdered Prince Blacktree.
$titania_name When you do, I shall crown the Autumn Queen and end the blockade.
|next>[Agree.]
|gray>[Refuse.] (click: ?gray)[//This is one of those situations where you don't say no.//]
](elseif: $sequence is 13)[$titania_name Lovely.
$titania_name Come back when you have a name.
Her gaze drifts away from me.
The temperature goes down by about ten degrees.
(if: $f_mathias_in_palace is true)[|next>[Continue]](else:)[|return>[Continue]]
](elseif: $sequence is 14)[Her eyes land on Mathias.
|next>[Continue]
](elseif: $sequence is 15)[$titania_name Mathias.
$titania_name You're not dead.
$titania_name How disappointing.
$titania_name Delicia's scheme was so charming.
$titania_name The fact that she failed makes it less so.
$titania_name Go tell her that I retract my support from her.
|next>[Continue]
](elseif: $sequence is 16)[Mathias watches Queen Titania speak, showing no sign of emotion except attentiveness.
I'm sure that's helped by the fact he can't hear a word.
When he can tell she's finished speaking to him, he bows.
A few moments later I surreptitiously relate to him what she said.
|next>[Continue]
](elseif: $sequence is 17)[$mathias_name Well, Delicia is definitely going to try to kill me again.
He seems more resignedly amused than afraid.
|next>[Continue]
](elseif: $sequence is 18)[I explain what Titania asked me to do through a medley of writing and hand motions.
$mathias_name Interesting.
$mathias_name You should know: she probably does not care if you tell you the truth.
$mathias_name Only Queen Mab cares about the truth.
$mathias_name Queen Titania values things by how entertaining they are.
|return>[Continue]
](elseif: $sequence is 19)[Queen Titania looks at me.
The temperature increases by a few degrees.
(if: $f_titania_interview is false)[|next>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
]|titaniaReveal>[$pisces_name I know who murdered Prince Blacktree.]
|feel>[$pisces_name How do you feel right now?]
(if: "Form 823H" is in $inventory and $f_823H_queen is "")[|schoolForm>[$pisces_name Would you be willing to sign a 823H Form?]
]|return>[Politely stop talking to Queen Titania.]
](elseif: $sequence is 20)[$titania_name You may not.
$titania_name I gave you this task so that I would not have to concern myself with it.
$titania_name Do not bother me about it again until you have a name.
(set: $f_titania_interview to true)
|prev>[Continue]
](elseif: $sequence is 21)[$titania_name A what?
$titania_name Oh, a form.
$titania_name Complete my task, first.
|talkTitania>[Continue]
](elseif: $sequence is 22)[Queen Titania laughs.
$titania_name Filling out a form? How dull.
$titania_name I am currently amused.
|talkTitania>[Continue]
](elseif: $sequence is 23)[Lirana ignores me.
She's patiently waiting as Queen Mab instructed her to.
|return>[Continue]
](elseif: $sequence is 24)[Queen Mab puts a finger to her lips and gestures to the sleeping Titania.
$mab_name She is weary from her season.
They both seem much more human like this.
(if: "Form 823H" is in $inventory and $f_823H_queen is "")[|next>[$pisces_name Would you be willing to sign a 823H Form?]
]|return>[I stay quiet.]
](elseif: $sequence is 25)[(if: $f_mab_result > 1)[$mab_name I would.
$mab_name Give it to me.
I hand over the form. Mab elegantly writes something on it with her claw-like nail.
$mab_name Now hush and go teach.
(set: $f_823H_queen to "mab")
|return>[Continue]
](else:)[$mab_name No. You are a foolish mortal and should not teach other mortals.
Titania stirs.
$titania_name No. Sign it.
$mab_name Did you wake up just to be contrary?
$titania_name I like the mortal. Mortal. Give me the form.
She distractedly scribbles something on my form with one claw-like nail, them promptly falls back asleep.
Mab sighs.
(set: $f_823H_queen to "titania")
|return>[Continue]
]
](elseif: $sequence is 26)[Titania slouches in her throne, seeming distracted and weary.
She sighs, occasionally.
(if: "Form 823H" is in $inventory and $f_823H_queen is "")[|next>[$pisces_name Would you be willing to sign a 823H Form?]
]|return>[I stay quiet.]
](elseif: $sequence is 27)[$titania_name Hm?
$titania_name A form?
$titania_name Fine.
She distractedly scribbles something on my form with one claw-like nail.
(set: $f_823H_queen to "titania")
|return>[Continue]
](elseif: $sequence is 28)[
]{
(click: ?may)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?what)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?murder)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?talkTitania)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?schoolForm)[(set: $sequence to 21)(go-to: $currentPassage)]
(click: ?feel)[(set: $sequence to 22)(go-to: $currentPassage)]
(click: ?talkLirana)[(set: $sequence to 23)(go-to: $currentPassage)]
(click: ?speakMab)[(set: $sequence to 24)(go-to: $currentPassage)]
(click: ?tiredTitania)[(set: $sequence to 26)(go-to: $currentPassage)]
(click: ?titaniaReveal)[(set: $sequence to 1)(go-to: "Titania Parlor Scene")]
(set: $custom_colors to "fairyland")
(if: $f_season is "summer")[<script>changeBackground("fae_arch");</script>]
(else:)[<script>changeBackground("fae_arch_autumn");</script>]
}(if: $sequence is 0)[''$currentPassage''
The throne room is vast and arched.
It is traced in copper that gleams in the (if: $f_season is "summer")[brilliant summer](else:)[pale autumn] sun.
The throne in the center is carved entirely from citrine.
(if: $f_season is "autumn")[$f_autumn_queen sits on the throne, |next>[expression distant.]
](if: $f_gnome_mab_promise is true)[There's a designated walkway for tiny people around the edge of this room.
](if: $f_mathias_in_palace is true)[Mathias is here.
|talkMathias>[Talk to Mathias ]](if: $f_mathias_location is "throne")[Mathias sits on the steps of the throne.
|talkMathiasEnd>[Talk to Mathias ] ]
{
<span class="go_north dir">[[$north_text->Winter Throne]]</span>
<span class="go_south dir">[[$south_text->Summer Throne]]</span>
<span class="go_east dir">[[$east_text->Palace Library]]</span>
<span class="go_west dir">[[$west_text->Trophy Room]]</span>
}
](elseif: $sequence is 1)[$f_autumn_queen doesn't seem aware of my presence.
It probably take a while to adapt to the amount of power that comes with suddenly being a Queen.(if: $f_autumn_queen is "Liege Xylia Xynn")[
They're smiling slightly.
I think they'll make their mother proud.]
|return>[Continue]
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?talkMathias)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias in the Palace")]
(click: ?talkMathiasEnd)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias Final Talk")]
}(if: $sequence is 0)[''$currentPassage''
The throne room is vast and arched.
It is filigreed in silver that gleams coolly in the (if: $f_season is "summer")[brilliant summer](else:)[pale autumn] sun.
The throne in the center is carved entirely from sapphire.(if: $f_gnome_mab_promise is true)[
There's a designated walkway for tiny people around the edge of this room.]
(if: $f_mathias_in_palace is true)[Mathias is here.
|talkMathias>[Talk to Mathias ]]
{
<span class="go_north dir">[[$north_text->Spring Throne]]</span>
<span class="go_south dir">[[$south_text->Autumn Throne]]</span>
<span class="go_east dir">(if: $mathias_on_board is true)[|next>[$east_text]](else:)[[[$east_text->Disposal Pit]]]</span>
<span class="go_west dir">[[$west_text->Stairwell to Winter]]</span>
}
](elseif: $sequence is 1)[$mathias_name I will stay here.
(set: $sequence to 0)
[[I wheel myself east.->Disposal Pit]]
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?talkMathias)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias in the Palace")]
}(if: $sequence is 0)[''$currentPassage''
The throne room is vast and arched.
It is decorated in pearl that shines in the (if: $f_season is "summer")[brilliant summer](else:)[pale autumn] sun.
The throne in the center is carved entirely from peridot.
A |corpse>[corpse] lies on the ground by the throne.(if: $f_gnome_mab_promise is true)[
There's a designated walkway for tiny people around the edge of this room.]
(if: $f_mathias_in_palace is true)[Mathias is here.
|talkMathias>[Talk to Mathias ]]
{
<span class="go_south dir">[[$south_text->Winter Throne]]</span>
<span class="go_east dir">[[$east_text->Tea Room]]</span>
<span class="go_west dir">[[$west_text->Palace Garden]]</span>
}
](elseif: $sequence is 1)[The corpse is dressed in a smart suit that has been unfortunately rumpled by his murder.
His head has been |blunt>[bashed in by something blunt.]
(if: $f_arrow_state is "present")[The feathered tail of an arrow |arrow>[protrudes from his neck.]](else:)[There's a wound in his neck where I removed an arrow.]
His chest is |stab>[peppered with stab wounds.]
His lips are stained a |poison>[bright blue.]
|cast>[Cast a spell.]
|return>[Stop looking at the corpse.]
](elseif: $sequence is 2)[Blunt trauma has caved in the right half of his head.
The other half of his face is intact, so it looks like he was just hit once and very hard.(if: $f_thread_state is "seen")[
I look closely for signs of the needle I detected with my Autocsi spell.
I don't find a needle, but after a bit of gentle and somewhat disgusting poking, I locate bit of red thread inside the corpse's collapsed eye-socket.]
(if: $f_thread_state is "seen")[|next>[Take the thread.]
](if: "pixie camera" is in $inventory)[|picHead>[Take a picture of the wound.] ](else:)[|gray>[Take a picture of the wound.] (click: ?gray)[//I don't have a camera.//] ]
|corpse>[Look at something else.]
](elseif: $sequence is 3)[I take the end of the red thread and pull.
It doesn't come out easily. Something catches inside his skull.
With a little delicate and grisly effort, I fish a needle out of his eye-socket.
It's wet with brain fluid. I hastily put it in my USB.
|corpse>[Continue]{
(set: $f_thread_state to "taken")
(set: $inventory to it + (datamap: "needle and thread", (datamap: "description", "A needle with red thread. Found in the skull of a murder victim.","expanded",false)))
}
](elseif: $sequence is 4)[The arrow in his neck is made of dark wood and fletched with black feathers.
The arrowhead, which I can see poking out of the other side of his neck, is carved from bone.
|next>[Take the arrow.]
|corpse>[Look at something else.]
](elseif: $sequence is 5)[I have to snap the bone arrowhead off to remove the arrow.
But after that, the shaft is smooth enough that I can easily work it out of his neck.
|corpse>[Continue]{
(set: $f_arrow_state to "taken")
(set: $inventory to it + (datamap: "broken arrow", (datamap: "description", "An arrow made of dark wood with a bone tip, fletched with black feathers.","expanded",false)))
}
](elseif: $sequence is 6)[His chest is covered in stab wounds.
Someone was very enthusiastic about this.
They're all very narrow, and look deep.
(if: "pixie camera" is in $inventory)[|picChest>[Take a picture of the wound.] ](else:)[|gray>[Take a picture of the wound.] (click: ?gray)[//I don't have a camera.//] ]
|corpse>[Look at something else.]
](elseif: $sequence is 7)[His lips are stained bright blue.
So is the inside of his mouth, and there are flecks of the color on his cheeks.
|collectPoison>[Collect some of the blue substance.]
|corpse>[Look at something else.]
](elseif: $sequence is 8)[What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
](elseif: $sequence is 9)[(if: $casting_spell is "Autocsi")[(if: "Autocsi Result: Blacktree's Corpse" is in $inventory)[I've already analyzed the murder scene with that spell.
I have the report in my inventory.
|prev>[Try another spell.]
|return>[Continue]
](else:)[I cast Autocsi on the murder scene.
A thrumming musical sequence marks the spell beginning to do its work.
Power flickers over the corpse and the throne, outlined by |words>[faint green numbers and words.](click: ?words)[
//An elaborate UI, only there to let me know the spell is still executing.//]
When it finishes, it returns to my hands and conjures a piece of paper with the results on it.
|next>[Read the paper.]{
(set: $inventory to it + (datamap: "Autocsi Result: Blacktree Corpse", (datamap: "description", "","expanded",false)))
}]
](elseif: $casting_spell is "Omini")[I try to analyze the murder scene with Omini, but it's a spell for telling the future, not the past.
I determine that the victim will continue to be dead in the future.
|prev>[Try another spell.]
|return>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|return>[Stop casting magic.] ](set: $casting_spell to "")
](elseif: $sequence is 10)[(if: $f_thread_state is "unseen")[(set: $f_thread_state to "seen")](set: $reading to "Autocsi Result: Blacktree Corpse")(display: "Reading")
|return>[I pocket the report for use later.]
](elseif: $sequence is 11)[(if: "poison sample" is in $inventory)[I already have a sample of the blue substance.
](else:)[I take out a piece of paper and scrape some of the blue substance onto it.
Then I fold it over to prevent getting what is possibly poison all over my USB of Holding.(set: $inventory to it + (datamap: "poison sample", (datamap: "description", "A blue substance found on the lips of a corpse.","expanded",false)))
]
|corpse>[Look at something else.]
](elseif: $sequence is 12)[(if: "Picture: Blackwood Head" is in $inventory)[I already have a picture of the corpse's head.
](else:)[I take a picture of the corpse's caved in skull.(set: $inventory to it + (datamap: "Picture: Blackwood Head", (datamap: "description", "A picture of the corpse of Prince Blackwood.","expanded",false)))
]
|corpse>[Look at something else.]
](elseif: $sequence is 13)[(if: "Picture: Blackwood Chest" is in $inventory)[I already have a picture of the corpse's chest.
](else:)[I take a picture of the many stab wounds in the corpse's chest.(set: $inventory to it + (datamap: "Picture: Blackwood Chest", (datamap: "description", "A picture of the corpse of Prince Blackwood.","expanded",false)))
]
|corpse>[Look at something else.]
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?corpse)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?blunt)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?arrow)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?stab)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?poison)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?collectPoison)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?picHead)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?picChest)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?cast)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?talkMathias)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias in the Palace")]
(if: $f_season is "summer")[<script>changeBackground("fae_arch");</script>]
(else:)[<script>changeBackground("fae_arch_autumn");</script>]
}(if: $sequence is 0)[''$currentPassage''
The kitchen is archaic and bustling.
Fairies of many shapes and sizes run about, cooking, baking and slicing under the direction of an elf.(if: $f_gnome_mab_promise is true)[
Tiny stairs and ladders have been installed so that the smaller kitchen staff can get around more easily.]
(if: $f_season is "summer")[|next>[Talk to the elf.]]
{
<span class="go_west dir">[[$west_text->Summer Throne]]</span>
}
](elseif: $sequence is 1)[The elf looks at me distractedly.
$cook_name Yes?
|next>[$pisces_name May I have something to eat?]
|skip>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|return>[Stop talking.]
](elseif: $sequence is 2)[$pisces_name May I have something to eat?
Is something I did not ask the fairies.
|prev>[Continue]
](elseif: $sequence is 3)[$cook_name Oh, Blacktree, yes. That happened.
$cook_name What questions did you have?
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any of the nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[Stop talking.]
](elseif: $sequence is 4)[$cook_name Twelve thirty.
$cook_name Prince Blacktree took lunch with Princess Delicia in the tea room at noon sharp.
$cook_name Very precise.
$cook_name We recovered the silverware at half past the hour, and they were still talking.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 5)[The cook takes a moment to comb his memory.
$cook_name Liege Xylia had scrambled eggs a bit after eight this morning.
$cook_name She ate them in here.
$cook_name Heir Nyx came in at half past nine, terrified one of the brownies, and ate his fear.
$cook_name Lirana had us sending tea to the Library all morning.
$cook_name After that they were all too busy about the murder to bother with eating.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 6)[$cook_name I know Princess Delicia spent a long time talking to him this morning.
$cook_name Seems a waste to do that if she were just going to go and kill him.
$cook_name But I don't claim to understand nobility.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?quest)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 6)(go-to: $currentPassage)]
}(if: $sequence is 0)[''$currentPassage''
The walls and ceiling of this room are windows. They are delineated by white pine frames.
(if: $f_season is "summer")[The summer sun shines brilliantly through them.](else:)[The pale autumn sun is magnified enough by the glass to make this place passably warm.]
(if: $f_xylia_state is "unknown" and $f_mathias_in_palace is true)[A person is here, embroidering with a hoop. They have pink hair and a round face that seems predisposed to friendly expressions.
They see Mathias.
|next>[They drop their embroidery hoop.]
](else:)[(if: $f_xylia_state is "unknown")[A person is here, embroidering with a hoop. They have pink hair and a round face that seems predisposed to friendly expressions.
](elseif: $f_xylia_state is "present")[Xylia is here, embroidering with a hoop.
](if: $f_mathias_in_palace is true)[Mathias is here.
](if: $f_mathias_location is "solarium")[Mathias sits in one of the window seats, looking out at the autumn landscape.
]
(if: $f_xylia_state is "unknown")[|talkXylia>[Talk to the person.]](elseif: $f_xylia_state is "present")[|talkXylia>[Talk to Xylia.]](if: $f_xylia_state is "present")[
|watch>[Watch Xylia work.]](if: $f_mathias_location is "solarium")[|talkMathiasEnd>[Talk to Mathias ]
]
{
<span class="go_east dir">[[$east_text->Summer Throne]]</span>
}]
](elseif: $sequence is 1)[$xylia_name MATHIAS!
The embroidery hoop clatters to the ground, but the needle they were using hovers in the air.
It swoops forward and then hovers in the air beside the embroiderer as they rush to embrace Mathias.
|next>[Continue]
](elseif: $sequence is 2)[$xylia_name I thought you were dead! Lirana was very confident that you were dead!
$xylia_name You're not dead!
$xylia_name That's good! That's...very good.
|next>[Continue]
](elseif: $sequence is 3)[Mathias hugs them back, holding them tightly, like something treasured.
He doesn't speak. I'm sure he can guess at the thrust of what the embroiderer is saying to him, but he doesn't know the details of the words.
Eventually they disentangle--a sense of propriety overwhelming the emotions of the moment.
Anxiety and embarrassment decorate their postures and faces in the aftermath of the embrace.
It tells a story of affection with unacknowledged depths.
|next>[Continue]
](elseif: $sequence is 4)[The embroiderer steps back, uncertain what to do next, hands wringing together, needle anxiously picking at the air as it hovers beside their head.
$xylia_name I'm glad you're alive.
Mathias stares at them, uncomprehending and clearly pained by that.
$mathias_name Pisces, can you...please explain.
|next>[I can do that.]
](elseif: $sequence is 5)[I introduce myself to the embroiderer, who is Liege Xylia Xynn.
They immediately ask me to call them Xylia.
I explain how I met Mathias in the wailing pit, and how his hearing is damaged.
Xylia starts asking questions: How badly? Have we consulted healers? How did we make it all they way back up here?
Soon we are all three sitting in the corner of the solarium--Mathias and me telling the story of our trip so far, with me trying my unpracticed best to sign Xylia's questions to him.
Mathias tries very, very hard to downplay the wailing pit.
|next>[Continue]
](elseif: $sequence is 6)[$xylia_name I'm glad you're back.
Xylia has said this a number of times. It's a bit of a refrain, but now they look newly anxious about it.
$xylia_name You're going to need allies. More than me. Proper ones, who can defend you.
$xylia_name Perhaps you should talk to Lirana? She just lost Brokk. I know they often worked together.
|next>[I relate this to Mathias.]
](elseif: $sequence is 7)[He shakes his head.
$mathias_name I will be fine. You shouldn't worry about that.
Xylia looks as skeptical as I feel.
|next>[Continue]
](elseif: $sequence is 8)[$xylia_name Well. I suppose first we should help Pisces solves this mystery.
$xylia_name We certainly owe her assistance.
They look at me.
$xylia_name I, um, didn't murder Prince Blacktree.
$xylia_name But I'll answer any questions you have if it will be helpful.
(set: $f_xylia_state to "present")
|return>[Continue]
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[Xylia holds their embroidery hoop in both hands.
The needle floats free, dipping up and down in elaborate stitching, guided by Xylia's flickering glances.
It reminds me of my own Textilekinesis--magic borne of affinity with a particular object.
I've always been most adept at manipulating my own scarf. I suspect Xylia is even more skilled with their needle.
|return>[Continue]
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?watch)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?talkXylia)[(if: $f_xylia_state is "unknown")[(set: $sequence to 1)](else:)[(set: $sequence to 0)](go-to: "Talking to Xylia")]
(click: ?talkMathiasEnd)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias Final Talk")]
}(if: $sequence is 0)[''$currentPassage''
This room is hung with the stuffed corpses of animals and the weapons that killed them.(if: $f_rine_state is not "gone")[
(if: $f_rine_state is "unknown")[A man is here.](else:)[Rinecoat is here.] He is dressed in worn leather armor and (if: $f_rine_corpse is "")[busily fletching arrows.](else:)[skinning a $f_rine_corpse.]](if: $f_mathias_in_palace is true)[
Mathias is here.](if: $f_mathias_location is "trophy")[
Mathias is standing by a weapon's rack, sharpening a spear.]
(if: $f_rine_state is "unknown")[|talkRine>[Talk to the man.]
](elseif: $f_rine_state is "present")[|talkRine>[Talk to Rinecoat.]
](elseif: $f_rine_state is "ignoring")[|ignore>[Talk to Rinecoat.]
](if: $f_mathias_location is "trophy")[|talkMathiasEnd>[Talk to Mathias.]
]|trophies>[Examine the trophies.]
|weapons>[Examine the weapons.]
{
<span class="go_east dir">[[$east_text->Autumn Throne]]</span>
(set: $f_trophy_count to 0)
(set: $f_weapon_count to 0)
}
](elseif: $sequence is 1)[(if: $f_trophy_count is 0)[The head of a green dragon is mounted on the wall.
The plaque under it reads: "Azenareth, Destroyer of Dwarves"
(set: $f_dust_source to "a dragon head")
](elseif: $f_trophy_count is 1)[A wooden plaque displays a number of unicorn horns, of various shapes and sizes.
(set: $f_dust_source to "unicorn horns")
](elseif: $f_trophy_count is 2)[On the wall there's a wolf skull, but unlike many other wolf skulls it has three rows of teeth.
(set: $f_dust_source to "a wolf skull")
](elseif: $f_trophy_count is 3)[(if: $f_dragonfly_wings is "taken")[There's a vast, empty space on the wall delineated by tiny hooks.](else:)[A pair of giant, gossamer dragonfly wings are mounted on the wall. Each as large as a bedsheet.]
The plaque below reads: "Dream Sails"
(set: $f_dust_source to "a pair of wings")
](elseif: $f_trophy_count is 4)[A set of giant green mandibles is mounted on the wall.
(set: $f_dust_source to "a set of mandibles")
](elseif: $f_trophy_count is 5)[A prismatically feathered snake with wings has been stuffed and eternally trapped in a pose of hissing attack.
(set: $f_dust_source to "a feathered snake")
](elseif: $f_trophy_count is 6)[A tyrannosaurus rex head is mounted on the wall.
(set: $f_dust_source to "a dinosaur")
](elseif: $f_trophy_count > 6)[A strange head is mounted on the wall. It is a blue, bulbous, hairless creature with four red eyes in two rows of two.
(set: $f_trophy_count to -1)(set: $f_dust_source to "a strange bulbous head")
]
|trophies>[Look at another trophy.]
(if: $f_trophy_count is not 3 or $f_dragonfly_wings is not "taken")[|next>[Examine this trophy closely.]
]|return>[Do something else.]
{
(set: $f_trophy_count to it + 1)
}](elseif: $sequence is 2)[The trophy has a thin sheen of dust on it.
It hasn't been cleaned recently.
(if: "dust" is in $inventory)[|next>[Take some dust.]](else:)[|skip>[Take some dust.]]
|trophies>[Look at another trophy.]
|return>[Do something else.]
](elseif: $sequence is 3)[Because of indexing limitations, this will replace the:
dust - (print: $inventory's "dust"'s description)
that's already in my inventory.
Is that okay?
|next>[Yes]
|prev>[No]
](elseif: $sequence is 4)[I put some of the dust from on top of $f_dust_source into my inventory.
|trophies>[Look at another trophy.]
|return>[Do something else.]{
(if: "dust" is in $inventory)[(move: $inventory's "dust" into $remove)]
(set: $inventory to it + (datamap: "dust", (datamap: "description", "Dust from on top of a " + $f_dust_source + ".","expanded",false)))
}
](elseif: $sequence is 5)[(if: $f_weapon_count is 0)[A spear is mounted vertically against the wall.
Its tip glows blue, and bits of snow swirl around it.
Below it, a plaque reads: Aiglos
(set: $f_dust_source to "an icy spear")
](elseif: $f_weapon_count is 1)[A staff is mounted vertically on against the wall.
Its length is carved of wood, topped with a golden claw clutching a pale blue orb.
(set: $f_dust_source to "a wooden staff")
](elseif: $f_weapon_count is 2)[A gigantic sword is mounted on the wall.
It is wreathed in flames with a crooked, oozing scorpion’s stinger affixed to its point.
(set: $f_dust_source to "a gigantic sword")
](elseif: $f_weapon_count is 3)[A black bow is mounted against the wall.
On close inspection, an entire cardiovascular system appears to have been engraved into the wood of the bow.
(set: $f_dust_source to "Veinseeker")
](elseif: $f_weapon_count is 4)[A sword is mounted on the wall.
Its blade curves back and forth like a snake, and there is a skull in its pommel.
The skull appears to have fangs.
(set: $f_dust_source to "a curvy sword")
](elseif: $f_weapon_count is 5)[There is a knife inside a glass case.
It seems unusually plain for this room, but its edge looks extremely sharp.
(set: $f_dust_source to "a plain knife")
](elseif: $f_weapon_count is 6)[There is an extremely tiny sword mounted on the wall. It's the size of a toothpick but exquisitely crafted.
Below it, a plaque reads: Sword of Martin
(set: $f_dust_source to "a tiny sword")
](elseif: $f_weapon_count > 6)[A small wand is mounted on the wall.
Its handle is a candy cane swirl of pink and white and its head is a glowing yellow star.
(set: $f_weapon_count to -1)(set: $f_dust_source to "a star wand")
]
|weapons>[Look at another weapon.]
|next>[Examine this weapon closely.]
|return>[Do something else.]
{
(set: $f_weapon_count to it + 1)
}](elseif: $sequence is 6)[(if: $f_dust_source is "a gigantic sword" or $f_dust_source is "a tiny sword" or $f_dust_source is "an icy spear")[This weapon is clean. It shows signs of having been used recently.
|weapons>[Look at another weapon.]
|return>[Do something else.]
](else:)[The weapon has a thin sheen of dust on it.
It hasn't been cleaned recently.
(if: "dust" is in $inventory)[|next>[Take some dust.]](else:)[|skip>[Take some dust.]]
|weapons>[Look at another weapon.]
|return>[Do something else.]
]
](elseif: $sequence is 7)[Because of indexing limitations, this will replace the:
dust - (print: $inventory's "dust"'s description)
that's already in my inventory.
Is that okay?
|next>[Yes]
|prev>[No]
](elseif: $sequence is 8)[I put some of the dust from on top of $f_dust_source into my inventory.
|weapons>[Look at another weapon.]
|return>[Do something else.]{
(if: "dust" is in $inventory)[(move: $inventory's "dust" into $remove)]
(set: $inventory to it + (datamap: "dust", (datamap: "description", "Dust from on top of " + $f_dust_source + ".","expanded",false)))
}
](elseif: $sequence is 9)[Rinecoat seems to be ignoring me.(if: $f_mathias_in_palace is true)[
Mathias chuckles softly and signs to me.
$mathias_name He's pouting.]
|return>[Continue]
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?trophies)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?weapons)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?ignore)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?talkRine)[(if: $f_rine_state is "unknown")[(set: $sequence to 1)](else:)[(set: $sequence to 0)](go-to: "Talking to Rinecoat")]
(click: ?talkMathiasEnd)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias Final Talk")]
}(if: $sequence is 0)[''$currentPassage''
I'm at the entrance of a maze-like branching series of book-lined hallways.
(if: $f_season is "summer")[There is a wooden table lit by a |next>[glowing crystal ball.]](else:)[There is a wooden table lit by a glowing crystal ball.](if: $f_gnome_mab_promise is true)[
A much tinnier crystal ball lights a much tinnier table under this one.]
(if: $f_lirana_state is "unknown" or $f_lirana_state is "present")[(if: $f_lirana_state is "unknown")[A woman sits at the table, reading.](else:)[Lirana sits at the table, reading.] She is dressed in an pinstriped pantsuit and has alarmingly green eyes.
](if: $f_lirana_revealed_forensics is true and $spells's "Autocsi"'s compiled is false)[A |scroll>[forensics spell scroll] sits on the table.
](if: $f_mathias_in_palace is true)[Mathias is here.
](if: $f_mathias_location is "library")[Mathias is here, paging through a book about constellations.
|talkMathiasEnd>[Talk to Mathias ]
]
(if: $f_lirana_state is "unknown")[|talkLirana>[Talk to the woman.]
](elseif: $f_lirana_state is "present")[|talkLirana>[Talk to Lirana.]
]
{
<span class="go_west dir">[[$west_text->Autumn Throne]]</span>
}
](elseif: $sequence is 1)[The crystal ball is about the size of my fist and glows a cool pale white.
As I look at it, it bobs towards me and stops right in front of me.
It speaks in a tinny, high pitched voice.
$library_name I am the Library.
$library_name How may I help you?
(if: "Form 227H" is in $inventory and $f_227H_state is "APPROVED" and $f_library_classified_access is false)[|unredact>[Show it the //Institutional Edict of Anti-Redaction Form 227H//.]
]|book>[$pisces_name Can I look at your spellbooks?]
|quest>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|return>[$pisces_name I'm fine, thank you.]
](elseif: $sequence is 2)[$library_name Please ask me questions about Prince Blacktree's murder.
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any of the nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[Stop talking.]
](elseif: $sequence is 3)[$library_name Prince Blacktree checked out a book on swordplay on the 5th of Winter.
$library_name Three years ago.
$library_name Prince Blacktree does not often enter the library.
$library_name If you find "Magical Broadswords Through The Ages" during your investigation, please return it to me.
$library_name It is overdue.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 4)[$library_name Yes.
$library_name Princess Layla Lirana was intermittently in the library from 7:26 AM until 1:10 PM.
|next>[$pisces_name Intermittently?]
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 5)[$library_name She was, and continues to be, occupied with formulating mathematical theorems to summon Queen Mab.
$library_name Her researches were punctuated by sojourns to the base of Winter's stairwell to perform those mathematical theorems.
$library_name In hopes of attracting her monarch's attention.
$pisces_name Were any of those 'sojourns' long enough to visit the Spring Throne and kill someone?
$library_name Yes.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 6)[(if: $f_library_classified_access is true)[$library_name Yes.
$library_name Princess Layla Lirana is contractually obligated to refrain from violence against Prince Brokk Blacktree.
$library_name She and Prince Brokk Blacktree have a formal contract of neutrality.
(if: "neutrality contract" is in $inventory)[](else:)[|contract>[$pisces_name Is there evidence of this contract in this library?]
]|quest>[Ask another question.]
|return>[Stop talking.]
](else:)[$library_name Yes.
$library_name Princess Layla Lirana is `[REDACTED]`.
$library_name She and Prince Brokk Blacktree `[REDACTED]`.
|next>[$pisces_name Did you just say 'Redacted'?]
|quest>[Ask another question.]
|return>[Stop talking.]
]
](elseif: $sequence is 7)[$library_name Yes.
$library_name Some of my information is classified.
$pisces_name Is there any way for me to access your classified information?
$library_name That would require an 'Institutional Edict of Anti-Redaction Form' from the Hall of Edicts.
$pisces_name Right.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 8)[The orb floats towards the form.
A white light shines from its center, scanning over the form and settling on the APPROVED at the bottom.
The form vanishes from my hands.
$library_name You now have access to classified information.
|quest>[Continue]
{
(set: $f_library_classified_access to true)
(move: $inventory's "Form 227H" into $remove)
}
](elseif: $sequence is 9)[$library_name Yes.
There is a pause.
$pisces_name May I see that evidence?
$library_name Yes.
Another pause.
$pisces_name Please go fetch me that evidence.
The orb floats away.
|next>[Wait]
](elseif: $sequence is 10)[Soon, the orb returns with a scroll.
I unfurl it and review a contract of neutrality signed by Princess Layla Lirana and Prince Brokk Blacktree.
According to this contract, they've formed an alliance where each refrains from taking violent action against the other.
It is signed and stamped with two seals.
I pocket it.
|return>[Continue]
{
(set: $inventory to it + (datamap: "neutrality contract", (datamap: "description", "A contract of neutrality between Princess Layla Lirana and Prince Brokk Blacktree.","expanded",false)))
}
](elseif: $sequence is 11)[$library_name Browsing privileges for magical sections are not currently extended to anyone below the rank of Heir.
|return>[Darn]
](elseif: $sequence is 12)[(if: $f_lirana_state is not "mab")[I reach out to take the spell scroll.
Moving with surprising quickness and strength, Lirana snatches up a steel morningstar from behind a pile of books and smashes it down on the table between my hand and the scroll.
I slowly retract my hand.
Lirana puts the morningstar away. She has at no point looked up from reading her book.
|return>[Continue]
](else:)[I pick up the spell scroll and read it.
<span class="highlight">SPELL COMPILED
YOU CAN NOW CAST ''//Autocsi()//''</span>{
(set: $spells's "Autocsi"'s compiled to true)
(set: $spells's "Autocsi"'s part1_found to true)
<script>playAudio("aa_compile");</script>
}
Well, that's likely to be useful.
The spell scroll crumbles to dust as it finishes compiling in my mind.
|return>[Continue]
]
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?quest)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?unredact)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?contract)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?book)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?scroll)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?talkLirana)[(if: $f_lirana_state is "unknown")[(set: $sequence to 1)](else:)[(set: $sequence to 0)](go-to: "Talking to Lirana")]
(click: ?talkMathiasEnd)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias Final Talk")]
}(if: $sequence is 0)[''$currentPassage''
I am at the base of a (if: $f_stair_look is true)[slender spiral staircase](else:)[|next>[slender spiral staircase]] made of (if: $f_stair_look is true)[ice](else:)[glass].
(if: $f_mathias_in_palace is true)[Mathias is here.
](if: $f_lirana_state is "mab")[Lirana is here.
|skip>[Queen Mab] is here.
](else:)[(if: $f_mab_state is "downstairs")[|mab>[Queen Mab] is here.]
{
<span class="go_east dir">[[$east_text->Winter Throne]]</span>
}]
](elseif: $sequence is 1)[I look closer.
I realize that the staircase is not made of glass.
It's made of ice.
|return>[Continue]
(set: $f_stair_look to true)
](elseif: $sequence is 2)[Mab stands |statue>[straight and certain] at the base of the stairs.(click: ?statue)[
//She stands like a statue, still and with none of the quiet, comforting, humanizing movements of shifting or breathing.//]
Her skin is silver. Her nails are sapphire claws.
The air around her is a cool relief from the heat of the palace.
She is listening to Lirana.
|next>[Continue]
](elseif: $sequence is 3)[$lirana_name ...and Delicia is trying to take credit as usual.
$lirana_name And Her Majesty of Summer has this //mortal// walking around asking questions and it's very absurd and I thought you should know.
Lirana catches sight of me.
$lirana_name Oh there she is. That's the mortal.
|next>[Continue]
](elseif: $sequence is 4)[Mab looks at me.
The air around me goes from August to December in a moment.
Her eyes are blue and white and |kind>[cold.](click: ?kind)[
//But not unkind.//]
|next>[Continue]
](elseif: $sequence is 5)[She looks back and Lirana.
$mab_name Go wait by the Summer Throne.
Lirana leaves.(set: $f_lirana_state to "throne")
Mab looks at me again.
The vacillating temperature is making me feel a bit ill.
|next>[Continue]
](elseif: $sequence is 6)[$mab_name I understand you are solving a mystery.
Her voice is even as new snow and precise as the tip of an icicle.
$mab_name I am interested in the answer to this mystery, and appreciate the efficacy of employing a neutral party.
$mab_name Unlike my counterpart, I appreciate accuracy, not drama.
$mab_name Continue your investigations with my blessing, and if your conclusions are logical, I will reward you for them.
(if: $f_mathias_in_palace is true)[|next>[Continue] ](else:)[|skip>[Continue] ]
](elseif: $sequence is 7)[She looks briefly at Mathias, but does not speak to him.
He seems relieved.
|next>[Continue]
](elseif: $sequence is 8)[Queen Mab turns away and gazes off into the middle distance, sinking into distant thought.
Apparently, I'm dismissed.
|return>[Continue]
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[Mab stands |statue>[straight and certain] at the base of the stairs.(click: ?statue)[
//She stands like a statue, still and with none of the quiet, comforting, humanizing movements of shifting or breathing.//]
Her skin is silver. Her nails are sapphire claws.
The air around her is a cool relief from the heat of the palace.
She gazes off into the distance. Thoughtful. Calculating.
|next>[Speak to her]
|return>[Continue]
](elseif: $sequence is 11)[$pisces_name Queen Mab?
She looks at me and the temperature drops.
$mab_name Yes?
(if: $f_xylia_revealed is "queen")[|support>[$pisces_name Who are you supporting for Spring Queen?]
]|next>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|skip>[$pisces_name I know who murdered Prince Blacktree.]
|feel>[$pisces_name How do you feel right now?]
|return>[Politely stop talking to Queen Mab.]
](elseif: $sequence is 12)[$mab_name That would be a waste of both our time.
$mab_name I know nothing of the murder.
$mab_name I have been in my tower since spring.
|quest>[Continue]
](elseif: $sequence is 13)[$mab_name Good.
$mab_name Titania will want to hear.
$mab_name Come.
She walks, glides really, past me and down the hall towards the Summer Throne.
(if: $f_mathias_in_palace is true)[Mathias and I follow her.](else:)[I follow her.]
|reveal>[Continue]
](elseif: $sequence is 14)[Queen Mab pauses to consider my question.
$mab_name Calm.
|quest>[Continue]
](elseif: $sequence is 15)[$mab_name I was going to support Heir Nyx.
$mab_name It has been some time since they ruled.
$mab_name But Princess Layla Lirana recently presented me with an interesting formula.
$mab_name So now I will support her.
|next>[$pisces_name Could I convince you to support Liege Xylia Xynn?]
|return>[Talk about something else.]
(set: $f_mab_support to "Lirana")
](elseif: $sequence is 16)[$mab_name Hm.
$mab_name No.
(if: $amif is true)[|next>[$pisces_name Could I convince you to withdraw your support from Lirana?]
]|return>[Continue]
](elseif: $sequence is 17)[$mab_name Hm.
$mab_name Perhaps.
$mab_name I said I would reward you for an accurate solution to this murder.
$mab_name If you wish, your reward can be for me to remain neutral in this season's Queen selection.
|return>[$pisces_name Thank you.]
(set: $f_mab_support to "Lirana?")
](elseif: $sequence is 18)[
](elseif: $sequence is 19)[
](elseif: $sequence is 20)[
]{
(click: ?mab)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?feel)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?support)[(set: $sequence to 15)(go-to: $currentPassage)]
}(if: $sequence is 0)[''$currentPassage''
This is a black marble walled room.
I'm at the edge of a large, round pit that leads down into perfect darkness.(if: $f_nyx_state is not "gone")[
(if: $f_nyx_state is "unknown" or $f_nyx_state is "ignoring")[|next>[A person] is here.](else:)[|next>[Nyx] is here.] They sit with their legs dangling over the edge of the pit.
(if: $f_nyx_state is "unknown")[|talkNyx>[Talk to the person.]](elseif: $f_nyx_state is "ignoring")[|skip>[Talk to the person.]](else:)[|talkNyx>[Talk to Nyx.]]]
{
<span class="go_west dir">[[$west_text->Winter Throne]]</span>
}
](elseif: $sequence is 1)[(if: $f_nyx_state is "unknown" or $f_nyx_state is "ignoring")[They are](else:)[Nyx is] thin, dressed in black leather, and outlined dramatically with eyeliner.
(if: $f_nyx_instrument is "electric guitar")[They are curiously plucking at the strings of an electric guitar.](elseif: $f_nyx_instrument is "enchanted guitar")[They are curiously plucking at the strings of an enchanted electric guitar. Shapes a lights resonate in the air in front of them, in pattern with the sounds.](else:)[They idly pick out a haunting melody on an old lute.]
|return>[Continue]
](elseif: $sequence is 2)[They're ignoring me.
|return>[Continue]
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?talkNyx)[(if: $f_nyx_state is "unknown")[(set: $sequence to 1)](else:)[(set: $sequence to 0)](go-to: "Talking to Nyx")]
}(if: $sequence is 0)[''$currentPassage''
The trees are thick with green leaves.
(if: $f_season is "summer")[The garden is resplendent with poppies, zinnias, and marigolds.](else:)[The garden is delicately adorned with crocuses and pansies.](if: $f_gnome_mab_promise is true)[
Small stone rungs have been carved into some of the benches, so that small fairies can climb up to sit on them.](if: $f_mathias_in_palace is true)[
Mathias is here.]
(if: $f_rine_claim is "made" and $f_season is "summer")[|next>[Check Rinecoat's story.]
](if: $f_mathias_in_palace is true)[|talkMathias>[Talk to Mathias ]
]
{
<span class="go_east dir">[[$east_text->Spring Throne]]</span>
}
](elseif: $sequence is 1)[Lord Rayne Rinecoat said he shot Prince Brokk Blacktree while Rinecoat was crouched behind a bush in the garden, and Blacktree was sitting on the Spring Throne.
That seems strange to me, as there's a lot of foliage, and a wall, blocking most of the garden from the throne.
I roll over to all of the bushes that might conceivably have been used, and find that none have line of sight on the throne.
Evidence against Rinecoat's claim, but I should probably see if he has an explanation.
(set: $f_rine_claim to "checked")
|return>[Continue]
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?notYet)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?tech)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?talkMathias)[(set: $sequence to 0)(set: $basePassage to $currentPassage)(go-to: "Mathias in the Palace")]
<script>changeBackground("fae_garden");</script>
}(if: $sequence is 0)[''$currentPassage''
The pastel pink walls are garlanded with (if: $f_season is "summer")[marigolds](else:)[dahlias].
Silk peach tablecloths cover a number of perfectly round tables topped with porcelain tea services.(if: $f_gnome_mab_promise is true)[
Smaller tables have been set up around the edge of the room, with miniature chairs and tea sets.](if: $f_season is "summer")[
A |next>[tiny pink pixie] flutters about, tidying.](if: $f_delicia_state is "unknown" or $f_delicia_state is "present")[
(if: $f_delicia_state is "unknown")[A woman is here.](else:)[Delicia is here.] She is an exquisite powder puff of tulle and lacewing.](if: $f_mathias_in_palace is true)[
Mathias is here. He seems tense.]
(if: $f_delicia_state is "unknown")[|talkDelicia>[Talk to the woman.]](elseif: $f_delicia_state is "present")[|talkDelicia>[Talk to Delicia.]]
{
<span class="go_west dir">|leaveTearoom>[$west_text]</span>
(click: ?leaveTearoom)[(set: $f_tea_assassin_count to it+1)(if: $f_tea_assassin_count is 3 and $f_mathias_in_palace is true)[(set: $sequence to 8)(go-to: $currentPassage)](else:)[(go-to: "Spring Throne")]]
}
](elseif: $sequence is 1)[The pixie is about the size of a teacup.
His skin is peony pink and his dress is sewn of primrose petals.
He tidies the teacups, moving and stacking them with ant-like strength.
He sees me looking at him, and flutters over.
$teapix_name Welcome to the tea room. Can I help you?
|next>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|return>[$pisces_name I'm fine, thank you.]
](elseif: $sequence is 2)[$teapix_name Princess Delicia did it.
He speaks rapidly, glancing nervously about.
$pisces_name Right. Can I ask you some other questions?
$teapix_name Yes, ma'am.
|next>[Continue]
](elseif: $sequence is 3)[The tea pixie is waiting for my questions.
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any of the nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[Stop talking.]
](elseif: $sequence is 4)[$teapix_name Princess Delicia and Prince Blacktree had lunch and tea at noon, yesterday.
$teapix_name They spoke of many important things.
$teapix_name The Prince agreed to support the Princess.
$teapix_name Very wise of him.
$teapix_name The Prince left a bit after the half hour.
$teapix_name He was annoyed because it was imprecise.
|next>[$pisces_name If Prince Blacktree had just agreed to support Princess Delicia, why would she kill him?]
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 5)[The tea pixie frowns, confused.
$teapix_name I'm not sure, ma'am.
He rallies.
$teapix_name But I'm sure she did! She certainly murdered him!
$teapix_name In cold blood. It was her.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 6)[$teapix_name Princess Delicia was here most of the day, of course.
$teapix_name Prince Blacktree joined her for lunch.
$teapix_name Then, a little after one in the afternoon, there was a terrible ruckus by the Spring Throne.
$teapix_name I heard Heir Nyx and Princess Lirana yelling, and Princess Delicia went out to investigate.
$teapix_name I presume it was when they found Prince Blacktree.
$teapix_name Who Princess Delicia had so cleverly murdered.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 7)[$teapix_name I don't speculate about the thoughts of nobles, ma'am.
$teapix_name Poor habit.
|quest>[Ask another question.]
|return>[Stop talking.]
](elseif: $sequence is 8)[Mathias is wheeling me out of the tea room when I hear Delicia say something.
I turn to look back at her and Mathias looks where I look.
So we both see a flutter of pink just before it lands on Mathias' neck.
|next>[Continue]
](elseif: $sequence is 9)[Mathias reacts with reflexes accustomed to constant threat.
He snatches the tea pixie away from his neck, flinging him across the room.
Mathias draws his sword and turns back to face Delicia.
There is an angry red welt along Mathias' neck where the pixie's tiny sword scraped him.
|next>[Continue]
](elseif: $sequence is 10)[Delicia smiles at Mathias, stirring her tea.
They stare at each other for a long moment.
Then Mathias very deliberately sheathes his sword, turns around, and finishes wheeling me out.
"Asshole," he mutters as we reach the Spring Throne.
(set: $f_tea_assassin to true)
[[Continue->Spring Throne]]
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?quest)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?talkDelicia)[(if: $f_delicia_state is "unknown")[(if: $f_mathias_in_palace is true)[(set: $sequence to 2)](else:)[(set: $sequence to 1)]](else:)[(set: $sequence to 0)] (go-to: "Talking to Delicia")]
}A goblin on a street corner offers to play a shell game with me, wagering 1 <span class="chaos">Chaos</span> on the outcome.
(set: $f_shell to (either: "right", "center", "left"))
|right>[Pick the right shell.]
|center>[Pick the center shell.]
|left>[Pick the left shell.]
|gambleSpell>[Cast a spell.]
|return>[Decline to gamble.]
{
(click: ?gambleSpell)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?right)[(if: $f_shell is "right")[(set: $f_shell to "correct")](set: $sequence to 5)(go-to: $currentPassage)]
(click: ?center)[(if: $f_shell is "center")[(set: $f_shell to "correct")](set: $sequence to 5)(go-to: $currentPassage)]
(click: ?left)[(if: $f_shell is "left")[(set: $f_shell to "correct")](set: $sequence to 5)(go-to: $currentPassage)]
}{
(set: $sorted_inv to (datanames: $inventory))
(set: $selected_item to "")
<script>
function printElementInventory(value, key, map) {
var spells = getHarloweVariable("inventory");
var spell = spells.get(value);
var desc = spell.get("description");
var under_value = replaceAll(value, " ","_");
var to_append = "";
to_append += "<a name='"+value+"' onclick='selectItem(this)' class='inv-item-header cast-spell'>"+value+"</a><br><br>";
$("#inv").append(to_append);
}
function selectItem(e){
setHarloweVariable("selected_item",e.name);
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
var currentPassage = getHarloweVariable("currentPassage");
goToPassage(currentPassage);
}
</script>
<style>
.inv-item { padding: 0 0 1em 16px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.cast-spell { cursor: pointer; font-weight: bold;}
</style>
}<span id="inv"></span>
<script>getHarloweVariable("sorted_inv").forEach(printElementInventory);</script>A goblin offers me $f_price <span class="mm">$f_mm</span>.
|next>[Sell the item.]
(if: $sequence is 0)[David the gnome is happy to answer any of my questions about the Underfoot protest.
(if: "Form 431X" is in $inventory and $f_431X_state is "APPROVED")[|formSubmit>[$pisces_name I think I have the form you need.]
](if: "Form 431X" is in $inventory or "Form 431B" is in $inventory)[|formHelp>[$pisces_name I found the form you need, but I need help filling it out.]
]|success>[$pisces_name Is your protest going well?]
|change>[$pisces_name What changes do you want the palace to make?]
|join>[$pisces_name May I join your protest?]
(if: $f_david_request is false)[|help>[$pisces_name Is there anything I can do to help?]](else:)[|helpRemind>[$pisces_name Can you remind me what you need to get the ramp installed?]]
|bye>[Wish David luck, and say goodbye.]
](elseif: $sequence is 1)[I roll over to the small protest.
I express an interest in what they're protesting, and they're eager to explain.
The small man with a blue tunic who seems to be in charge asks permission, then climbs up the spokes of my chair and perches on my armrest so that we can talk easily.
He introduces himself as David.
(set: $f_spoke_david to true)
|next>[Continue]
](elseif: $sequence is 2)[$david_name We're protesting how inaccessible the palace is to the |under>[Underfoot Individuals] of Fairyland.(click: ?under)[
$david_name Underfoot Individuals are fairies who are under one foot tall.]
$david_name Nowadays, most of Arcadia is <tw-link class='cyclingLink' data-cycling-texts='["ADA", "Arcadia Diminutive Act"]' onclick='clickCyclingLink(this, "ADA");'>ADA</tw-link> and <tw-link class='cyclingLink' data-cycling-texts='["AIA", "Arcadia Immensity Act"]' onclick='clickCyclingLink(this, "AIA");'>AIA</tw-link> compliant.
$david_name But the palace is very behind the times.
$david_name None of us can climb this staircase.
$david_name Which limits our ability to represent our needs to the Queens.
(if: "Form 431X" is in $inventory or "Form 431B" is in $inventory)[|formHelp>[$pisces_name I found the form you need and I need help filling it out.]
]|success>[$pisces_name Is your protest going well?]
|change>[$pisces_name What changes do you want the palace to make?]
|join>[$pisces_name May I join your protest?]
|help>[$pisces_name Is there anything I can do to help?]
|bye>[Wish David luck, and say goodbye.]
](elseif: $sequence is 3)[$david_name It is.
$david_name We have good placement here--we've gotten a lot of attention and sympathy.
$david_name It's not going to do anything while Titania's on the throne--but once the Autumn Queen is crowned, we're going to leverage the favors we've accrued to persuade them to apply <tw-link class='cyclingLink' data-cycling-texts='["ADA", "Arcadia Diminutive Act"]' onclick='clickCyclingLink(this, "ADA");'>ADA</tw-link> and <tw-link class='cyclingLink' data-cycling-texts='["AIA", "Arcadia Immensity Act"]' onclick='clickCyclingLink(this, "AIA");'>AIA</tw-link> regulations to the palace.
$david_name We're hoping it's Xylia or Magnus.
$david_name We might also be able to swing Lirana or Rinecoat.
$david_name If it's Delicia or Nyx, we'll just have to wait until Spring and try again.
|next>[$pisces_name Why can't you do anything while Titania is Queen?]
|return>[$pisces_name I see. Good to know.]
](elseif: $sequence is 4)[$david_name Political activism doesn't really work against gods.
|return>[$pisces_name Point.]
](elseif: $sequence is 5)[$david_name We want palace rooms to be restructured to have appropriate furniture for all sizes and safety measures for people who can literally be killed from being stepped on.
$david_name We want an |rep>[Underfoot representative in the nobility.](click: ?rep)[
$david_name We're particularly hopeful about that one, since a vacancy just opened up.]
$david_name We want a ramp installed as an alternative to these stairs.
|return>[$pisces_name I see.]
](elseif: $sequence is 6)[$david_name FDR stands for Fairy Dust Ramp.
$david_name It's a ramp made of concrete mixed with fairy dust.
$david_name The fairy dust is grounded and muted by the concrete, so it doesn't actually make you fly.
$david_name It's just enough to make you float up or down the ramp.
$david_name That's something we we're working to accomplish this Summer.
|return>[$pisces_name Magic escalator. Got it. I like that.]
](elseif: $sequence is 7)[$david_name I appreciate the offer, but we've actually sculpted the optics on this very carefully.
$david_name Having all of the protesters be Underfoot Individuals who can't even reach the first step of the palace creates a powerful image that highlights the absurdity of the situation.
$david_name We've asked our Overfoot allies to support us in other ways.
|help>[$pisces_name What are those other ways?]
|return>[$pisces_name I understand.]
](elseif: $sequence is 8)[$david_name So, the palace stairs technically fall under Arcadia City regulations, meaning they should be ADA compliant.
$david_name But despite that regulation being on the books for almost two decades, it has yet to be enforced here.
$david_name This protest is a part of a two-pronged effort to pressure the palace staff into installing a ramp.
|next>[Continue]
](elseif: $sequence is 9)[$david_name We've successfully leveraged our protest into a meeting with the palace staff.
$david_name But we need a correctly filed and stamped Form from the Hall of Edicts to force them to install the ramp.
$david_name The Hall of Edicts is the opposite of ADA compliant.
$david_name It's exempt from those regulations, because it's not supposed to be accessible to anyone.
$david_name We're working on contracting an Overfoot forms specialist to handle this for us, but that's slow and expensive.
|next>[Continue]
](elseif: $sequence is 10)[$david_name If you'd be willing to try navigating the Hall of Edicts, we need a correctly filed and approved **Arcadian Diminutive Act Discrimination Complaint Form**.
$david_name Once we have that, we can pressure the palace staff to install a ramp.
(set: $f_david_request to true)
|return>[$pisces_name I understand.]
](elseif: $sequence is 11)[$david_name We need you to visit the Hall of Edicts and get a correctly filed and approved **Arcadian Diminutive Act Discrimination Complaint Form**.
$david_name Once we have that, we can pressure the palace staff to install a ramp.
|return>[$pisces_name I understand.]
](elseif: $sequence is 12)[$david_name You have a form?
$david_name That's very exciting! Of course we'll help.
$david_name What information do you need?
|date>[$pisces_name What date should I write in?]
|yonk>[$pisces_name Are we in Yonkers?]
|farm>[$pisces_name Are any of you pro-athletes, farmers, or merchant mariners?]
|edicts>[$pisces_name Have efforts been made to resolve this complaint through the Hall of Edicts?]
(if: "Form 431X" is in $inventory)[|target>[$pisces_name Have efforts been made to resolve this complaint with the target of the complaint?]
|ley>[$pisces_name Do you know if the palace stairs are on a magnetized leyline?]
]|return>[Talk about something else.]
](elseif: $sequence is 13)[$pisces_name What date should I write in?
$david_name The date of the discrimination?
$david_name Put in today's date.
$david_name It's ongoing.
|next>[$pisces_name Do you know today's date?]
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 14)[$pisces_name Do you know today's date?
$david_name Sorry, we don't.
$david_name Summer has been going on so long, almost everyone in Fairyland is confused about that.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 15)[$pisces_name Are we in Yonkers?
$david_name I'm not sure where Yonkers is.
$david_name But I'm confident it's not here.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 16)[$pisces_name Have efforts been made to resolve this complaint through the Hall of Edicts?
$david_name Yes. Yes they have.
$david_name Unfortunately, they've all been incorrectly filed.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 17)[$pisces_name Have efforts been made to resolve this complaint with the target of the complaint?
$david_name Yes. We've filed a number of complaints with the palace.
$david_name We haven't gotten responses to any of them.
$david_name Only an approved complaint form from the Hall of Edicts is going to get the palace staff to sit up and pay attention.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 18)[$pisces_name Do you know if the palace stairs are on a magnetized leyline?
$david_name A leyline?
$david_name What a strange question.
$david_name Just a moment. Let me ask the group.
|next>[Continue]
](elseif: $sequence is 19)[David climbs down from my chair.
He talks to the crowd of gnomes for a little while.
He climbs back up.
|next>[Continue]
](elseif: $sequence is 20)[$david_name My neighbor, Rudolph, is a spiritual construction worker.
$david_name Mapping leylines is part of his job.
$david_name He's pretty sure there's a leyline with South magnetism under the palace stairs.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 21)[$david_name Really? Please, let me see.
I give David the form. The paper is twice as tall as he is, but he manages it like someone accustomed to the inconvenience.
His eyes immediately fall on the bright green APPROVED at the bottom, but he reads the entire thing over carefully before nodding.
His eyes shine as he looks at me.
|next>[Continue]
](elseif: $sequence is 22)[$david_name This is wonderful. This is exactly what we need.
$david_name Thank you so much.
|next>[Continue]
](elseif: $sequence is 23)[David immediately leaves to submit the form to the palace staff, whistling for a fox who helpfully carries him up the palace stairs.
Five minutes later, a pixie buzzes past us, blurred with speed.
Five minutes later, goblin construction workers amble over from the city.
They sand down the far right of the broad, marble staircase, fashioning it into a marble ramp.
They pave it with fairydust.
|next>[Continue]{
<script>changeBackground("fae_stairs_ramp");</script>
}](elseif: $sequence is 24)[(if: $mathias_on_board is true)[Mathias and ]I watch with the gnomes.
I let some of them sit on my armrests and footrests.
As the goblins finish, we cheer.
|next>[Continue]
](elseif: $sequence is 25)[David slides down the ramp to rejoin us.
The gnomes depart soon after, thanking me again, talking among themselves about future protests and filing more 431X Forms.(if: $mathias_on_board is true)[(if: $mathias_asl_level > 0)[
Mathias smiles at me. Then he signs:
$mathias_name Thank you. Good job.](else:)[
Mathias is smiling at me.] ]
|bye>[Continue]{
(set: $f_gnome_protest to "done")
(set: $f_ramp_installed to true)
}
](elseif: $sequence is 26)[$pisces_name Are any of you pro-athletes, farmers, or merchant mariners?
$david_name Oh my. I'm not sure.
$david_name Just a moment. Let me ask the group.
|next>[Continue]
](elseif: $sequence is 27)[David climbs down from my chair.
He talks to the crowd of gnomes for a little while.
He climbs back up.
|next>[Continue]
](elseif: $sequence is 28)[$david_name None of us are pro-athletes or merchant mariners
$david_name Goran is a fungus farmer, but only as a hobby, and is willing to bow out of the protest to avoid complications.
$david_name I think we can safely answer no to that question.
|formHelp>[Ask another form question.]
|return>[Talk about something else.]
](elseif: $sequence is 29)[
]{
(click: ?success)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?change)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?help)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?slide)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?join)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?helpRemind)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?formHelp)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?date)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?yonk)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?edicts)[(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?target)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?ley)[(set: $sequence to 18)(go-to: $currentPassage)]
(click: ?formSubmit)[(set: $sequence to 21)(go-to: $currentPassage)]
(click: ?farm)[(set: $sequence to 26)(go-to: $currentPassage)]
(click: ?bye)[(set: $sequence to 0)(go-to: "Palace Stairs")]
}(if: $sequence is 0)[''$currentPassage''
I'm in front of an ominous stone building prefaced by obsidian columns.
A chill air blows here, cutting through the summer warmth.(if: $f_darkScavenge's length is not 0)[
A patch of darkness flourishes in the shadow of one of the columns.](if: $mathias_on_board is true)[
Mathias is here.]
(if: $f_darkScavenge's length is not 0)[|search>[Examine the darkness.]
]
{
<span class="go_east dir">[[$east_text->Arcadia Capitol]]</span>
<span class="go_west dir">(if: $f_edicts_fast_enter is true)[|enter>[Enter]](else:)[|next>[Enter]]</span>
}
](elseif: $sequence is 1)[(if: $mathias_on_board is true)[Mathias opens the heavy stone door for me.
|enter>[Continue]
](elseif: $f_web_page_state is "active")[The Web Page opens the heavy stone door for me.
|enter>[Continue]
](else:)[The front door is heavy and made of stone and I cannot open it and roll through at the same time.
|next>[Cast a spell.]
|ask>[Ask a passer by for help.]
|return>[Give up.]
]
](elseif: $sequence is 2)[What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
](elseif: $sequence is 3)[(if: $casting_spell is "Textilekinesis")[I animate my scarf to loop around the stone knob and lever it open.
I roll through.
I whip my scarf back to me before the stone door thumps closed.
(set: $f_edicts_fast_enter to true)
|enter>[Continue]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow">Disability</span>
<span class="txt anim-text-flow">aids have many different shapes.</span>
<span class="txt anim-text-flow">Some made of fabric.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|return>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|return>[Do something else.] ]
](elseif: $sequence is 4)[I am ignored.
|next>[Continue to ask.]
|return>[Do something else.]
](elseif: $sequence is 5)[I am ignored.
|next>[Continue to ask.]
|return>[Do something else.]
](elseif: $sequence is 6)[I am ignored.
|next>[Continue to ask.]
|return>[Do something else.]
](elseif: $sequence is 7)[I am ignored.
|next>[Continue to ask.]
|return>[Do something else.]
](elseif: $sequence is 8)[I am ignored.
|next>[Continue to ask.]
|return>[Do something else.]
](elseif: $sequence is 9)[A one-legged gremlin stops to help me and with some difficulty we get the door open and me inside.
I thank him profusely as the door closes.
|enter>[Continue]
](elseif: $sequence is 10)[The patch of shadow is thick and viscous.
I can sift through it for motes of <span class="Dark">Dark</span>.
|next>[Search]
|return>[Not now]
{
(set: $grid_x to 10)
(set: $grid_y to 10)
(set: $grid_indent to 4)
(set: $grid_bottom_indent to 4)
(set: $grid_wordlist to $f_darkScavenge)
(set: $wordlist_name to "f_darkScavenge")
(set: $searchingFor to "Pieces of Dark")
(set: $searchColor to "Dark")
(set: $basePassage to $currentPassage)
(set: $grid_wordlist_name1 to "")
(set: $grid_wordlist_name2 to "")
(set: $last_word to false)
(set: $wordlist_display to "")
(set: $current_action to "")
}
](elseif: $sequence is 11)[(display: "Word Search In Place")
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?ask)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?enter)[(set: $sequence to 0)(go-to: "Hall of Edicts: Foyer")]
(click: ?search)[(set: $sequence to 10)(go-to: $currentPassage)]
(set: $custom_colors to "fairyland")
<script>changeBackground("fae_city_west");</script>
}(if: $sequence is 0)[''$currentPassage''
(if: $f_first_edicts is false)[The air is stale and cold.
The floor is checkered into black and white marble tiles.
The light is harsh and tinted yellow.
An elf sits behind a reception desk, reading a book.
He does not look up as I enter.
(set: $f_first_edicts to true)
|refresh>[Continue]
](else:)[An elf sits behind a reception desk, reading a book.
Behind him are a series of labeled archways.
A large clock hangs on the wall.(if: $mathias_on_board is true)[
Mathias is here.]
|desk>[Examine the desk.]
|clock>[Examine the clock.]
|talk>[Talk to the elf.]
{
<span class="go_east dir">[[Exit->Hall of Edicts]]</span>
<span class="go_west dir">|arch1>[Archways]</span>
}]](elseif: $sequence is 1)[The desk holds a number of interesting things.
|plaque>[A plaque labeled: Our Motto.]
|booklet>[A slender booklet entitled: Introduction to the Hall of Edicts]
|booklet2>[An inch thick booklet entitled: List of Forms]
|calendar>[A desk calendar.]
|return>[Look at something else.]
](elseif: $sequence is 2)[The plaque reads:
**Power takes many Forms.**
|desk>[Continue]
](elseif: $sequence is 3)[I read the booklet guide.
It explains that the forms stored within this hall have great power, as words and contracts shape what Fairyland is.
Because of that, they are intentionally made very difficult to access. Only those who have proven themselves worthy through the trials of Bureaucracy may access the power of Forms.
To use a form you must:
//Find the correct one.
Fill it out.
Get it approved by the secretary.//
That sounds deceptively simple.
|desk>[Continue]
](elseif: $sequence is 4)[This is a list of every form in the the Hall of Edicts and what their numbers are.
It is impossibly large and bewilderingly disorganized.
Most of it is devoted to an explanation of the numbering scheme for the forms.
For example, I find an early page that reads:
//Forms that begin with:
1 are Royal Edicts
2 are Institutional Edicts
3 are Information Changes
4 are Complaints
5 are Information Requests
6 are Taxes
7 are Useless
8 are Applications
9 are Other
Except when they are not.//
|next>[Continue]
](elseif: $sequence is 5)[I try to read it, but by page two I have a headache.
There are paragraphs of bureaucratic nonsense surrounding the actual regulations.
It would take years of studying to parse this.
|next>[Cast a spell.]
|desk>[Look at something else.]
](elseif: $sequence is 6)[What spell should I cast?
(display: "Cast Spell In Place")
|return>[Do something else.]
](elseif: $sequence is 7)[(if: $casting_spell is "Unbabble")[The text is all perfectly comprehensible.
Just, hopelessly mixed up.
I don't need something to translate it. I need something to divine what's important and what's not.
|prev>[Try another spell.]
|booklet2>[Continue]
](elseif: $casting_spell is "Omini")[I use Omini to foretell what parts of the instructions will be useful to me, and what won't.
Certain lines in the booklet begin to glow.(set: $reading to "List of Forms")
(display: "Reading")(if: $reading is in $inventory)[](else:)[(set: $inventory to it + (datamap: "List of Forms", (datamap: "description", "","expanded",false)))]
I write them all down.
(if: $mathias_on_board is true and $mathias_asl_level > 0)[|mathiasComment>[Mathias is trying to attract my attention.]
]|return>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|booklet2>[Do something else.] ]
](elseif: $sequence is 8)[(if: $f_season is "summer")[There is a calendar with a picture of a smiling sun on it.
Days 1 through 56 have been carefully crossed out.](else:)[There is a calendar with a picture of red and yellow leaves.
None of the days have been crossed out.]
|desk>[Look at something else.]
](elseif: $sequence is 9)[(display: "Edict Clock")
A white clock stands stark on the black marble wall
It is **<span id="hour"></span>:<span id="minute"></span>**
Below it is a sign etched in black shadow:
//Forms reviewed from **$f_formHours** //
|doClock>[Do something to the clock.]
|doSign>[Do something to the sign.]
|return>[Look at something else.]
](elseif: $sequence is 10)[(display: "Edict Clock")
What should I do to the clock?
|next>[Try to break it.]
|clockSpell>[Cast a spell on it.]
|clockMM>[Use a matter or motive on it.]
|clock>[Do something else.]
](elseif: $sequence is 11)[(display: "Edict Clock")
The clock is mounted too high on the wall for me to reach it.
|prev>[Contnue]
](elseif: $sequence is 12)[(display: "Edict Clock")
What spell should I cast?
(display: "Cast Spell In Place")
|doClock>[Do something else.]
](elseif: $sequence is 13)[(display: "Edict Clock")
(if: $casting_spell is "SalveMundi")[Bright letters dance around the clock for a moment.
The elf at the desk looks up and frowns at them.
They wink out.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Unbabble")[I can tell the time. I don't need help with that.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Dream" or $casting_spell is "Nightmare")[Time doesn't dream. It just moves.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Mute")[The ticking of the clock is no longer audible.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Suffero")[I make the waiting briefly less excruciating.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Textilekinesis")[I animate my scarf and reach up towards the clock.
The elf looks up, frowns, and weaves a quick counterspell.
My scarf flops back onto my head.
|prev>[Try another spell.]
|doClock>[Do something else.]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow">In orderly ranks</span>
<span class="txt anim-text-flow">all the minutes march forward</span>
<span class="txt anim-text-flow">supervised by hours.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|doClock>[Do something else.]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|doClock>[Do something else.] ]
](elseif: $sequence is 14)[(display: "Edict Clock")
==><==
What Matter or Motive should I use?
<==
(display: "Use MM In Place")
|doClock>[Do something else.]
](elseif: $sequence is 15)[(display: "Edict Clock")
(if: $using_element is "fire")[I am not frustrated enough to set fire to the clock.
|prev>[Try another element.]
|doClock>[Do something else.]
](elseif: $using_element is "water")[Time flows like a river.
But is not actually water.
|prev>[Try another element.]
|doClock>[Do something else.]
](elseif: $using_element is "air")[The clock is too sturdy to be affected by buffets of wind.
|prev>[Try another element.]
|doClock>[Do something else.]
](elseif: $using_element is "love" or $using_element is "fear")[Time does not $using_element.
It only moves forward
|prev>[Try another element.]
|doClock>[Do something else.]
](elseif: $using_element is "order")[Time is by its nature orderly.
Adding more won't change things.
|prev>[Try another element.]
|doClock>[Do something else.]
](elseif: $using_element is "chaos")[(if: $f_clockStopped is true)[I can't break it more.
|prev>[Try another element.]
|doClock>[Do something else.]
](else:)[I toss a mote of <span class="chaos">Chaos</span> up towards the clock.
There is an unhealthy crunch as some gears grind out of harmony.
The hands stop.
It is **<span id="currentTime"></span><script>stopClock();</script>**
Now, and for the foreseeable future.
(set: $m_m_chaos to it - 1)
|clock>[Continue] ]
](elseif: $using_element is "death")[I kill some time.
But only metaphorically.
|prev>[Try another element.]
|doClock>[Do something else.]
](else:)[I don't think that would help here.
|prev>[Try another element.]
|doClock>[Do something else.]
]
](elseif: $sequence is 16)[//Forms reviewed from **$f_formHours** //
What should I do to the sign?
|signSpell>[Cast a spell on it.]
|signMM>[Use a matter or motive on it.]
|clock>[Do something else.]
](elseif: $sequence is 17)[//Forms reviewed from **$f_formHours** //
What spell should I cast?
(display: "Cast Spell In Place")
|doSign>[Do something else.]
](elseif: $sequence is 18)[//Forms reviewed from **$f_formHours** //
(if: $casting_spell is "SalveMundi")[I illuminate the sign with brilliant words.
Edges of the sign begin to melt slightly--shadow-stuff does that when exposed to intense light.
But the light isn't intense enough to really change it.
|prev>[Try another spell.]
|doSign>[Do something else.]
](elseif: $casting_spell is "Unbabble")[I can read the sign just fine.
|prev>[Try another spell.]
|doSign>[Do something else.]
](elseif: $casting_spell is "Textilekinesis")[I reach up with my scarf and touch the sign.
My scarf goes through it. It's literally made of shadow.
|prev>[Try another spell.]
|doSign>[Do something else.]
](elseif: $casting_spell is "Omini")[
<span class='prophesy'><div class="container"><span class="txt anim-text-flow">Words carved from darkness.</span>
<span class="txt anim-text-flow">There are two ways to mold dark.</span>
<span class="txt anim-text-flow">Align or counter.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|doSign>[Do something else.]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|doSign>[Do something else.] ]
](elseif: $sequence is 19)[//Forms reviewed from **$f_formHours** //
==><==
What Matter or Motive should I use?
<==
(display: "Use MM In Place")
|doSign>[Do something else.]
](elseif: $sequence is 20)[//Forms reviewed from **$f_formHours** //
(if: $using_element is "light")[I use a mote of light like a knife to melt the shadow-forged sign and carve new numbers into it.
//Forms reviewed from **<a id="startH" onclick="changeH(this);"></a>:<a id="startM" onclick="changeM(this);"></a> to <a id="endH" onclick="changeH(this);"></a>:<a id="endM" onclick="changeM(this);"></a>** //
|finishTime>[I'm done changing the sign.]
(set: $m_m_light to it - 1)
(set: $f_signChanged to true)
](elseif: $using_element is "dark")[I use a mote of dark to reweave the shadow-forged sign.
//Forms reviewed from **<a id="startH" onclick="changeH(this);"></a>:<a id="startM" onclick="changeM(this);"></a> to <a id="endH" onclick="changeH(this);"></a>:<a id="endM" onclick="changeM(this);"></a>** //
|finishTime>[I'm done changing the sign.]
(set: $m_m_dark to it - 1)
(set: $f_signChanged to true)
](else:)[I don't think that would help here.
|prev>[Try another element.]
|return>[Do something else.]
]
](elseif: $sequence is 21)[The elf behind the desk frowns at me and points at the clock on the wall.
It is **<span id="currentTime"></span><script>printTime();</script>**
Below the clock is a sign etched in black shadow:
//Forms reviewed from **$f_formHours** //
|return>[Continue]
](elseif: $sequence is 22)[The elf behind the desk frowns at me and begins to point at the clock on the wall.
As he points, he realizes to his mild surprise that the time is **<span id="currentTime"></span><script>printTime();</script>**.
Which is between the hours of **$f_formHours**, during which he is obliged to review forms.
He reluctantly reaches out to receive my form.
<span></span>
(set: $reviewing to "list all forms")(display: "Reviewing Form")
{
(set: $sequence to 23)
(if: $f_clockStopped is false and $f_signChanged is false)[(set: $Punctual to true)(display: "Save Achievements")]
}
](elseif: $sequence is 23)[The elf accepts my form.
(if: "Autocsi Result: Blacktree Corpse" is in $inventory and $reviewing is "Form 533P")[He also accepts the results from my Autocsi spell analyzing Blacktree's corpse.
]He puts on a pair of half-moon spectacles and inspects it.
With his other hand he picks up a scarlet quill and dips it in an inkwell that is either full of red ink, or blood.
|review>[Continue]
(click: ?review)[(set: $sequence to 0)(go-to: "Reviewing Form")]
](elseif: $sequence is 24)[The red marks quickly fade from the form, meaning I can resubmit it with edits if I want to.
Or I can throw it out and get a fresh version of the form.
Or I can throw it out and never look at it again.
I sigh, and put it back in my inventory for now.
(set: $f_timesRejected to it + 1)
|return>[Continue]
](elseif: $sequence is 25)[The green <span style="color: lime;">APPROVED</span> endures, not fading like the red marks do.
It sparkles slightly, blessed with the power of formal contract.
I put it in my inventory.
|return>[Continue]
<script>addAchieve("Formal");</script>
](elseif: $sequence is 26)[$pisces_name If you know what's wrong with the form, can you help me fill it out?
The elf seems to consider this.
$secretary_name ...
$secretary_name ...
$secretary_name ...
$secretary_name No.
(set: $f_timesRejected to it + 1)
|return>[Continue]
](elseif: $sequence is 27)[Mathias struggles to express what seems to be a nuanced message in a language he's still not perfectly fluent in.
He rapidly signs a series of agitated words:
$mathias_name Power. Words. Confusion. Barrier. Safety. Broken.
I gently put my hand over his to stop the gibberish, and I give him a look to let him know he was being incomprehensible.
He takes my hint, and then takes a moment to compose what he's trying to say.
|next>[Continue]
](elseif: $sequence is 28)[Mathias points to the paper I just produced. The instructions I derived from the complicated manual using Omini.
Mathias signs:
$mathias_name That is powerful.
$mathias_name Please don't show it to anyone evil.
|return>[I put the powerful document into my inventory.]
](elseif: $sequence is 29)[
]{
(click: ?desk)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?plaque)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?booklet)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?booklet2)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?calendar)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?clock)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?doClock)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?clockSpell)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?clockMM)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?doSign)[(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?signSpell)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?signMM)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?mathiasComment)[(set: $sequence to 27)(go-to: $currentPassage)]
(click: ?talk)[<script>checkTime();</script>]
(click: ?finishTime)[<script>finishTime();</script>]
(click: ?arch1)[(set: $f_form_name to "")(set: $sequence to 0)(go-to: "Archways")]
<script>
function getMinutes(){
var f_clockStopped = getHarloweVariable("f_clockStopped");
var f_stoppedMinute = getHarloweVariable("f_stoppedMinute");
if(f_clockStopped)
return f_stoppedMinute;
else{
var date = new Date();
return date.getSeconds();
}
}
function getHours(){
var f_clockStopped = getHarloweVariable("f_clockStopped");
var f_stoppedHour = getHarloweVariable("f_stoppedHour");
if(f_clockStopped)
return f_stoppedHour;
else{
var date = new Date();
var hours = date.getMinutes();
var prevHour = hours;
while(hours > 0){ prevHour = hours; hours = hours - 12; }
hours = prevHour;
return hours;
}
}
function checkTime(){
var minutes = getMinutes();
var hours = getHours();
setHarloweVariable("sequence",21);
var f_formStartHour = getHarloweVariable("f_formStartHour");
var f_formEndHour = getHarloweVariable("f_formEndHour");
var f_formStartMin = getHarloweVariable("f_formStartMin");
var f_formEndMin = getHarloweVariable("f_formEndMin");
while(f_formStartHour != f_formEndHour || f_formStartMin != f_formEndMin)
{
if(f_formStartHour == hours && f_formStartMin == minutes){
setHarloweVariable("sequence",22);
f_formStartHour = f_formEndHour;
f_formStartMin = f_formEndMin;
}
else{
f_formStartMin++;
if(f_formStartMin == 60){
f_formStartMin = 0;
f_formStartHour++;
if(f_formStartHour == 13) f_formStartHour = 1;
}
}
}
goToPassage("Hall of Edicts: Foyer");
}
function printTime() {
var minutes = getMinutes();
var hours = getHours();
var printMinute = ""+minutes;
if(minutes<10) printMinute = "0"+minutes;
var printTime = hours + ":" + printMinute;
$('#currentTime').html(printTime);
}
function stopClock() {
printTime();
var minutes = getMinutes();
var hours = getHours();
setHarloweVariable("f_stoppedHour",hours);
setHarloweVariable("f_stoppedMinute",minutes);
setHarloweVariable("f_clockStopped",true);
}
function finishTime(){
setHarloweVariable("f_formStartHour",$('#startH').html());
setHarloweVariable("f_formEndHour",$('#endH').html());
setHarloweVariable("f_formStartMin",parseInt($('#startM').html(),10));
setHarloweVariable("f_formEndMin",parseInt($('#endM').html(),10));
var f_formHours = $('#startH').html() + ":" + $('#startM').html() + " to " + $('#endH').html() + ":" + $('#endM').html();
setHarloweVariable("f_formHours",f_formHours);
setHarloweVariable("sequence",16);
goToPassage("Hall of Edicts: Foyer");
}
function changeH(source){
var hour = $(source).html();
hour++;
if(hour == 13) hour = 1;
$(source).html(hour);
}
function changeM(source){
var min = $(source).html();
min++;
if(min == 60) min = 0;
if(min<10) $(source).html("0" + min); else $(source).html(min);
}
function printSign() {
$('#startH').html(getHarloweVariable("f_formStartHour"));
$('#endH').html(getHarloweVariable("f_formEndHour"));
var startMin = getHarloweVariable("f_formStartMin");
if(startMin<10) startMin = "0"+startMin;
$('#startM').html(startMin);
var endMin = getHarloweVariable("f_formEndMin");
if(endMin<10) endMin = "0"+endMin;
$('#endM').html(endMin);
}
printSign();
</script>
(set: $custom_colors to "edicts")
<script>changeBackground("");</script>
}(if: $sequence is 0)[Each archway has a number engraved into its keystone.
Which archway should I go through?
<span id="arches"></span>
<a onclick='archBack("");'>Go back.</a>
<a onclick='archBack("exit");'>Go back to the foyer.</a>
{
<script>
function assembleArches(){
var form_name = getHarloweVariable("f_form_name");
var len = form_name.length;
var to_append = "";
if (len == 0){
for (i = 1; i < 10; i++)
to_append += "<a onclick='archForward(this);'>"+i+"</a><br/><br/>";
} else if (len > 0 && len < 3){
for (i = 0; i < 10; i++)
to_append += "<a onclick='archForward(this);'>"+i+"</a><br/><br/>";
} else if (len == 3){
for (i = 0; i < 26; i++) {
var letter = (i+10).toString(36).toUpperCase();
to_append += "<a onclick='archForward(this);'>"+letter+"</a><br/><br/>";
}
} else {
to_append = "elses not working";
}
$("#arches").append(to_append);
}
assembleArches();
</script>
}
](elseif: $sequence is 1)[I am at a pedestal.
It holds form $f_form_name.
|next>[Take the form.]
<a onclick='archBack();'>Go back.</a>
<a onclick='archBack("exit");'>Go back to the foyer.</a>
(set: $reading to "Form " + $f_form_name)
](elseif: $sequence is 2)[(display: "Form Get")
](elseif: $sequence is 3)[I try to pull a form out through the crack in the shield.
But as soon as my finger brushes the barrier, it sparks bright agony into my skin.
I flinch back.
|formGet>[Continue]
](elseif: $sequence is 4)[What spell should I cast?
(display: "Cast Spell In Place")
|formGet>[Do something else.]
](elseif: $sequence is 5)[(if: $casting_spell is "Suffero")[I cast Suffero on myself, and put off pain.
In that moment of numbness, I curl my fingers through the shell and slide one of the forms off the pedestal.
When sensation returns to my hand it aches dully, but the magic didn't actually hurt me.
And I have the form:
**$form_name**{
(set: $inventory to it + (datamap: $reading, (datamap: "description", "","expanded",false)))
(set: $f_199E_state to "")
(set: $f_199E_day1 to 0)
(set: $f_199E_day2 to 1)
(set: $f_199E_season to "Spring")
(set: $f_199E_ley to "")
(set: $f_199E_leymag to "None")
(set: $f_199E_moon to "New")
(set: $f_199E_address to "Nowhere")
(set: $f_199E_mood to "Calm")
(set: $f_199E_earth to "Rise")
(set: $f_199E_sig_filled to false)}
|pedestal>[Continue]
](elseif: $casting_spell is "Textilekinesis")[I start to send my scarf worming through the break in the shield.
It is senseless, and does not flinch back from the sparks of live magic.
But the giving fabric is not strong enough to push through.
|prev>[Try another spell.]
|formGet>[Continue]
](elseif: $casting_spell is "Omini")[<span class='prophesy'><div class="container"><span class="txt anim-text-flow">You cannot counter</span>
<span class="txt anim-text-flow">a magic cast by a Queen.</span>
<span class="txt anim-text-flow">Only suffer it.</span>
</div>
(display: "Rainbow Text")
|prev>[Try another spell.]
|formGet>[Continue]
](else:)[I don't think that spell would help here.
|prev>[Try another spell.]
|formGet>[Do something else.] ]
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?pedestal)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?formGet)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?takeEarth)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?castSpellEarth)[(set: $sequence to 4)(go-to: $currentPassage)]
<script>
function archForward(archElm){
var form_name = getHarloweVariable("f_form_name");
form_name = form_name + archElm.innerHTML;
setHarloweVariable("f_form_name",form_name);
if(form_name.length == 4)
setHarloweVariable("sequence",1);
goToPassage("Archways");
}
function archBack(exitOption){
var form_name = getHarloweVariable("f_form_name");
if(form_name.length == 0 || exitOption == "exit"){
setHarloweVariable("f_form_name","");
setHarloweVariable("sequence",0);
goToPassage("Hall of Edicts: Foyer");
}
else {
setHarloweVariable("sequence",0);
form_name = form_name.substr(0, form_name.length-1);
setHarloweVariable("f_form_name",form_name);
goToPassage("Archways");
}
}
</script>
}{<body>
<span class="dial">
<div class="dot"></div>
<div class="sec-hand"></div>
<div class="min-hand"></div>
<div class="hour-hand"></div>
<span class="twelve">12</span>
<span class="three">3</span>
<span class="six">6</span>
<span class="nine">9</span>
<span class="diallines"></span>
</span>
</body>
<script>
var dialLines = document.getElementsByClassName('diallines');
for (var i = 1; i < 60; i++) {
dialLines[i] = $(dialLines[i-1]).clone()
.insertAfter($(dialLines[i-1]));
$(dialLines[i]).css('transform', 'rotate(' + 6 * i + 'deg)');
}
function tick() {
var date = new Date();
var minutes = date.getSeconds();
var hours = date.getMinutes();
var prevHour = hours;
while(hours >= 0){ prevHour = hours; hours = hours - 12; }
hours = prevHour;
var f_clockStopped = getHarloweVariable("f_clockStopped");
var f_stoppedHour = getHarloweVariable("f_stoppedHour");
var f_stoppedMinute = getHarloweVariable("f_stoppedMinute");
if(f_clockStopped){
minutes = f_stoppedMinute;
hours = f_stoppedHour;
}
var minAngle = minutes * 6;
var hourAngle = hours * 30 + minutes * (360/720);
$('.min-hand').css('transform', 'rotate(' + minAngle + 'deg)');
$('.hour-hand').css('transform', 'rotate(' + hourAngle + 'deg)');
var printMinute = ""+minutes;
if(minutes<10) printMinute = "0"+minutes;
$('#hour').html(hours);
$('#minute').html(printMinute);
}
setInterval(tick, 100);
</script>
<style>
body { background: black; color: white; }
.dial {
background: black;
position: relative;
width: 370px;
height: 370px;
border: 12px solid black;
border-radius: 50%;
margin: 0 auto 20px;
box-shadow: 1px 14px 21px 0 rgba(0,0,0,.2);
display: inline-block;
}
.dot {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 16px;
height: 16px;
border-radius: 50%;
background: transparent;
z-index: 10;
}
.sec-hand {
position: absolute;
top: 39px;
left: 50%;
margin-left: -3px;
width: 4px;
height: 162px;
background: black;
z-index: 9;
transform-origin: 50% 136px;
opacity: 0;
}
.min-hand {
position: absolute;
top: 51px;
left: 50%;
margin-left: -5px;
width: 8px;
height: 144px;
background: white;
z-index: 7;
transform-origin: 50% 124px;
border-radius: 25px;
}
.hour-hand {
position: absolute;
top: 85px;
left: 50%;
margin-left: -6px;
width: 12px;
height: 110px;
background: #eee;
z-index: 5;
transform-origin: 60% 90px;
border-radius: 25px;
}
.twelve,
.three,
.six,
.nine {
position: absolute;
font-family: Lato, sans-serif;
font-size: 32px;
color: #777;
opacity: 0.5;
}
.twelve {
top: 35px;
left: 155px;
}
.three {
top: 156px;
right: 39px;
}
.six {
left: 165px;
bottom: 35px;
}
.nine {
top: 156px;
left: 39px;
}
.diallines {
position: absolute;
top: 15px;
left: 50%;
margin-left: -1px;
width: 2px;
height: 10px;
background: #b3b3b0;
z-index: 1;
transform-origin: 50% 160px;
opacity: 0.5;
}
.diallines:nth-of-type(5n) {
position: absolute;
top: 10px;
left: 50%;
margin-left: -2px;
width: 4px;
height: 25px;
background: #b3b3b0;
z-index: 1;
transform-origin: 50% 165px;
}
.date {
position: absolute;
top: 242px;
left: 50%;
margin-left: -18px;
width: 36px;
height: 30px;
background: #83837a;
border-radius: 6px;
font-family: 'Fjalla One', sans-serif;
font-size: 21px;
line-height: 30px;
color: white;
text-align: center;
box-shadow: inset 0 2px 2px 0 rgba(0,0,0,.3), inset 0 -2px 2px 0 rgba(255,255,255,.2);
}
</style>
}(display: "Form")
<a id='discard-btn' class='clickable' onClick='confirmDiscard();'>Discard Form</a>
<a id='confrim-discard-btn' class='clickable' style="display: none; color: red;" onClick='discardForm();'>Confirm Discard</a> <a id='cancel-discard-btn' class='clickable' style="display: none;" onClick='cancelDiscard();'>Cancel</a>
|return_from_form>[Return to Inventory]{
<span class="nav_button" style="position: fixed; right: 5px; bottom: 5px;">|return_from_form>[< Return to Inventory]</span>
(set: $noMenu to true)
(click: ?return_from_form)[<script>changeBackground(""); goToPassage("Menu_Inventory"); </script>]
<script>
changeBackground("paper");
function confirmDiscard(){
$("#confrim-discard-btn").css("display","inline");
$("#cancel-discard-btn").css("display","inline");
}
function cancelDiscard(){
$("#confrim-discard-btn").css("display","none");
$("#cancel-discard-btn").css("display","none");
}
function discardForm(){
changeBackground("");
var reading = geth("reading");
addInvCommand("discard",reading,"add");
var inventory = geth("inventory");
inventory.delete(reading);
seth("inventory",inventory);
goToPassage("Menu_Inventory");
}
</script>
(set: $in_form to true)
}(if: $reading is "Form 431B")[**Arcadian Diminutive Act Discrimination Complaint Form 431B**
Complaint
(if: $f_431B_complaint_filled is "true")[The front steps of the Palace of Arcadia are not ADA compliant.](else:)[|compFill>[Fill in] (click-replace: ?compFill)[The front steps of the Palace of Arcadia are not ADA compliant.<script>formEdit("f_431B_complaint_filled",true,"");</script>] ]
Address where the discrimination occurred:
(if: $f_431B_address_filled is "true")[The Palace
Arcadia City
Fairyland](else:)[|ad1>[Fill in] (click-replace: ?ad1)[The Palace
|ad2>[Fill in] (click-replace: ?ad2)[Arcadia City
|ad3>[Fill in] (click-replace: ?ad3)[Fairyland<script>formEdit("f_431B_address_filled",true,"");</script> ] ] ] ]
Did the discrimination occur in Yonkers?
(if: $f_431B_yonk1 is "yes")[Yes ✓ No
](elseif: $f_431B_yonk1 is "no")[Yes No ✓
](else:)[<a id="yonk1yes" onclick="yesno('yonk1','yes');">Yes _</a> <a id="yonk1no" onclick="yesno('yonk1','no');">No _</a>
]
On what date did discrimination occur?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_431B_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_431B_day2</a> of <a id="season" onclick="changeSeason(this);">$f_431B_season</a>
Is the complainant a pro-athlete, farmer, or merchant mariner?
(if: $f_431B_merch is "yes")[Yes ✓ No
](elseif: $f_431B_merch is "no")[Yes No ✓
](else:)[<a id="merchyes" onclick="yesno('merch','yes');">Yes _</a> <a id="merchno" onclick="yesno('merch','no');">No _</a>
]
Did the discrimination occur in Yonkers?
(if: $f_431B_yonk2 is "yes")[Yes ✓ No
](elseif: $f_431B_yonk2 is "no")[Yes No ✓
](else:)[<a id="yonk2yes" onclick="yesno('yonk2','yes');">Yes _</a> <a id="yonk2no" onclick="yesno('yonk2','no');">No _</a>
]
Have efforts been made to resolve this complaint through the Hall of Edicts before?
(if: $f_431B_edict is "yes")[Yes ✓ No
](elseif: $f_431B_edict is "no")[Yes No ✓
](else:)[<a id="edictyes" onclick="yesno('edict','yes');">Yes _</a> <a id="edictno" onclick="yesno('edict','no');">No _</a>
]If yes: what is the status of the grievance?
<a id="season" onclick="changeStatus(this,'edict_status');">$f_431B_edict_status</a>
Are you sure the complaint didn't occur in Yonkers?
(if: $f_431B_yonk3 is "yes")[Yes ✓ No
](elseif: $f_431B_yonk3 is "no")[Yes No ✓
](else:)[<a id="yonk3yes" onclick="yesno('yonk3','yes');">Yes _</a> <a id="yonk3no" onclick="yesno('yonk3','no');">No _</a>
]
Signature: (if: $f_431B_sig_filled is "true")[
//I am not signing my name to anything here.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//I am not signing my name to anything here.// <script>formEdit("f_431B_sig_filled",true,"");</script> ] ]
](elseif: $reading is "Form 431X")[**Arcadian Diminutive Act Discrimination Complaint Form 431X**
Complaint
(if: $f_431X_complaint_filled is "true")[The front steps of the Palace of Arcadia are not ADA compliant.](else:)[|compFill>[Fill in] (click-replace: ?compFill)[The front steps of the Palace of Arcadia are not ADA compliant.<script>formEdit("f_431X_complaint_filled",true,"");</script> ] ]
Address where the discrimination occurred:
(if: $f_431X_address_filled is "true")[The Palace
Arcadia City
Fairyland](else:)[|ad1>[Fill in] (click-replace: ?ad1)[The Palace
|ad2>[Fill in] (click-replace: ?ad2)[Arcadia City
|ad3>[Fill in] (click-replace: ?ad3)[Fairyland <script>formEdit("f_431X_address_filled",true,"");</script> ] ] ] ]
Did the discrimination occur in Yonkers?
(if: $f_431X_yonk1 is "yes")[Yes ✓ No
](elseif: $f_431X_yonk1 is "no")[Yes No ✓
](else:)[<a id="yonk1yes" onclick="yesno('yonk1','yes');">Yes _</a> <a id="yonk1no" onclick="yesno('yonk1','no');">No _</a>
]
Did the discrimination occur on a ley line?
(if: $f_431X_ley is "yes")[Yes ✓ No
](elseif: $f_431X_ley is "no")[Yes No ✓
](else:)[<a id="leyyes" onclick="yesno('ley','yes');">Yes _</a> <a id="leyno" onclick="yesno('ley','no');">No _</a>
]If yes: what magnetism of ley line?
<a id="leymag" onclick="changeLeyline(this);">$f_431X_leymag</a>
On what date did discrimination occur?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_431X_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_431X_day2</a> of <a id="season" onclick="changeSeason(this);">$f_431X_season</a>
Is the complainant a pro-athlete, farmer, or merchant mariner?
(if: $f_431X_merch is "yes")[Yes ✓ No
](elseif: $f_431X_merch is "no")[Yes No ✓
](else:)[<a id="merchyes" onclick="yesno('merch','yes');">Yes _</a> <a id="merchno" onclick="yesno('merch','no');">No _</a>
]
Did the discrimination occur in Yonkers?
(if: $f_431X_yonk2 is "yes")[Yes ✓ No
](elseif: $f_431X_yonk2 is "no")[Yes No ✓
](else:)[<a id="yonk2yes" onclick="yesno('yonk2','yes');">Yes _</a> <a id="yonk2no" onclick="yesno('yonk2','no');">No _</a>
]
Have efforts been made to resolve this complaint through the Hall of Edicts before?
(if: $f_431X_edict is "yes")[Yes ✓ No
](elseif: $f_431X_edict is "no")[Yes No ✓
](else:)[<a id="edictyes" onclick="yesno('edict','yes');">Yes _</a> <a id="edictno" onclick="yesno('edict','no');">No _</a>
]If yes: what is the status of the grievance?
<a id="season" onclick="changeStatus(this,'edict_status');">$f_431X_edict_status</a>
Have efforts been made to resolve this complaint with the target of the complaint?
(if: $f_431X_palace is "yes")[Yes ✓ No
](elseif: $f_431X_palace is "no")[Yes No ✓
](else:)[<a id="palaceyes" onclick="yesno('palace','yes');">Yes _</a> <a id="palaceno" onclick="yesno('palace','no');">No _</a>
]If yes: what is the status of the grievance?
<a id="season" onclick="changeStatus(this,'palace_status');">$f_431X_palace_status</a>
Are you sure the complaint didn't occur in Yonkers?
(if: $f_431X_yonk3 is "yes")[Yes ✓ No
](elseif: $f_431X_yonk3 is "no")[Yes No ✓
](else:)[<a id="yonk3yes" onclick="yesno('yonk3','yes');">Yes _</a> <a id="yonk3no" onclick="yesno('yonk3','no');">No _</a>
]
Signature: (if: $f_431X_sig_filled is "true")[
//I am not signing my name to anything here.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//I am not signing my name to anything here.// <script>formEdit("f_431X_sig_filled",true,"");</script> ] ]
(if: $f_431X_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED</span>
]
](elseif: $reading is "Form 544M")[**Leyline Magnetism Zoning Form Information Request Form 544M**
Location to be audited for leyline activity:
<a id="location" onclick="changeLocation(this,'address');">$f_544M_address</a>
Is the location in Yonkers?
(if: $f_544M_yonk1 is "yes")[Yes ✓ No
](elseif: $f_544M_yonk1 is "no")[Yes No ✓
](else:)[<a id="yonk1yes" onclick="yesno('yonk1','yes');">Yes _</a> <a id="yonk1no" onclick="yesno('yonk1','no');">No _</a>
]
On what date should the audit occur?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_544M_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_544M_day2</a> of <a id="season" onclick="changeSeason(this);">$f_544M_season</a>
Signature: (if: $f_544M_sig_filled is "true")[
//Nope.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//Nope.// <script>formEdit("f_544M_sig_filled",true,"");</script> ] ]
(if: $f_544M_state is "APPROVED")[
Written in sparkling green at the bottom of the form:
<span class="approval">APPROVED
Magnetism of Active Leyline: $f_544M_magnetism</span>
]
](elseif: $reading is "Form 533P")[**Poisonous Substance Analysis Information Request Form 533P**
Was this substance used to kill someone?
(if: $f_533P_waskill is "yes")[Yes ✓ No
](elseif: $f_533P_waskill is "no")[Yes No ✓
](else:)[<a id="waskillyes" onclick="yesno('waskill','yes');">Yes _</a> <a id="waskillno" onclick="yesno('waskill','no');">No _</a>
]
Will this substance be used to kill someone?
(if: $f_533P_willkill is "yes")[Yes ✓ No
](elseif: $f_533P_willkill is "no")[Yes No ✓
](else:)[<a id="willkillyes" onclick="yesno('willkill','yes');">Yes _</a> <a id="willkillno" onclick="yesno('willkill','no');">No _</a>
]
Was this substance used in an attempted murder where the victim survived?
(if: $f_533P_attempt is "yes")[Yes ✓ No
](elseif: $f_533P_attempt is "no")[Yes No ✓
](else:)[<a id="attemptyes" onclick="yesno('attempt','yes');">Yes _</a> <a id="attemptno" onclick="yesno('attempt','no');">No _</a>
]
Was this substance used to stage a fake murder scene?
(if: $f_533P_fake is "yes")[Yes ✓ No
](elseif: $f_533P_fake is "no")[Yes No ✓
](else:)[<a id="fakeyes" onclick="yesno('fake','yes');">Yes _</a> <a id="fakeno" onclick="yesno('fake','no');">No _</a>
]
Did/Will the poisoning/attempted poisoning/fake poisoning occur on a ley line?
(if: $f_533P_ley is "yes")[Yes ✓ No
](elseif: $f_533P_ley is "no")[Yes No ✓
](else:)[<a id="leyyes" onclick="yesno('ley','yes');">Yes _</a> <a id="leyno" onclick="yesno('ley','no');">No _</a>
]If yes: what magnetism of ley line?
<a id="leymag" onclick="changeLeyline(this);">$f_533P_leymag</a>
During what phase of the moon did/will the poisoning/attempted poisoning/fake poisoning occur?
<a id="moon" onclick="changeMoon(this);">$f_533P_moon</a>
On what date should the analysis occur?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_533P_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_533P_day2</a> of <a id="season" onclick="changeSeason(this);">$f_533P_season</a>
NOTE: This Form must be submitted with a sample of the substance gathered with a valid forensics spell.
Signature: (if: $f_533P_sig_filled is "true")[
//Anon//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//Anon// <script>formEdit("f_533P_sig_filled",true,"");</script> ] ]
(if: $f_533P_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED
The submitted substance was Deathlace mixed with Earl Grey tea, applied to a corpse after it was already dead.</span>
]
](elseif: $reading is "Form 430M")[**Arcadian Stolen Memory Prevention Act Complaint Form 430M**
What was the memory of?
(if: $f_430M_content_filled is "true")[I don't remember.](else:)[|compFill>[Fill in] (click-replace: ?compFill)[I don't remember.<script>formEdit("f_430M_content_filled",true,"");</script>] ]
How did you lose the memory?
(if: $f_430M_loss_filled is "true")[It was ripped from me as I fell to the bottom of the sea.](else:)[|compFill2>[Fill in] (click-replace: ?compFill2)[It was ripped from me as I fell to the bottom of the sea.<script>formEdit("f_430M_loss_filled",true,"");</script>] ]
Where is the memory now?
<a id="location" onclick="changeLocation(this,'address');">$f_430M_address</a>
Form must be submitted with another valid memory for verification.
Signature: (if: $f_430M_sig_filled is "true")[
//I'm not signing my name to anything to do with fairies.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//I'm not signing my name to anything to do with fairies.// <script>formEdit("f_430M_sig_filled",true,"");</script> ] ]
(if: $f_430M_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED</span>
]
](elseif: $reading is "Form 199E")[**Royal Edict Commanding the Earth Form 199E**
In What Place Will This Edict Be Enacted?
<a id="location" onclick="changeLocation(this,'address');">$f_199E_address</a>
Will This Edict Be Enacted On A Ley Line?
(if: $f_199E_ley is "yes")[Yes ✓ No
](elseif: $f_199E_ley is "no")[Yes No ✓
](else:)[<a id="leyyes" onclick="yesno('ley','yes');">Yes _</a> <a id="leyno" onclick="yesno('ley','no');">No _</a>
]If Yes: What Magnetism Of Ley Line?
<a id="leymag" onclick="changeLeyline(this);">$f_199E_leymag</a>
On What Date Will This Edict Be Enacted?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_199E_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_199E_day2</a> of <a id="season" onclick="changeSeason(this);">$f_199E_season</a>
What Will Be The Form Of The Moon?
<a id="moon" onclick="changeMoon(this);">$f_199E_moon</a>
What Is The Mood Of Queen Mab?
<a id="mood" onclick="changeMood(this);">$f_199E_mood</a>
The Earth Shall
<a id="earth" onclick="changeEarth(this);">$f_199E_earth</a>
Signature: (if: $f_199E_sig_filled is "true")[
//That which I was I am not. That which I will be, I am not yet. That which I am, I will not say.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//That which I was I am not. That which I will be, I am not yet. That which I am, I will not say.// <script>formEdit("f_199E_sig_filled",true,"");</script> ] ]
(if: $f_199E_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED</span>
]
](elseif: $reading is "Form 536W")[**Historical Weather Information Request Form 536W**
Date of information request:
//(Only previous year available.)//
Day <a id="day1" onclick="changeNum(this,'day1');">$f_536W_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_536W_day2</a> of <a id="season" onclick="changeSeason(this);">$f_536W_season</a>
Include snowflake diagrams?
(if: $f_536W_snow is "yes")[Yes ✓ No
](elseif: $f_536W_snow is "no")[Yes No ✓
](else:)[<a id="snowyes" onclick="yesno('snow','yes');">Yes _</a> <a id="snowno" onclick="yesno('snow','no');">No _</a>
]
Include sunshine statistics?
(if: $f_536W_sun is "yes")[Yes ✓ No
](elseif: $f_536W_sun is "no")[Yes No ✓
](else:)[<a id="sunyes" onclick="yesno('sun','yes');">Yes _</a> <a id="sunno" onclick="yesno('sun','no');">No _</a>
]
Include flower measurements?
(if: $f_536W_flower is "yes")[Yes ✓ No
](elseif: $f_536W_flower is "no")[Yes No ✓
](else:)[<a id="floweryes" onclick="yesno('flower','yes');">Yes _</a> <a id="flowerno" onclick="yesno('flower','no');">No _</a>
]
Include leaf surveys?
(if: $f_536W_leaf is "yes")[Yes ✓ No
](elseif: $f_536W_leaf is "no")[Yes No ✓
](else:)[<a id="leafyes" onclick="yesno('leaf','yes');">Yes _</a> <a id="leafno" onclick="yesno('leaf','no');">No _</a>
]
Signature: (if: $f_536W_sig_filled is "true")[
//Meh.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//Meh.// <script>formEdit("f_536W_sig_filled",true,"");</script> ] ]
(if: $f_536W_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED
And attached is a great deal of census information about the weather on that date.</span>
]
](elseif: $reading is "Form 227H")[**Institutional Edict of Anti-Redaction Form 227H**
Do you have clearance to learn this information?
(if: $f_227H_one is "yes")[Yes ✓ No
](elseif: $f_227H_one is "no")[Yes No ✓
](else:)[<a id="oneyes" onclick="yesno('one','yes');">Yes _</a> <a id="oneno" onclick="yesno('one','no');">No _</a>
]
Do you not have clearance to learn this information?
(if: $f_227H_two is "yes")[Yes ✓ No
](elseif: $f_227H_two is "no")[Yes No ✓
](else:)[<a id="twoyes" onclick="yesno('two','yes');">Yes _</a> <a id="twono" onclick="yesno('two','no');">No _</a>
]
Do you not not you have clearance to learn this information?
(if: $f_227H_three is "yes")[Yes ✓ No
](elseif: $f_227H_three is "no")[Yes No ✓
](else:)[<a id="threeyes" onclick="yesno('three','yes');">Yes _</a> <a id="threeno" onclick="yesno('three','no');">No _</a>
]
Do you not not not not not not not not you have clearance to learn this information?
(if: $f_227H_four is "yes")[Yes ✓ No
](elseif: $f_227H_four is "no")[Yes No ✓
](else:)[<a id="fouryes" onclick="yesno('four','yes');">Yes _</a> <a id="fourno" onclick="yesno('four','no');">No _</a>
]
Do you not not not not not you have clearance to learn this information?
(if: $f_227H_five is "yes")[Yes ✓ No
](elseif: $f_227H_five is "no")[Yes No ✓
](else:)[<a id="fiveyes" onclick="yesno('five','yes');">Yes _</a> <a id="fiveno" onclick="yesno('five','no');">No _</a>
]
Is it not the case that you don't have clearance for this information?
(if: $f_227H_six is "yes")[Yes ✓ No
](elseif: $f_227H_six is "no")[Yes No ✓
](else:)[<a id="sixyes" onclick="yesno('six','yes');">Yes _</a> <a id="sixno" onclick="yesno('six','no');">No _</a>
]
Do you not have no clearance for this information?
(if: $f_227H_seven is "yes")[Yes ✓ No
](elseif: $f_227H_seven is "no")[Yes No ✓
](else:)[<a id="sevenyes" onclick="yesno('seven','yes');">Yes _</a> <a id="sevenno" onclick="yesno('seven','no');">No _</a>
]
Do you have clearance to learn this information?
(if: $f_227H_eight is "yes")[Yes ✓ No
](elseif: $f_227H_eight is "no")[Yes No ✓
](else:)[<a id="eightyes" onclick="yesno('eight','yes');">Yes _</a> <a id="eightno" onclick="yesno('eight','no');">No _</a>
]
Signature: (if: $f_227H_sig_filled is "true")[
//Not putting my name here.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//Not putting my name here.// <script>formEdit("f_227H_sig_filled",true,"");</script> ] ]
(if: $f_227H_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED</span>
]
](elseif: $reading is "Form 104M")[**Historical Moon Phase Inquiry Form 104M**
For what date do you need the phase of the moon?
Day <a id="day1" onclick="changeNum(this,'day1');">$f_104M_day1</a><a id="day2" onclick="changeNum(this,'day2');">$f_104M_day2</a> of <a id="season" onclick="changeSeason(this);">$f_104M_season</a>
What is the mood of the reigning Queen?
<a id="mood" onclick="changeMood(this);">$f_104M_mood</a>
Signature: (if: $f_104M_sig_filled is "true")[
//No.//](else:)[|sigFill>[Fill in] (click-replace: ?sigFill)[
//No.// <script>formEdit("f_104M_sig_filled",true,"");</script> ] ]
(if: $f_104M_state is "APPROVED")[
Written in sparkling green at the bottom of the form is the word:
<span class="approval">APPROVED
Moon Phase: (display: "Moon Phase")<span id="moon_phase"></span></span>
]
]{
<script>
function yesno(id,vote){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_" + id;
var value = "";
if(vote == "yes"){
$("#" + id + "yes").replaceWith("Yes ✓");
$("#" + id + "no").replaceWith("No ");
value = "yes";
}else{
$("#" + id + "yes").replaceWith("Yes ");
$("#" + id + "no").replaceWith("No ✓");
value = "no";
}
formEdit(variable,value,"");
}
function changeNum(target,variable){
var number = getHarloweVariable("reading").replace("Form ","");
variable = "f_" + number + "_" + variable;
var value = getHarloweVariable(variable);
value++;
if(value == 10) value = 0;
formEdit(variable,value,target);
}
function changeStatus(target,variable){
var number = getHarloweVariable("reading").replace("Form ","");
variable = "f_" + number + "_" + variable;
var value = getHarloweVariable(variable);
if(value == "Unfiled") value = "Filed No Response";
else if(value == "Filed No Response") value = "Filed and Unresolved";
else if(value == "Filed and Unresolved") value = "Filed and Resolved";
else if(value == "Filed and Resolved") value = "Incorrectly Filed";
else if(value == "Incorrectly Filed") value = "Queen Interference";
else if(value == "Queen Interference") value = "Unfiled";
formEdit(variable,value,target);
}
function changeLocation(target,variable){
var number = getHarloweVariable("reading").replace("Form ","");
variable = "f_" + number + "_" + variable;
var value = getHarloweVariable(variable);
if(value == "Nowhere") value = "Port of Ay'o";
else if(value == "Port of Ay'o") value = "Poltergeist Hill";
else if(value == "Poltergeist Hill") value = "Arcadia Capitol";
else if(value == "Arcadia Capitol") value = "Hall of Edicts";
else if(value == "Hall of Edicts") value = "Palace Stairs";
else if(value == "Palace Stairs") value = "Goblin Market";
else if(value == "Goblin Market") value = "Summer Throne";
else if(value == "Summer Throne") value = "Winter Throne";
else if(value == "Winter Throne") value = "Spring Throne";
else if(value == "Spring Throne") value = "Autumn Throne";
else if(value == "Autumn Throne") value = "The Woods";
else if(value == "The Woods") value = "Crossroads";
else if(value == "Crossroads") value = "Toll Bridge";
else if(value == "Toll Bridge") value = "Nowhere";
formEdit(variable,value,target);
}
function changeSeason(target){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_season";
var value = getHarloweVariable(variable);
if(value == "Spring") value = "Summer";
else if(value == "Summer") value = "Autumn";
else if(value == "Autumn") value = "Winter";
else if(value == "Winter") value = "Spring";
formEdit(variable,value,target);
}
function changeLeyline(target){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_leymag";
var value = getHarloweVariable(variable);
if(value == "North") value = "South";
else if(value == "South") value = "East";
else if(value == "East") value = "West";
else if(value == "West") value = "Dennis";
else if(value == "Dennis") value = "Dormant";
else if(value == "Dormant") value = "None";
else if(value == "None") value = "North";
formEdit(variable,value,target);
}
function changeMoon(target){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_moon";
var value = getHarloweVariable(variable);
if(value == "New") value = "Waxing Crescent";
else if(value == "Waxing Crescent") value = "Waxing Gibbous";
else if(value == "Waxing Gibbous") value = "Full";
else if(value == "Full") value = "Waning Gibbous";
else if(value == "Waning Gibbous") value = "Waning Crescent";
else if(value == "Waning Crescent") value = "Blood";
else if(value == "Blood") value = "Blue";
else if(value == "Blue") value = "Cheese";
else if(value == "Cheese") value = "Man";
else if(value == "Man") value = "New";
formEdit(variable,value,target);
}
function changeMood(target){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_mood";
var value = getHarloweVariable(variable);
if(value == "Calm") value = "Pleased";
else if(value == "Pleased") value = "Wrathful";
else if(value == "Wrathful") value = "Amused";
else if(value == "Amused") value = "Irritated";
else if(value == "Irritated") value = "Ecstatic";
else if(value == "Ecstatic") value = "Sorrowful";
else if(value == "Sorrowful") value = "Melancholy";
else if(value == "Melancholy") value = "Restless";
else if(value == "Restless") value = "Calm";
formEdit(variable,value,target);
}
function changeEarth(target){
var number = getHarloweVariable("reading").replace("Form ","");
var variable = "f_" + number + "_earth";
var value = getHarloweVariable(variable);
if(value == "Rise") value = "Lower";
else if(value == "Lower") value = "Tremble";
else if(value == "Tremble") value = "Break";
else if(value == "Break") value = "Heal";
else if(value == "Heal") value = "Rise";
formEdit(variable,value,target);
}
function formEdit(variable,value,target){
seth(variable,value);
$(target).html(value);
console.log("calling addInvCommand",variable,value);
addInvCommand(variable,value,"replace");
}
</script>
}(if: $reviewing is "list all forms")[(if: "Form 431B" is in $inventory)[|submit431B>[Submit the //Arcadian Diminutive Act Discrimination Complaint Form 431B//]
](if: "Form 431X" is in $inventory and $f_431X_state is not "APPROVED")[|submit431X>[Submit the //Arcadian Diminutive Act Discrimination Expanded Complaint Form 431X//]
](if: "Form 544M" is in $inventory and $f_544M_state is not "APPROVED")[|submit544M>[Submit the //Leyline Magnetism Zoning Form Information Request Form 544M//]
](if: "Form 533P" is in $inventory and $f_533P_state is not "APPROVED")[|submit533P>[Submit the //Poisonous Substance Analysis Information Request Form 533P//]
](if: "Form 430M" is in $inventory and $f_430M_state is not "APPROVED")[|submit430M>[Submit the //Arcadian Stolen Memory Prevention Act Complaint Form 430M//]
](if: "Form 199E" is in $inventory and $f_199E_state is not "APPROVED")[|submit199E>[Submit the //Royal Edict Commanding the Earth Form 199E//]
](if: "Form 536W" is in $inventory and $f_536W_state is not "APPROVED")[|submit536W>[Submit the //Historical Weather Information Request Form 536W//]
](if: "Form 227H" is in $inventory and $f_227H_state is not "APPROVED")[|submit227H>[Submit the //Institutional Edict of Anti-Redaction Form 227H//]
](if: "Form 104M" is in $inventory and $f_104M_state is not "APPROVED")[|submit104M>[Submit the //Historical Moon Phase Inquiry Form 104M//]
]|return>[Nevermind, I don't have a form for him.]
{
(click: ?submit431B)[(set: $reviewing to "Form 431B")(go-to: $currentPassage)]
(click: ?submit431X)[(set: $reviewing to "Form 431X")(go-to: $currentPassage)]
(click: ?submit544M)[(set: $reviewing to "Form 544M")(go-to: $currentPassage)]
(click: ?submit533P)[(set: $reviewing to "Form 533P")(go-to: $currentPassage)]
(click: ?submit430M)[(set: $reviewing to "Form 430M")(go-to: $currentPassage)]
(click: ?submit199E)[(set: $reviewing to "Form 199E")(go-to: $currentPassage)]
(click: ?submit536W)[(set: $reviewing to "Form 536W")(go-to: $currentPassage)]
(click: ?submit227H)[(set: $reviewing to "Form 227H")(go-to: $currentPassage)]
(click: ?submit104M)[(set: $reviewing to "Form 104M")(go-to: $currentPassage)]
}
](elseif: $reviewing is "Form 431B")[{
(set: $form_valid to true)
(if: $f_431B_complaint_filled is false)[(set: $form_valid to false)]
(if: $f_431B_address_filled is false)[(set: $form_valid to false)]
(if: $f_431B_yonk1 is "yes")[(set: $form_valid to false)]
(if: $f_431B_yonk2 is "yes")[(set: $form_valid to false)]
(if: $f_431B_yonk3 is "no")[(set: $form_valid to false)]
(if: $f_431B_day1 is not 5 or $f_431B_day2 is not 7)[(set: $form_valid to false)]
(if: $f_431B_season is not "Summer")[(set: $form_valid to false)]
(if: $f_431B_merch is "yes")[(set: $form_valid to false)]
(if: $f_431B_edict is "no")[(set: $form_valid to false)]
(if: $f_431B_edict_status is not "Incorrectly Filed")[(set: $form_valid to false)]
(if: $f_431B_sig_filled is false)[(set: $form_valid to false)]
$f_431B_day1 / $f_431B_day2 / $f_431B_season
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He begins to put down his quill.
Then his eyes flicker to the top of the form.
He grins maliciously, plucks the quill back up and scribbles a red annotation on the bottom of the form.
<span class="annotation">
According to Edict 641L of the Royal Precedent Rulings, complaints relating to the palace must be filed on the <b>expanded</b> version of Form 431.
Please resubmit the expanded version of the Arcadian Diminutive Act Discrimination Complaint Form.
REJECTED
</span>
He returns it to me with a satisfied smile.
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">
(if: $f_431B_complaint_filled is false)[Complaint not specified.
](if: $f_431B_address_filled is false)[Address must be included.
](if: $f_431B_yonk1 is "yes" or $f_431B_yonk2 is "yes" or $f_431B_yonk3 is "no")[Yonkers is outside of Fairyland jurisdiction.
](if: $f_431B_day1 is not 5 or $f_431B_day2 is not 7 or $f_431B_season is not "Summer")[According to Edict 44X of the Timeliness Ordinances all complaints must be filed on the day of their occurrence.
](if: $f_431B_merch is "yes")[Filer obviously not a pro-athlete, farmer, or merchant mariner.
](if: $f_431B_edict is "no" or $f_431B_edict_status is not "Incorrectly Filed")[Fails to correctly cite previous attempts to file duplicate complaints.
](if: $f_431B_sig_filled is false)[Form unsigned.
](if: $f_431B_yonk1 is "" or $f_431B_yonk2 is "" or $f_431B_yonk3 is "" or $f_431B_merch is "" or $f_431B_edict is "")[Required information has been left blank.
]REJECTED</span>
]
|returnReject>[Continue]
](elseif: $reviewing is "Form 431X")[{
(set: $form_valid to true)
(if: $f_431X_complaint_filled is false)[(set: $form_valid to false)]
(if: $f_431X_address_filled is false)[(set: $form_valid to false)]
(if: $f_431X_yonk1 is "yes")[(set: $form_valid to false)]
(if: $f_431X_yonk2 is "yes")[(set: $form_valid to false)]
(if: $f_431X_yonk3 is "no")[(set: $form_valid to false)]
(if: $f_431X_day1 is not 5 or $f_431X_day2 is not 7)[(set: $form_valid to false)]
(if: $f_431X_season is not "Summer")[(set: $form_valid to false)]
(if: $f_431X_merch is "yes")[(set: $form_valid to false)]
(if: $f_431X_edict is "no")[(set: $form_valid to false)]
(if: $f_431X_edict_status is not "Incorrectly Filed")[(set: $form_valid to false)]
(if: $f_431X_sig_filled is false)[(set: $form_valid to false)]
(if: $f_431X_palace is "no")[(set: $form_valid to false)]
(if: $f_431X_palace_status is not "Filed No Response")[(set: $form_valid to false)]
(if: $f_431X_ley is not "yes" or $f_431X_leymag is not "South")[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED</span>
(set: $f_431X_state to "APPROVED")
He returns it to me with a slight frown.
|returnApprove>[Continue]
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">
(if: $f_431X_complaint_filled is false)[Complaint not specified.
](if: $f_431X_address_filled is false)[Address must be included.
](if: $f_431X_yonk1 is "yes" or $f_431X_yonk2 is "yes" or $f_431X_yonk3 is "no")[Yonkers is outside of Fairyland jurisdiction.
](if: $f_431X_day1 is not 5 or $f_431X_day2 is not 7 or $f_431X_season is not "Summer")[According to Edict 44X of the Timeliness Ordinances all complaints must be filed on the day of their occurrence.
](if: $f_431X_merch is "yes")[Filer obviously not a pro-athlete, farmer, or merchant mariner.
](if: $f_431X_edict is "no" or $f_431X_edict_status is not "Incorrectly Filed")[Fails to correctly cite previous attempts to file duplicate complaints with the Hall of Edicts.
](if: $f_431X_palace is "no" or $f_431X_palace_status is not "Filed No Response")[Fails to correctly cite previous attempts to file duplicate complaints with the Palace.
](if: $f_431X_ley is not "yes" or $f_431X_leymag is not "South")[Leyline magnetism incorrectly specified.
](if: $f_431X_sig_filled is false)[Form unsigned.
](if: $f_431X_yonk1 is "" or $f_431X_yonk2 is "" or $f_431X_yonk3 is "" or $f_431X_merch is "" or $f_431X_edict is "")[Required information has been left blank.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 544M")[{
(set: $form_valid to true)
(if: $f_544M_address is "Nowhere")[(set: $form_valid to false)]
(if: $f_544M_yonk1 is "yes" or $f_544M_yonk1 is "")[(set: $form_valid to false)]
(if: $f_544M_sig_filled is false)[(set: $form_valid to false)]
(if: $f_544M_address is "Palace Stairs")[(set: $f_544M_magnetism to "South")
](elseif: $f_544M_address is "Port of Ay'o")[(set: $f_544M_magnetism to "East")
](elseif: $f_544M_address is "Poltergeist Hill")[(set: $f_544M_magnetism to "Dennis")
](elseif: $f_544M_address is "Spring Throne")[(set: $f_544M_magnetism to "West")
](elseif: $f_544M_address is "Autumn Throne")[(set: $f_544M_magnetism to "East")
](elseif: $f_544M_address is "Summer Throne")[(set: $f_544M_magnetism to "North")
](elseif: $f_544M_address is "Winter Throne")[(set: $f_544M_magnetism to "South")
](elseif: $f_544M_address is "Toll Bridge")[(set: $f_544M_magnetism to "West")
](elseif: $f_544M_address is "Crossroads")[(set: $f_544M_magnetism to "None")
](else:)[(set: $f_544M_magnetism to "No leyline present.")]
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
(if: $f_544M_day1 is 5 and $f_544M_day2 is 7 or $f_544M_season is not "Summer")[
<span class="approval">APPROVED
Magnetism of Active Leyline: $f_544M_magnetism</span>
(set: $f_544M_state to "APPROVED")
He returns it to me with a slight frown.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[Then he puts the form in his desk.
$secretary_name You may return on the date you specified for the results of your audit.
(if: "Form 544M" is in $inventory)[(move: $inventory's "Form 544M" into $remove)]
|justReturn>[Continue]
]
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">
(if: $f_544M_address is "Nowhere")[Address must be included.
](if: $f_544M_yonk1 is "yes")[Yonkers is outside of Fairyland jurisdiction.
](if: $f_544M_sig_filled is false)[Form unsigned.
](if: $f_544M_yonk1 is "")[Required information has been left blank.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 533P")[{
(set: $form_valid to true)
(if: $f_533P_waskill is "yes" or $f_533P_waskill is "")[(set: $form_valid to false)]
(if: $f_533P_willkill is "yes" or $f_533P_willkill is "")[(set: $form_valid to false)]
(if: $f_533P_attempt is "yes" or $f_533P_attempt is "")[(set: $form_valid to false)]
(if: $f_533P_fake is "no" or $f_533P_fake is "")[(set: $form_valid to false)]
(if: $f_533P_ley is "no" or $f_533P_ley is "")[(set: $form_valid to false)]
(if: $f_533P_leymag is not "West")[(set: $form_valid to false)]
(if: $f_533P_moon is not "Waxing Gibbous")[(set: $form_valid to false)]
(if: $f_533P_sig_filled is false)[(set: $form_valid to false)]
(if: "Autocsi Result: Blacktree Corpse" is in $inventory)[](else:)[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
(if: $f_533P_day1 is 5 and $f_533P_day2 is 7 or $f_533P_season is not "Summer")[
<span class="approval">APPROVED
The submitted substance was Deathlace mixed with Earl Grey tea, applied to a corpse after it was already dead.</span>
(set: $f_533P_state to "APPROVED")
He returns it to me with a slight frown.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[Then he puts the form in his desk.
$secretary_name You may return on the date you specified for the results of your analysis.
(if: "Form 533P" is in $inventory)[(move: $inventory's "Form 533P" into $remove)]
|justReturn>[Continue]
]
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">
(if: $f_533P_waskill is "yes" or $f_533P_willkill is "yes" or $f_533P_attempt is "yes" or $f_533P_fake is "no")[Details relating to use of this substance to kill someone are contradictory or incorrect.
](if: $f_533P_ley is "no" or $f_533P_leymag is not "West" or $f_533P_moon is not "Waxing Gibbous")[Leyline magnetism or Moon Phase incorrectly specified.
](if: $f_533P_sig_filled is false)[Form unsigned.
](if: $f_533P_waskill is "" or $f_533P_willkill is "" or $f_533P_attempt is "" or $f_533P_fake is "" or $f_533P_ley is "")[Required information has been left blank.
](if: "Autocsi Result: Blacktree Corpse" is in $inventory)[](else:)[This Form must be submitted with a sample of the substance gathered with a valid forensics spell.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 430M")[{
(set: $form_valid to true)
(if: $f_430M_content_filled is false or $f_430M_loss_filled is false)[(set: $form_valid to false)]
(if: $f_430M_address is not "Goblin Market")[(set: $form_valid to false)]
(if: $f_430M_sig_filled is false)[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED</span>
(set: $f_430M_state to "APPROVED")
He returns it to me with a slight frown.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">
(if: $f_430M_address is not "Goblin Market")[Address incorrect.
](if: $f_430M_sig_filled is false)[Form unsigned.
](if: $f_430M_content_filled is false or $f_430M_loss_filled is false)[Required information has been left blank.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 199E")[{
(set: $form_valid to true)
(if: $f_199E_address is "Nowhere")[(set: $form_valid to false)]
(if: $f_199E_ley is "")[(set: $form_valid to false)]
(if: $f_199E_day1 is not 5 or $f_199E_day2 is not 7)[(set: $form_valid to false)]
(if: $f_199E_season is not "Summer")[(set: $form_valid to false)]
(if: $f_199E_moon is not "Full")[(set: $form_valid to false)]
(if: $f_199E_mood is not "Calm")[(set: $form_valid to false)]
(if: $f_199E_sig_filled is false)[(set: $form_valid to false)]
(if: $f_199E_address is not "Poltergeist Hill" and $f_199E_address is not "The Woods" and $f_199E_address is not "Crossroads" and $f_199E_address is not "The Toll Bridge")[(set: $form_valid to false)]
(if: $f_199E_address is "Poltergeist Hill")[ (if: $f_199E_leymag is not "Dennis" or $f_199E_ley is "no")[(set: $form_valid to false)]
](elseif: $f_199E_address is "The Woods")[ (if: $f_199E_leymag is not "None" or $f_199E_ley is "yes")[(set: $form_valid to false)]
](elseif: $f_199E_address is "Crossroads")[ (if: $f_199E_leymag is not "None" or $f_199E_ley is "no")[(set: $form_valid to false)]
](elseif: $f_199E_address is "Toll Bridge")[ (if: $f_199E_leymag is not "West" or $f_199E_ley is "no")[(set: $form_valid to false)]
]
}(if: $form_valid is true)[The elf's eyes widen in slight surprise as he reads over the correctly filled out form.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED</span>
(set: $f_199E_state to "APPROVED")
He returns it to me with a slight frown.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">(if: $f_199E_day1 is not 5 or $f_199E_day2 is not 7 or $f_199E_season is not "Summer")[Royal Edicts allocated to non-Queens must be dated for execution on the day of approval.
](if: $f_199E_moon is not "Full" or $f_199E_mood is not "Calm")[Moon phase or mood incorrect.
](if: $f_199E_address is not "Nowhere" and $f_199E_address is not "Poltergeist Hill" and $f_199E_address is not "The Woods" and $f_199E_address is not "Crossroads" and $f_199E_address is not "The Toll Bridge")[Arcadian safety ordinances prohibit use of **Royal Edict Commanding the Earth Form 199E** on populated areas by non-Queens.
](if: $f_199E_address is "Nowhere")[Nowhere is not a valid address.
](if: $f_199E_address is "Poltergeist Hill")[ (if: $f_199E_leymag is not "Dennis" or $f_199E_ley is "no")[Leyline incorrectly specified.
]](elseif: $f_199E_address is "The Woods")[ (if: $f_199E_leymag is not "None" or $f_199E_ley is "yes")[Leyline incorrectly specified.
]](elseif: $f_199E_address is "Crossroads")[ (if: $f_199E_leymag is not "None" or $f_199E_ley is "no")[Leyline incorrectly specified.
]](elseif: $f_199E_address is "Toll Bridge")[ (if: $f_199E_leymag is not "West" or $f_199E_ley is "no")[Leyline incorrectly specified.
]](if: $f_199E_sig_filled is false)[Form unsigned.
](if: $f_199E_ley is "")[Required information has been left blank.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 536W")[{
(set: $form_valid to true)
(if: $f_536W_sun is "")[(set: $form_valid to false)]
(if: $f_536W_flower is "")[(set: $form_valid to false)]
(if: $f_536W_leaf is "")[(set: $form_valid to false)]
(if: $f_536W_snow is "")[(set: $form_valid to false)]
(if: $f_536W_sig_filled is false)[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf reads over the correctly filled out form with a bored expression.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED</span>
(set: $f_536W_state to "APPROVED")
Then he staples a huge sheaf of census data about the weather for that date to the form.
He returns it all to me.
$secretary_name Don't get cocky--this is an easy one.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">(if: $f_536W_sig_filled is false)[Form unsigned.
](if: $f_536W_sun is "" or $f_536W_flower is "" or $f_536W_leaf is "" or $f_536W_snow is "")[Required information has been left blank.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 227H")[{
(set: $form_valid to true)
(if: $f_227H_one is not "yes")[(set: $form_valid to false)]
(if: $f_227H_two is not "no")[(set: $form_valid to false)]
(if: $f_227H_three is not "yes")[(set: $form_valid to false)]
(if: $f_227H_four is not "yes")[(set: $form_valid to false)]
(if: $f_227H_five is not "no")[(set: $form_valid to false)]
(if: $f_227H_six is not "yes")[(set: $form_valid to false)]
(if: $f_227H_seven is not "yes")[(set: $form_valid to false)]
(if: $f_227H_eight is not "yes")[(set: $form_valid to false)]
(if: $f_227H_sig_filled is false)[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf reads over the correctly filled out form with a bored expression.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED</span>
(set: $f_227H_state to "APPROVED")
He returns it to me.
$secretary_name Don't get cocky--this is an easy one.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">(if: $f_227H_sig_filled is false)[Form unsigned.
](if: $f_227H_one is "" or $f_227H_two is "" or $f_227H_three is "" or $f_227H_four is "" or $f_227H_five is "" or $f_227H_six is "" or $f_227H_seven is "" or $f_227H_eight is "")[Required information has been left blank.
](if: $f_227H_one is not "yes" or $f_227H_two is not "no" or $f_227H_three is not "yes" or $f_227H_four is not "yes" or $f_227H_five is not "no" or $f_227H_six is not "yes" or $f_227H_seven is not "yes" or $f_227H_eight is not "yes")[You have indicated you do not have clearance for this information.
]REJECTED</span>
|returnReject>[Continue]
]
](elseif: $reviewing is "Form 104M")[{
(set: $form_valid to true)
(if: $f_104M_sig_filled is false)[(set: $form_valid to false)]
(if: $f_104M_mood is not "Amused")[(set: $form_valid to false)]
}(if: $form_valid is true)[The elf reads over the correctly filled out form with a bored expression.
He puts down his red quill.
He takes a green quill out of the desk drawer.
He scribbles a note at the bottom of the form.
<span class="approval">APPROVED
Moon Phase: (display: "Moon Phase")<span id="moon_phase"></span></span>
(set: $f_104M_state to "APPROVED")
He returns it to me.
|returnApprove>[Continue]
<script>addAchieve("Formal");</script>
](else:)[The elf slashes at the paper with his quill, leaving scarlet scars over imperfections.
He hands it back to me with the following annotations:
<span class="annotation">(if: $f_104M_mood is not "Amused")[Mood incorrect.
](if: $f_104M_sig_filled is false)[Form unsigned.
]REJECTED</span>
|returnReject>[Continue]
]
]{
(click: ?returnReject)[(if: $f_timesRejected is 6)[(set: $sequence to 26)](else:)[(set: $sequence to 24)](go-to: "Hall of Edicts: Foyer")]
(click: ?returnApprove)[(set: $sequence to 25)(go-to: "Hall of Edicts: Foyer")]
(click: ?justReturn)[(set: $sequence to 0)(go-to: "Hall of Edicts: Foyer")]
(set: $noMenu to true)
}{
(set: $form_valid to true)
(if: $f_form_name is "431B")[(set: $form_name to "Arcadian Diminutive Act Discrimination Complaint Form 431B")
](elseif: $f_form_name is "431X")[(set: $form_name to "Arcadian Diminutive Act Discrimination Expanded Complaint Form 431X")
](elseif: $f_form_name is "544M")[(set: $form_name to "Leyline Magnetism Zoning Form Information Request Form 544M")
](elseif: $f_form_name is "533P")[(set: $form_name to "Poisonous Substance Analysis Information Request Form 533P")
](elseif: $f_form_name is "430M")[(set: $form_name to "Arcadian Stolen Memory Prevention Act Complaint Form 430M")
](elseif: $f_form_name is "199E")[(set: $form_name to "Royal Edict Commanding The Earth Form 199E")
](elseif: $f_form_name is "199A")[(set: $form_name to "Royal Edict Commanding The Air Form 199A")
](elseif: $f_form_name is "199F")[(set: $form_name to "Royal Edict Commanding The Fire Form 199F")
](elseif: $f_form_name is "199W")[(set: $form_name to "Royal Edict Commanding The Water Form 199W")
](elseif: $f_form_name is "536W")[(set: $form_name to "Historical Weather Information Request Form 536W")
](elseif: $f_form_name is "227H")[(set: $form_name to "Institutional Edict of Anti-Redaction Form 227H")
](elseif: $f_form_name is "104M")[(set: $form_name to "Historical Moon Phase Inquiry Form 104M")
](else:)[(set: $form_valid to false)]
}(if: $reading is in $inventory)[I already have a copy of **$form_name**.
I don't need another.
|prev>[Continue]
](elseif: $f_form_name is "199W" or $f_form_name is "199A" or $f_form_name is "199F")[This form is entitled: **$form_name**
As I approach, I see that this stack of forms is encased in a bubble of vicious, electric force.
It is a potent shield, far beyond my power, and I can't get to the forms.
|prev>[Continue]
](elseif: $f_form_name is "199E")[This form is entitled: **$form_name**
As I approach, I see that this stack of forms is encased in a bubble of vicious, electric force.
It is a potent shield, but there is a small crack in the base, just wide enough that I might fit a finger through.
|takeEarth>[Try to take a form.]
|castSpellEarth>[Cast a spell.]
|prev>[Continue]
](elseif: $form_valid is true)[This form is entitled: **$form_name**
I pick up a copy and put it in my inventory.
I can fill it out there.
|prev>[Continue]
(set: $inventory to it + (datamap: $reading, (datamap: "description", "","expanded",false))){
(if: $reading is "Form 431B")[
(set: $f_431B_state to "")
(set: $f_431B_complaint_filled to false)
(set: $f_431B_address_filled to false)
(set: $f_431B_yonk1 to "")
(set: $f_431B_yonk2 to "")
(set: $f_431B_yonk3 to "")
(set: $f_431B_day1 to 0)
(set: $f_431B_day2 to 1)
(set: $f_431B_season to "Spring")
(set: $f_431B_merch to "")
(set: $f_431B_edict to "")
(set: $f_431B_edict_status to "Unfiled")
(set: $f_431B_sig_filled to false)
](elseif: $reading is "Form 431X")[
(set: $f_431X_state to "")
(set: $f_431X_complaint_filled to false)
(set: $f_431X_address_filled to false)
(set: $f_431X_yonk1 to "")
(set: $f_431X_yonk2 to "")
(set: $f_431X_yonk3 to "")
(set: $f_431X_day1 to 0)
(set: $f_431X_day2 to 1)
(set: $f_431X_season to "Spring")
(set: $f_431X_merch to "")
(set: $f_431X_edict to "")
(set: $f_431X_edict_status to "Unfiled")
(set: $f_431X_palace to "")
(set: $f_431X_palace_status to "Unfiled")
(set: $f_431X_ley to "")
(set: $f_431X_leymag to "None")
(set: $f_431X_sig_filled to false)
](elseif: $reading is "Form 544M")[
(set: $f_544M_state to "")
(set: $f_544M_address to "Nowhere")
(set: $f_544M_yonk1 to "")
(set: $f_544M_day1 to 0)
(set: $f_544M_day2 to 1)
(set: $f_544M_season to "Spring")
(set: $f_544M_magnetism to "")
(set: $f_544M_sig_filled to false)
](elseif: $reading is "Form 533P")[
(set: $f_533P_state to "")
(set: $f_533P_waskill to "")
(set: $f_533P_willkill to "")
(set: $f_533P_attempt to "")
(set: $f_533P_fake to "")
(set: $f_533P_ley to "")
(set: $f_533P_leymag to "None")
(set: $f_533P_moon to "New")
(set: $f_533P_day1 to 0)
(set: $f_533P_day2 to 1)
(set: $f_533P_season to "Spring")
(set: $f_533P_sig_filled to false)
](elseif: $reading is "Form 430M")[
(set: $f_430M_state to "")
(set: $f_430M_content_filled to false)
(set: $f_430M_loss_filled to false)
(set: $f_430M_address to "Nowhere")
(set: $f_430M_sig_filled to false)
](elseif: $reading is "Form 199E")[
(set: $f_199E_state to "")
(set: $f_199E_day1 to 0)
(set: $f_199E_day2 to 1)
(set: $f_199E_season to "Spring")
(set: $f_199E_ley to "")
(set: $f_199E_leymag to "None")
(set: $f_199E_moon to "New")
(set: $f_199E_address to "Nowhere")
(set: $f_199E_mood to "Calm")
(set: $f_199E_earth to "Rise")
(set: $f_199E_sig_filled to false)
](elseif: $reading is "Form 536W")[
(set: $f_536W_state to "")
(set: $f_536W_day1 to 0)
(set: $f_536W_day2 to 1)
(set: $f_536W_season to "Spring")
(set: $f_536W_snow to "")
(set: $f_536W_sun to "")
(set: $f_536W_flower to "")
(set: $f_536W_leaf to "")
(set: $f_536W_sig_filled to false)
](elseif: $reading is "Form 227H")[
(set: $f_227H_state to "")
(set: $f_227H_one to "")
(set: $f_227H_two to "")
(set: $f_227H_three to "")
(set: $f_227H_four to "")
(set: $f_227H_five to "")
(set: $f_227H_six to "")
(set: $f_227H_seven to "")
(set: $f_227H_eight to "")
(set: $f_227H_sig_filled to false)
](elseif: $reading is "Form 104M")[
(set: $f_104M_state to "")
(set: $f_104M_day1 to 0)
(set: $f_104M_day2 to 1)
(set: $f_104M_season to "Spring")
(set: $f_104M_mood to "Calm")
(set: $f_104M_sig_filled to false)
]
}](else:)[I examine the form on the pedestal.
It's related to something I barely understand and that does not interest me.
I leave it there.
|prev>[Continue]
](if: $sequence is 0)[Princess Dulla Delicia sits with her hands folded in her lap, looking at me expectantly.
(if: $f_xylia_revealed is "queen")[|support>[$pisces_name Would you be willing to support someone else as Queen?]
]|quest>[$pisces_name ...may I ask you some questions about Prince Blacktree's murder?]
|evidence>[Show her a piece of evidence.]
|bye>[Politely finish talking to her.]
](elseif: $sequence is 1)[She smiles at me.
$delicia_name You must be the sorceress mother tasked with solving the murder.
$pisces_name Word travels fast.
$delicia_name It does to me.
$delicia_name I am Princess Dulla Delicia, favored daughter of Queen Titania.
$delicia_name It is my pleasure to meet you.
$delicia_name Please--ask me questions.
|return>[Continue]
(set: $f_delicia_state to "present")
](elseif: $sequence is 2)[The woman's eyes narrow as she sees Mathias, then relax as a delighted smile settles over her face.
$delicia_name My dearest nephew!
$delicia_name You survived.
$delicia_name How industrious of you.
|next>[Continue]
](elseif: $sequence is 3)[Mathias eyes her from behind me, waiting for her to stop talking, then says:
$mathias_name Queen Titania has charged me to inform you that she is withdrawing her support from you.
|next>[Continue]
](elseif: $sequence is 4)[The edge of Delicia's mouth twitches.
$delicia_name I see.
$delicia_name Well.
$delicia_name I'll just have to kill you better this time.
|next>[Continue]
](elseif: $sequence is 5)[Mathias stares at her impassively to cover the fact he can't hear what she's saying.
She turns her attention to me.
|first>[Continue]
](elseif: $sequence is 6)[$delicia_name But of course!
She smooths her skirts.
$delicia_name I assure you that I am the culprit.
$delicia_name If you need further convincing I can offer you a sizable bribe.
$delicia_name And evidence that I make for an unpleasant enemy.
She smiles brightly at me.
|how>[$pisces_name How did you kill Prince Blacktree?]
|killed>[$pisces_name Do you have evidence that you killed Prince Blacktree?]
|return>[I'm done asking questions.]
](elseif: $sequence is 7)[$delicia_name Prince Blacktree took lunch together yesterday.
$delicia_name I poisoned him with Deathlace hidden in Earl Grey Tea.
$delicia_name He died slowly of it after leaving the Tea Room, collapsing near the Spring Throne.
$delicia_name Lirana, Nyx, and Rinecoat squabbled over the corpse, but it was I who killed him.
She smiles.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 8)[$delicia_name I do!
She reaches into her purse. She comes out with 5 motes of <span class="love">Love</span> and spreads them on the table in front of her.
$delicia_name These are yours if you swear to tell Queen Titania that I killed Prince Blacktree.(if: $f_mathias_in_palace is true)[
Mathias puts a cautioning hand on my shoulder. He can't hear what we're saying, but the spilled wealth of motes makes it apparent.]
|next>[$pisces_name That's not evidence. That's a bribe.]
|refuse>[$pisces_name No.]
|refuse>[$pisces_name No, thank you.]
|agree>[$pisces_name I accept.]
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 9)[Delicia smiles at me.
$delicia_name They always told me sorcerers were perceptive, but I had no idea!
|refuse>[$pisces_name No.]
|refuse>[$pisces_name No, thank you.]
|agree>[$pisces_name I accept.]
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 10)[Delicia frowns.
$delicia_name I see.
She snaps her fingers, and the tea pixie sweeps the motes back into Delicia's purse with a little broom.
$delicia_name The offer will remain until the matter is resolved.
$delicia_name I urge you to reconsider. For your sake.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 11)[$mathias_name Pisces, you...
Mathias is cut off by something. He makes a pained noise and pitches forward.
He knocks into my wheelchair, which skids forward.
Delicia catches my armrest and stops me barreling into a table.
|next>[Continue]
{(set: $f_mathias_state to "dead")
(set: $f_mathias_in_palace to false)
(set: $mathias_on_board to false)
}
](elseif: $sequence is 12)[Mathias is on the ground, twitching.
The tea pixie is standing on his neck. The tiny fairy sheathes a rapier the size of an embroidery needle and flutters over to Delicia's shoulder.
Delicia smiles at me as the pixie wipes traces of green film off his rapier.
$delicia_name How good of you to provide such an effective distraction! He usually has much better reflexes.
|next>[Continue]
](elseif: $sequence is 13)[$delicia_name Well! No time like the present.
Delicia drops the purse of motes into my lap.
{(set: $mm_to_change to "love")
(set: $mm_value to 5)
(display: "update mm")
(set: $f_took_delicia_bribe to true)}
Then she gets up and moves to take the handles of my wheelchair.
She does not ask permission, but I find myself unable to object.
I sit, white knuckle gripping my armrests as she wheels my chair around Mathias' corpse, out of the tea room, and towards the Summer Throne.
|reveal>[Continue]
](elseif: $sequence is 14)[Delicia clasps her hands to her chest.
$delicia_name I'm so glad.
$delicia_name And no time like the present.
Delicia drops the purse of motes into my lap.
{(set: $mm_to_change to "love")
(set: $mm_value to 5)
(display: "update mm")
(set: $f_took_delicia_bribe to true)}
Then she gets up and moves to take the handles of my wheelchair.
She does not ask permission, but I find myself unable to object.
I sit, white knuckle gripping my armrests as she wheels my chair around Mathias' corpse, out of the tea room, and towards the Summer Throne.
|reveal>[Continue]
](elseif: $sequence is 15)[I sort through my inventory and decide what piece of evidence I should show to Delicia to try and provoke a response.
(display: "Inv In Place")
|return>[Nevermind.]
](elseif: $sequence is 16)[(if: $selected_item is "tic tacs")[Delicia politely declines and then surreptitiously checks her breath.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
](elseif: $selected_item is "Form 533P")[(if: $f_mathias_in_palace is true)[Mathias sees what I am about to show her and puts his hand on the form to stop me.
I look at him. He signs to me as surreptitiously as he can.
$mathias_name That will insult her.
$mathias_name Then she will kill you.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
](else:)[As she reads the form, Delicia's face crumples from mild curiosity into petulance.
When she finishes, she glares at me.
$delicia_name You find evidence against my claim.
$delicia_name And you decide to throw it in my face?
$delicia_name That is the last faux pas you will ever make.
She snaps her fingers.
|next>[Continue]
]
](elseif: $selected_item is "List of Forms")[(if: $f_mathias_in_palace is true)[Mathias sees what I am about to show her and puts his hand on the paper to stop me.
I look at him. He signs to me as surreptitiously as he can.
$mathias_name She will kill us both to get that.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
](else:)[Delicia examines the object with polite interest.
The interest quickly transforms into strange intensity.
She stares at me for a moment.
$delicia_name This can...Mother will be cross...but I think this is...
She composes herself. She smiles. She snaps her fingers.
|next>[Continue]
]
](else:)[Delicia examines the object with polite interest, then smiles at me.
$delicia_name How lovely.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
]
](elseif: $sequence is 17)[Something stings me in the back of the neck.
I turn. No. Not stung. I was stabbed. The tea pixie hovers behind me holding a very, very tiny sword.
A sheen of green liquid coats its edge, which is also stained with my blood.
That's when the seizing starts.
(if: $selected_item is "Form 533P")[|death>[I die.]](else:)[|next>[Continue]]
](elseif: $sequence is 18)[The last thing I feel is Delicia kneeling down to take the List of Forms from my twitching hand.
The last thing I hear is her voice.
$delicia_name You have given me this realm, and for that, I am grateful.
|death>[I die.]
](elseif: $sequence is 19)[Eventually, Delicia finishes laughing.
$delicia_name No.
|return>[Continue]
](elseif: $sequence is 20)[
](elseif: $sequence is 21)[
]{
(click: ?first)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?how)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?killed)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?support)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?refuse)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?agree)[ (if: $f_mathias_in_palace is true)[(set: $sequence to 11)](else:)[(set: $sequence to 14)] (go-to: $currentPassage)]
(click: ?reveal)[(set: $sequence to 0)(go-to: "Titania Parlor Scene")]
(click: ?bye)[(set: $sequence to 0)(go-to: "Tea Room")]
}(if: $sequence is 0)[We arrive at the Summer Throne.
I tell Titania that I know who murdered Prince Blacktree.
|next>[Continue]
](elseif: $sequence is 1)[(if: $SpeedRun is true)[(if: $f_mab_state is "downstairs" and $f_took_lirana_bribe is false and $f_took_delicia_bribe is false)[Queen Titania brings all of the nobles to the Summer Throne.
She charges me to tell them all who killed Prince Blacktree.
Then Mab interrupts and requests that I actually present evidence.
|mabInterrupt>[Continue]
](else:)[Queen Titania brings all of the nobles to the Summer Throne.
She charges me to tell them all who killed Prince Blacktree.
|refresh>[Continue]
(set: $sequence to 5)
]
](else:)[$titania_name Delightful!
She gestures and moth-winged attendants appear |hide>[from behind columns and tapestries.](click: ?hide)[
//Do they just...hide there? All the time? Until she gestures?//]
$titania_name Go fetch everyone!
$titania_name This will be such fun.
|next>[Continue]
]
](elseif: $sequence is 2)[The fairy court gathers before the Summer Throne.
They all come quickly, they don't want to keep Queen Titania waiting.
(if: $f_mab_state is "downstairs")[Queen Titania notices Mab's presence.
$titania_name You've decided to join us! How wonderful.
I cannot decide if she sounds delighted or sardonic.
$titania_name I've found something amusing.
$mab_name So I see.
](else:)[One of the moth-winged attendants helpfully whispers their names to me as they enter.
So that I can accuse them of murder, even if I don't know them.
]The sun shines down like a spotlight.
Titania addresses the room.
|next>[Continue]
](elseif: $sequence is 3)[$titania_name Yesterday, my castle was home to murder.
$titania_name Most foul murder. Murder of kin.
$titania_name It was brutally done.
$titania_name It was beautifully done.
$titania_name I was so very impressed.
$titania_name I have sworn to lend my support to the murderer as Autumn Queen.
|next>[Continue]
](elseif: $sequence is 4)[(if: $f_mab_state is "downstairs" and $f_took_lirana_bribe is false and $f_took_delicia_bribe is false)[$titania_name Now.
Titania turns her sunshine gaze towards me.
$titania_name Tell us, sorceress. Who murdered...
$mab_name Wrong.
|mabInterrupt>[Continue]
](else:)[$titania_name Now.
Titania smiles like dawn and turns her sunshine gaze towards me.
$titania_name Tell us, sorceress.
$titania_name Who murdered Brokk Blacktree?
|next>[Continue]
]
](elseif: $sequence is 5)[(if: $f_took_delicia_bribe is true)[I answer:
|delicia>[Princess Dulla Delicia]
|gray1>[Princess Layla Lirana] (click: ?gray1)[//I have sworn an oath to a fairy noble.//]
|gray2>[Heir Nyx] (click: ?gray2)[//I cannot accuse anyone but Princess Dulla Delicia.//]
|gray3>[Lord Rayne Rinecoat] (click: ?gray3)[//This is not Princess Dulla Delicia.//]
(if: $f_xylia_revealed is "queen")[|gray4>[Liege Xylia Xynn] (click: ?gray4)[//This is not Princess Dulla Delicia.//]
]|gray4>[I don't know.] (click: ?gray4)[//This is not Princess Dulla Delicia.//]
](elseif: $f_took_lirana_bribe is true)[I answer:
|gray1>[Princess Dulla Delicia] (click: ?gray1)[//I have sworn an oath to a fairy noble.//]
|lirana>[Princess Layla Lirana]
|gray2>[Heir Nyx] (click: ?gray2)[//I cannot accuse anyone but Princess Layla Lirana.//]
|gray3>[Lord Rayne Rinecoat] (click: ?gray3)[//This is not Princess Layla Lirana.//]
(if: $f_xylia_revealed is "queen")[|gray4>[Liege Xylia Xynn] (click: ?gray4)[//This is not Princess Layla Lirana.//]
]|gray4>[I don't know.] (click: ?gray4)[//This is not Princess Layla Lirana.//]
](else:)[I answer:
|delicia>[Princess Dulla Delicia]
|lirana>[Princess Layla Lirana]
(if: $f_nyx_promise is "no claim")[|gray1>[Heir Nyx] (click: ?gray1)[//Nyx rescinded their claim on the murder.//]](else:)[|nyx>[Heir Nyx]]
(if: $f_rine_promise is "no claim")[|gray2>[Lord Rayne Rinecoat] (click: ?gray2)[//Rinecoat rescinded their claim on the murder.//]](else:)[|rine>[Lord Rayne Rinecoat]]
(if: $f_xylia_revealed is "queen")[|xylia>[Liege Xylia Xynn]
](if: $f_mathias_in_palace is true)[|mathias>[Lord Mathias Magnus]
]|noone>[I don't know.]
]
](elseif: $sequence is 6)[Princess Dulla Delicia twitters in delight, and then curtsies.
Princess Layla Lirana sighs deeply.
(if: $f_mathias_in_palace is true)[I can feel Mathias tense behind me.
]
|seasonChange>[Continue]
(set: $f_titania_support to "Princess Dulla Delicia")
](elseif: $sequence is 7)[Princess Layla Lirana had apparently been reading during the announcement.
But she hastily shuts her book as attention turns to her and smiles with satisfaction, waving a still somewhat bloody morning-star for everyone to see, as if to further prove her guilt.
Heir Nyx glares at her.
|seasonChange>[Continue]
(set: $f_titania_support to "Princess Layla Lirana")
](elseif: $sequence is 8)[Heir Nyx bows, drawing their rapier with a flourish of steel, displaying it for everyone to see.
Princess Lirana glares at them.
|seasonChange>[Continue]
(set: $f_titania_support to "Heir Nyx")
](elseif: $sequence is 9)[Lord Rayne Rinecoat smiles very slightly.
|seasonChange>[Continue]
(set: $f_titania_support to "Lord Rayne Rinecoat")
](elseif: $sequence is 10)[$delicia_name What? Seriously?
She's not the only one who seems incredulous.
Titania herself is clearly delighted by the unexpected twist.
|seasonChange>[Continue]
(set: $f_titania_support to "Liege Xylia Xynn")
](elseif: $sequence is 11)[$titania_name Hm!
$titania_name That would be an interesting twist.
$titania_name But no, it's not believable.
$titania_name He wasn't here.
$titania_name Someone else.
|choose>[Continue]
](elseif: $sequence is 12)[$titania_name No. That's boring.
$titania_name Pick someone.
|choose>[Continue]
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?choose)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?delicia)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?lirana)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?nyx)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?rine)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?xylia)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?mathias)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?noone)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?mabInterrupt)[(set: $sequence to 0)(go-to: "Mab Parlor Scene")]
(click: ?seasonChange)[(set: $sequence to 0)(go-to: "Season Change")]
}(if: $sequence is 0)[Princess Layla Lirana stares impatiently at me, finger keeping her place in the book in front of her.
|evidence>[Show her a piece of evidence.]
|quest>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|work>[$pisces_name What are you working on?]
|bye>[Finish talking to her.]
](elseif: $sequence is 1)[She looks up from her reading.
$lirana_name What do you want?
Her tone is clipped and distracted.
|next>[$pisces_name Queen Titania asked me to investigate who killed Prince Blacktree.]
](elseif: $sequence is 2)[$lirana_name Oh. I suppose that's important.
$lirana_name I did. By the way.
$pisces_name I see. Can you tell me your name?
$lirana_name Princess Layla Lirana.
$pisces_name May I ask you some questions?
$lirana_name Yes, but please be brief. I need to solve this formula.
(if: $f_mathias_in_palace is true)[|next>[Continue]](else:)[|return>[Continue]]
(set: $f_lirana_state to "present")
](elseif: $sequence is 3)[She seems to notice Mathias for the first time.
$lirana_name Mathias!
$lirana_name You're not dead.
She leans forward, curiosity in her eyes.
$lirana_name How did you get out of the Disposal Pit? What was it like?
|next>[Continue]
](elseif: $sequence is 4)[Mathias glances uncertainly from her to me. I interject.
$pisces_name We met in the Deep Web. I gave him a ride back up here.
$lirana_name Interesting! Where in the Deep Web?
$pisces_name Maybe we should talk about the murder first.
$lirana_name Oh right. Fine.
|return>[Continue]
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[$lirana_name Go ahead.
|how>[$pisces_name How did you kill Prince Blacktree?]
|killed>[$pisces_name Do you have evidence that you killed Prince Blacktree?]
|return>[I'm done asking questions.]
](elseif: $sequence is 7)[$lirana_name With this.
She taps a spiked morningstar, which had been partially concealed behind books.
$lirana_name We were by the Spring Throne. He attacked me because he is a brute. I killed him.
$lirana_name Then Nyx came along and was nonsensical and immature.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 8)[(if: $f_lirana_revealed_forensics is true)[$lirana_name I still have that forensics spell.
$lirana_name I will share it with you if you promise to tell Queen Titania that I killed Prince Blacktree.
](else:)[Lirana brightens.
$lirana_name Yes! I do have evidence.
She sorts through her books and comes out with a scroll.
$lirana_name Immediately after the murder I went out and bought a forensics spell at the goblin market and I...
She pauses, a thought catching up to her excitement. She speaks slowly.
$lirana_name I will share it with you if you promise to tell Queen Titania that I killed Prince Blacktree.
]
|next>[$pisces_name If it's a forensics spell and you killed him won't the information I get from it just confirm your story?]
|refuse>[$pisces_name I don't think so.]
|agree>[$pisces_name Sure. I promise to incriminate you in exchange for that spell.]
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
(set: $f_lirana_revealed_forensics to true)
](elseif: $sequence is 9)[$lirana_name I refuse to respond to that question on the grounds that my answer might not incriminate me.
$lirana_name Do you want the spell?
|refuse>[$pisces_name I don't think so.]
|agree>[$pisces_name Sure. I promise to incriminate you in exchange for that spell.](if: $f_mathias_in_palace is true)[
|allySpell>[$pisces_name I don't want the spell, but I'll incriminate you if you enter an alliance with Lord Mathias Magnus.]]
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 10)[Lirana shrugs.
$lirana_name Let me know if you change your mind.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 11)[Lirana looks surprised and pleased.
$lirana_name That's fantastic!
$lirana_name Here's the spell.
<span class="highlight">SPELL COMPILED
YOU CAN NOW CAST ''//Autocsi()//''</span>{
(set: $spells's "Autocsi"'s compiled to true)
(set: $spells's "Autocsi"'s part1_found to true)
(set: $f_took_lirana_bribe to true)
<script>playAudio("aa_compile");</script>
}
|urge>[Continue]
](elseif: $sequence is 12)[I surreptitiously check with Mathias before I make this offer.
He nods and thanks me silently.
|next>[Continue]
](elseif: $sequence is 13)[$pisces_name I don't want the spell, but I'll incriminate you if you enter an alliance with Lord Mathias Magnus.
Lirana looks surprised.
$lirana_name Mathias, you're looking for allies?
$lirana_name I guess that makes sense.
$lirana_name And I could use someone to guard me while I study now that...
$lirana_name Anyway.
$lirana_name Sure.
$lirana_name Let's draw up a contract.
|next>[Continue]
](elseif: $sequence is 14)[We all sit around the table and Mathias and Lirana draft a formal contract of alliance.
I interpret for Mathias, and Lirana realizes he can't hear. This doesn't seem to bother her.
$lirana_name I know a spell that can help with that.
Mathias nods, seeming faintly hopeful for the first time I've ever seen.
|urge>[Continue]
(set: $f_mathias_lirana_allies to true)
](elseif: $sequence is 15)[I sort through my inventory and decide what piece of evidence I should show to Lirana to try and provoke a response.
(display: "Inv In Place")
|return>[Nevermind.]
](elseif: $sequence is 16)[(if: $selected_item is "neutrality contract")[(if: $f_mathias_in_palace is true)[Mathias sees what I am about to show her and puts his hand on the contract to stop me.
I look at him. He signs to me:
$mathias_name She will kill you if she sees that.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
](else:)[Lirana looks over the object with barely concealed boredom.
Then her face scrunches up into a frown.
$lirana_name Queens curse it.
She stares at me for a moment, as if considering a fly that has just started buzzing around her head.
Then she picks up a steel morningstar from behind a stack of books and bludgeons me to death.
|death>[I die.]
]
](elseif: $selected_item is "Form 536W")[(if: $f_536W_state is "APPROVED" and $f_536W_season is "Winter" and $f_536W_snow is "yes")[Lirana's eyes light up.
$lirana_name A historical weather report!
She snatches it out of my hand.
As she reads, her eyes brighten more and more to a manic gleam.
$lirana_name A historical winter report! With snowflake diagrams!
(move: $inventory's "Form 536W" into $remove)
|liranaLeaves>[Continue]
](else:)[Lirana's eyes light up.
$lirana_name A historical weather report!
She snatches it out of my hand.
She reads it quickly, and her eyes quickly dim into disinterest.
$lirana_name Useless.
She tosses it back at me and returns to her work.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
]
](elseif: $selected_item is "List of Forms")[(if: $f_mathias_in_palace is true)[Mathias sees what I am about to show her and puts his hand on the paper to stop me.
I look at him. He signs to me as surreptitiously as he can.
$mathias_name She will kill us both to get that.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
](else:)[Lirana looks over the object with barely concealed boredom.
Then her eyes widen.
$lirana_name Holy shit.
She stares at me.
|next>[Continue]
]
](else:)[Lirana looks over the object with barely concealed boredom.
$lirana_name It's a thing.
|prev>[Show her something else.]
|return>[I'm done showing her things.]
]
](elseif: $sequence is 17)[Then she grabs her morningstar and leaps over the table.
She bludgeons me to death and carefully retrieves the paper, trying to clean flecks of my blood off as she starts to read it.
|death>[I die.]
](elseif: $sequence is 18)[I feel the sudden urge to go to the Summer Throne and talk to Titania.
$lirana_name You should be feeling the compulsion to complete your part of the deal setting in now.
$lirana_name That happens when you make promises to nobles.
$lirana_name Let's go to the throne room, then.
|reveal>[Continue]
](elseif: $sequence is 19)[$lirana_name I'm working on a mathematical formula for quantifying the relative uniqueness of snowflakes.
$lirana_name Queen Mab went up to her tower during midsummer and hasn't come down since.
$lirana_name But when Queen Mab oversees the Autumn election, people other than Delicia have a better chance of winning.
$lirana_name And the best way to get her out of her tower is to lure her down by doing complicated math proofs at the base of the stairs.
$lirana_name Unfortunately, I need snowflake diagrams to test my formula.
$lirana_name And getting historical weather reports from the Hall of Edicts is a nightmare.
$lirana_name So I've been presenting untested proofs, and so far she's not interested.
Lirana sighs.
|return>[Continue]
](elseif: $sequence is 20)[Lirana moves with frantic excitement.
She snaps papers up, inserts numbers into various formulas, checks her findings.
She changes a few things, checks them again.
She shrieks with delight.
She runs out of the library, clutching a piece of paper.(if: $f_mathias_in_palace is true)[
Mathias watches her go, then turns to me and signs:
$mathias_name: This is not unusual behavior for her.]
|bye>[All right then.]
(set: $f_lirana_state to "mab")(set: $f_mab_support to "Princess Layla Lirana")(set: $f_mab_state to "downstairs")
](elseif: $sequence is 21)[
]{
(click: ?first)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?how)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?killed)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?refuse)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?agree)[ (set: $sequence to 11) (go-to: $currentPassage)]
(click: ?allySpell)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?urge)[(set: $sequence to 18)(go-to: $currentPassage)]
(click: ?work)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?liranaLeaves)[(set: $sequence to 20)(go-to: $currentPassage)]
(click: ?reveal)[(set: $sequence to 0)(go-to: "Titania Parlor Scene")]
(click: ?bye)[(set: $sequence to 0)(go-to: "Palace Library")]
}<script>
function CalculateMoonPhase(){
var f_104M_day2 = getVar("f_104M_day2");
var f_104M_season = getVar("f_104M_season");
var value = "New";
if(f_104M_season == "Spring"){
if(f_104M_day2 == 1) value = "Waxing Crescent";
else if(f_104M_day2 == 2) value = "Waxing Gibbous";
else if(f_104M_day2 == 3) value = "Full";
else if(f_104M_day2 == 4) value = "Waning Gibbous";
else if(f_104M_day2 == 5) value = "Waning Crescent";
else if(f_104M_day2 == 6) value = "Blood";
else if(f_104M_day2 == 7) value = "Blue";
else if(f_104M_day2 == 8) value = "Cheese";
else if(f_104M_day2 == 9) value = "Man";
else if(f_104M_day2 == 0) value = "New";
}else if(f_104M_season == "Summer"){
if(f_104M_day2 == 5) value = "Waxing Crescent";
else if(f_104M_day2 == 6) value = "Waxing Gibbous";
else if(f_104M_day2 == 7) value = "Full";
else if(f_104M_day2 == 8) value = "Waning Gibbous";
else if(f_104M_day2 == 9) value = "Waning Crescent";
else if(f_104M_day2 == 0) value = "Blood";
else if(f_104M_day2 == 1) value = "Blue";
else if(f_104M_day2 == 2) value = "Cheese";
else if(f_104M_day2 == 3) value = "Man";
else if(f_104M_day2 == 4) value = "New";
}else if(f_104M_season == "Winter"){
if(f_104M_day2 == 7) value = "Waxing Crescent";
else if(f_104M_day2 == 8) value = "Waxing Gibbous";
else if(f_104M_day2 == 9) value = "Full";
else if(f_104M_day2 == 0) value = "Waning Gibbous";
else if(f_104M_day2 == 1) value = "Waning Crescent";
else if(f_104M_day2 == 2) value = "Blood";
else if(f_104M_day2 == 3) value = "Blue";
else if(f_104M_day2 == 4) value = "Cheese";
else if(f_104M_day2 == 5) value = "Man";
else if(f_104M_day2 == 6) value = "New";
} else {
if(f_104M_day2 == 3) value = "Waxing Crescent";
else if(f_104M_day2 == 4) value = "Waxing Gibbous";
else if(f_104M_day2 == 5) value = "Full";
else if(f_104M_day2 == 6) value = "Waning Gibbous";
else if(f_104M_day2 == 7) value = "Waning Crescent";
else if(f_104M_day2 == 8) value = "Blood";
else if(f_104M_day2 == 9) value = "Blue";
else if(f_104M_day2 == 0) value = "Cheese";
else if(f_104M_day2 == 1) value = "Man";
else if(f_104M_day2 == 2) value = "New";
}
console.log(f_104M_season);
console.log(f_104M_day2);
console.log(value);
setVar("moon_phase",value);
$("#moon_phase").html(value);
}
CalculateMoonPhase();
</script>(if: $f_season is "autumn")[I ask Mathias what happens next.
(if: $f_autumn_queen is "Princess Dulla Delicia")[$mathias_name Delicia is Queen.
$mathias_name That will be difficult, but it's not exactly an unusual situation.
$mathias_name We've endured it before.
](elseif: $f_autumn_queen is "Princess Layla Lirana")[$mathias_name Lirana is Queen.
$mathias_name So we're going to see the world dedicated to a great number of strange experiments and explorations.
$mathias_name An interesting Autumn, I'm sure.
](elseif: $f_autumn_queen is "Heir Nyx")[$mathias_name Nyx is Queen.
$mathias_name I have no idea what to expect.
](elseif: $f_autumn_queen is "Lord Rayne Rinecoat")[$mathias_name Rinecoat is Queen.
$mathias_name So I suspect there will be many royal hunts.
$mathias_name He doesn't focus on much else.
](elseif: $f_autumn_queen is "Liege Xylia Xynn")[$mathias_name Xylia is Queen.
$mathias_name So I think everything will be fine.
$mathias_name At least for a season.
](if: $f_mathias_mab_allies is true)[$mathias_name I will be safe, regardless.
$mathias_name It was exceptionally generous of you to spend a boon on me.
](if: $f_nyx_promise is "mathias")[$mathias_name Nyx will be an...interesting ally.
](if: $f_mathias_lirana_allies is true)[$mathias_name Lirana should be able to come up with something inventive to assist me with my difficulty hearing.
](if: $f_rine_promise is "mathias")[$mathias_name I am not fond of Rinecoat, but it will be good to have someone to watch my back.
]
|returnBase>[Finish talking to Mathias.]
](else:)[(if: $sequence is 0)[We're alone, so I feel safe talking to Mathias for a moment.
I pull out a piece of paper and a pencil so I can ask detailed questions.
(if: $f_xylia_revealed is "unrevealed")[|murder>[Ask him who he thinks murdered Prince Brokk Blacktree.]
](elseif: $f_xylia_revealed is "queen")[|xyliaQueen>[Talk to him about making Xylia queen.]
]|nobles>[Ask him what he can tell me about the nobility.]
|queen>[Ask him how becoming a Queen works.]
|titles>[Ask him about what the different titles mean.]
|returnBase>[Finish talking to Mathias.]
](elseif: $sequence is 1)[$mathias_name I am not sure. Any noble is fully capable of murder.
$mathias_name I find it unlikely that Princess Lirana murdered him.
$mathias_name She and Blacktree have often been allies.
$mathias_name Similarly, I doubt Lord Rinecoat would be bold enough to attempt it on his own.
$mathias_name Heir Nyx is certainly capable of planning and executing it.
$mathias_name But it was probably Princess Delicia. She's the most...enthusiastic about removing competition.
|return>[Continue]
](elseif: $sequence is 2)[$mathias_name There are three tiers of royalty.
$mathias_name The highest tier are the Queens. Queen Mab and Queen Titania. And whoever is temporary Queen during the interim seasons.
$mathias_name The next most powerful are the direct heirs--the children of the Queens.
$mathias_name Currently active in the palace are Princess Layla Lirana, Princess Dulla Delicia, and Heir Nyx.
$mathias_name The lowest tier are those of royal blood--we who are indirectly descended from one of the Queens.
$mathias_name We are Lord Rayne Rinecoat, Liege Xylia Xynn, and, myself, Lord Mathias Magnus.
|titania>[Ask about Queen Titania.]
|mab>[Ask about Queen Mab.]
|lirana>[Ask about Princess Layla Lirana.]
|delicia>[Ask about Princess Dulla Delicia.]
|nyx>[Ask about Heir Nyx.]
|rinecoat>[Ask about Lord Rayne Rinecoat.]
|xynn>[Ask about Liege Xylia Xynn.]
|magnus>[Ask about Lord Mathias Magnus.]
|return>[Ask something else.]
](elseif: $sequence is 3)[$mathias_name Queen Titania, who is Light and Chaos.
$mathias_name By Titania's influence, Fairyland is colorful, varied, and filled with infinite potential.
$mathias_name Her season is Summer, and she is currently the dominant Queen.
$mathias_name That means her word is law, to our society, and the physical world.
$mathias_name She enjoys people.
$mathias_name I suppose it is most accurate to say, she is amused by them.
$mathias_name It is best to keep her amused.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 4)[$mathias_name Queen Mab who, is Darkness and Order.
$mathias_name By Mab's will, Fairyland is utterly bound by law.
$mathias_name Her season is Winter, and she tends to stay in her tower when she is not the dominant Queen.
$mathias_name The concepts of truth and law are very important to her, so people often appeal to her for justice.
$mathias_name It is a common error to mistake law for justice.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 5)[$mathias_name Princess Layla Lirana is the daughter of Queen Mab and Euler's Identity.
$mathias_name Lirana is probably the most bookish of us, and is almost always in the library to the east of the Autumn throne.
$mathias_name She is mostly uninterested in politics, but enjoys being Queen as it affords her more power with which to pursue her projects.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 6)[Mathias shudders.
$mathias_name Princess Dulla Delicia is the daughter of Queen Titania and the Demoness Scordatura.
$mathias_name She is certainly the most actively murderous of us all.
$mathias_name She is viciously political and spends most of Winter and Summer plotting to be Queen.
$mathias_name She is a favorite of Titania, so she often succeeds.
$mathias_name Fortunately, when Queen, she is forbidden from taking action to eliminate the rest of us.
$mathias_name But she spends the off seasons constantly attempting to do that.
$mathias_name You will find her in the tea room, to the east of the Spring Throne.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 7)[$mathias_name Heir Nyx is the child of Queen Mab and a mortal poet.
$mathias_name They are powerful, but relatively young, and mostly occupied with their own thoughts.
$mathias_name They have a tendency towards morbidity.
$mathias_name I do not know them very well.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 8)[$mathias_name Lord Rayne Rinecoat is one of Mab's great-grandchildren by a mortal line.
$mathias_name He is probably the most human-blooded of all the current nobility.
$mathias_name As such, he tends to be cautious and on his guard.
$mathias_name I mean, more so than the rest of us.
$mathias_name I know he greatly enjoys hunting, and often spends time in the trophy room, to the west of the Autumn Throne.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 9)[Mathias smiles.
$mathias_name Liege Xylia Xynn is Titania's grandchild by Aluin Dayseeker, an elf from the westlands.
$mathias_name I would judge them the gentlest of the current nobility.
$mathias_name They mostly want to be left alone to embroider.
$mathias_name I often wonder why they don't leave the palace to live in peace.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 10)[$mathias_name I am Mab's grandson by Drothgar, the frost giant.
$mathias_name I am here, I suppose, out of a sense of obligation.
$mathias_name I was raised on the principle that a leader owes fealty to their servants, as our servants do to us.
$mathias_name That is...not a popular opinion here.
$mathias_name I try to interject it during the rare seasons when I have been Queen.
$mathias_name I annoy Delicia.
$mathias_name Obviously.
|nobles>[Ask about another noble.]
|return>[Ask something else.]
](elseif: $sequence is 11)[$mathias_name In Winter Mab is the Queen. And in Summer, Titania.
$mathias_name But Spring and Fall are strange, in-between times.
$mathias_name At the end of Summer and Winter, any noble present in the palace may lend support to someone else's bid for Queenship.
$mathias_name The noble with the most support becomes Queen.
|next>[Continue]
](elseif: $sequence is 12)[$mathias_name We do not have equal power in this event.
$mathias_name Queen Mab and Titania have massive influence. You need the support of a Queen to become Queen.
$mathias_name But when the Queens disagree, which they usually do, it comes down to the nobility.
$mathias_name The first generation children of the Queens, the Princes, Princesses, and Heirs, each have a significant amount of influence.
$mathias_name The other nobles, the Lords, Ladies, and Lieges, have a smaller amount of influence--approximately half as much as the heirs.
$mathias_name So to become Queen, you must have the support of a Queen, and more powerful nobles on your side than the other Queen's chosen.
|return>[Ask something else.]
](elseif: $sequence is 13)[$mathias_name The title Queen means that you are the ruler of a Season.
$mathias_name Mab and Titania are always Queens. Any noble may become a Queen for a Season if they accrue enough support.
$mathias_name Those who are direct children of Mab or Titania are called Princes, Princesses, and Heirs.
$mathias_name Anyone others who have the blood of the Queens, but are not direct children, are called Lords, Ladies, and Lieges.
|return>[Ask something else.]
](elseif: $sequence is 14)[$mathias_name We should discuss that with Xylia.
|return>[Continue]
](elseif: $sequence is 15)[(if: $f_talked_love_rumor is true)[Mathias turns a faintly violet echo of a serious blush.
$mathias_name I am...reflecting on the situation.
|return>[Continue]
](else:)[Mathias scratches his horns.
$mathias_name I have always been fond of Liege Xynn.
$mathias_name Xylia.
$mathias_name We have often been allies.
There is wistful anxiety in his voice.
(if: $f_heard_love_rumor is true)[|next>[Mention the rumor about them being in love.]
]|return>[Drop the subject.]
]](elseif: $sequence is 16)[Mathias blushes purple again. It's a very vivid color.
$mathias_name There are rumors about everything.
|next>[$pisces_name Is Xylia the reason you came back to Fairyland?]
|return>[Drop the subject.]
](elseif: $sequence is 17)[Mathias rubs his face, covering his eyes.
$mathias_name Perhaps.
|next>[$pisces_name That seems more than "fond."]
](elseif: $sequence is 18)[$mathias_name It's not generally wise to romance other nobles.
$pisces_name It's not generally wise to go back to a place where someone tried to kill you, but here you are.
$pisces_name If you're going to be unwise, you may as well be unwise entirely.
|next>[Continue]
](elseif: $sequence is 19)[$mathias_name You...have a good point.
Mathias is rubbing his temples, still mildly purple.
$mathias_name Let me...I will think about this.
$mathias_name Thank you.
(set: $f_talked_love_rumor to true)
|return>[Continue]
](elseif: $sequence is 20)[
](elseif: $sequence is 21)[
](elseif: $sequence is 22)[
](elseif: $sequence is 23)[
](elseif: $sequence is 24)[
]{
(click: ?murder)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?titania)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?mab)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?lirana)[(set: $sequence to 5)(go-to: $currentPassage)]
(click: ?delicia)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?nyx)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?rinecoat)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?xynn)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?magnus)[(set: $sequence to 10)(go-to: $currentPassage)]
(click: ?queen)[(set: $sequence to 11)(go-to: $currentPassage)]
(click: ?titles)[(set: $sequence to 13)(go-to: $currentPassage)]
(click: ?xyliaQueen)[(set: $sequence to 14)(go-to: $currentPassage)]
(click: ?fond)[(set: $sequence to 15)(go-to: $currentPassage)]
}](if: $sequence is 0)[Lord Rayne Rinecoat watches me slantwise, still (if: $f_rine_corpse is "")[fletching arrows.](else:)[working on the $f_rine_corpse.]
(if: $f_rine_claim is "checked")[|lineOfSight>[$pisces_name I went to the garden. There don't seem to be any bushes that have line of sight on the Spring Throne.]
](if: $f_xylia_revealed is "queen" and $f_rine_promise is not "xylia")[|support>[$pisces_name Would you be willing to support someone else as Queen?]
]|evidence>[Show him a piece of evidence.]
|quest>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|bye>[Finish talking to him.]
](elseif: $sequence is 1)[The man watches me approach, eyes narrow.
$rine_name Who are you and what do you want?
|next>[$pisces_name Queen Titania asked me to investigate who killed Prince Blacktree.]
](elseif: $sequence is 2)[He grunts.
$rine_name Fine.
$rine_name I did.
$rine_name Rayne Rinecoat.
$rine_name Ask your questions.
(if: $f_mathias_in_palace is true)[|next>[Continue]](else:)[|return>[Continue]]
(set: $f_rine_state to "present")
](elseif: $sequence is 3)[He glances briefly at Mathias.
He seems possibly, slightly surprised.
He doesn't say anything.
|return>[Continue]
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[$rine_name Fine.
|how>[$pisces_name How did you kill Prince Blacktree?]
|killed>[$pisces_name Do you have evidence that you killed Prince Blacktree?]
|return>[I'm done asking questions.]
](elseif: $sequence is 7)[$rine_name I was in the garden, when I saw Brokk by the Spring Throne.
$rine_name He did not see me, so I hid behind a bush, took aim, and shot him through the throat.
(if: $f_rine_claim is "Veinseeker")[$rine_name I could not see him from behind the bush, but I carried Veinseeker.
$rine_name A magical bow that seeks the throat of your prey.
$rine_name With its magic, I shot blind, but still hit my mark.
]$rine_name But before I could go to my quarry, Nyx and Lirana arrived and pretended it was theirs.
$rine_name Thieves.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
(if: $f_rine_claim is "unmade" or $f_rine_claim is 0)[(set: $f_rine_claim to "made")]
](elseif: $sequence is 8)[$rine_name My arrows are blackwood, with heads made of dragon bone, fletched with raven feathers.
$rine_name You will find one in Blacktree's neck.
$rine_name Is that enough evidence?
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 9)[Rinecoat seems confused for a moment, like he doesn't understand why I'm telling him this.
Then he realizes--this fact contradicts his story about shooting Prince Blacktree from the garden.
He scowls.
$rine_name I could not see him from behind the bush, but I carried Veinseeker.
$rine_name A magical bow that seeks the throat of your prey.
$rine_name With its magic, I shot blind, but still hit my mark.
|return>[Continue]
(if: $f_rine_claim is "checked")[(set: $f_rine_claim to "Veinseeker")]
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 15)[I sort through my inventory and decide what piece of evidence I should show to Rinecoat to try and provoke a response.
(display: "Inv In Place")
|return>[Nevermind.]
](elseif: $sequence is 16)[(if: $selected_item is "neutrality contract")[Rinecoat smirks as her reads the paper.
$rine_name This proves Lirana didn't do it.
$rine_name You should show it to the Queen.
|prev>[Show him something else.]
|return>[I'm done showing him things.]
](elseif: $selected_item is "broken arrow")[Rinecoat nods.
$rine_name Yes. That's mine.
$rine_name I killed him.
|prev>[Show him something else.]
|return>[I'm done showing him things.]
](elseif: $selected_item is "grindylow corpse" or $selected_item is "squick corpse")[Rinecoat examines the corpse.
$rine_name That would make an impressive trophy.
(if: $f_rine_corpse is "")[He looks up, as if imagining it on the wall.
$rine_name I'll trade you for it. Three death?
|threeDeath>[Accept]
(if: $f_mathias_in_palace is true)[|mathiasAlly>[$pisces_name I will give it to you if you ally with Mathias.]
](if: $f_xylia_revealed is "queen")[|enchantXylia>[$pisces_name I will give it to you if you support Liege Xylia as Queen.]
]|stopclaim>[$pisces_name I will give it to you if stop claiming you murdered Prince Blacktree.]
|return>[Refuse]
](else:)[$rine_name But I don't want another trophy so soon.
$rine_name No one would believe that.
|prev>[Show him something else.]
|return>[I'm done showing them things.]
]
](elseif: $selected_item is "savaged corpse")[Rinecoat examines the corpse.
$rine_name I can't even tell what that is.
|prev>[Show him something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item contains "corpse")[Rinecoat examines the corpse.
$rine_name That's not impressive enough to make a trophy out of.
|prev>[Show him something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "dust")[(if: $inventory's "dust"'s description contains "Veinseeker" and $f_rine_claim is "Veinseeker")[Rinecoat shrugs.
$rine_name It's dust?
$pisces_name From on top of Veinseeker.
$pisces_name Which you claim to have used yesterday.
|disprove>[Continue]
](else:)[Rinecoat shrugs.
$rine_name It's dust?
|prev>[Show him something else.]
|return>[I'm done showing him things.]
]
](else:)[Rinecoat looks over the object.
He shrugs indifferently.
|prev>[Show him something else.]
|return>[I'm done showing him things.]
]
](elseif: $sequence is 17)[Rinecoat stares at the dust, and then looks at the bow hanging on the wall which was instrumental to his claim to have murdered Prince Blacktree.
$rine_name Fuck.
Then he turns away from me and starts fletching arrows again.
(set: $f_rine_state to "ignoring")
|bye>[Continue]
](elseif: $sequence is 18)[Rinecoat seems surprised at the question. He considers it.
$rine_name I suppose.
$rine_name Give me something for it.
$pisces_name What do you want?
$rine_name Trophies.
$rine_name The bodies of great beasts.
|evidence>[Show him something.]
|next>[$pisces_name If you're not the one to kill the animal, doesn't that take the point away from having a trophy?]
|return>[Continue]
](elseif: $sequence is 19)[Rinecoat shrugs.
|evidence>[Show him something.]
|return>[Continue]
](elseif: $sequence is 20)[Rinecoat pulls out a number of knives and scrapes bits of death off of their edges.
He manages to scrape together three motes, and gives them to me.
{(set: $mm_to_change to "death")
(set: $mm_value to 3)
(display: "update mm")}
|giveCorpse>[Give him the corpse.]
](elseif: $sequence is 21)[He shrugs.
$rine_name Fine. I didn't kill Prince Blacktree.
$rine_name Probably wouldn't have gotten credit anyway.
(set: $f_rine_promise to "no claim")
|giveCorpse>[Give him the corpse.]
](elseif: $sequence is 22)[I surreptitiously warn Mathias about the conversation before making the request. Rinecoat looks surprise.
$rine_name Mathias?
He looks over at the other noble.
$rine_name I guess you can fight.
He shrugs.
$rine_name Fine. A year and a day. We can have an alliance.
(set: $f_rine_promise to "mathias")
|giveCorpse>[Give him the corpse.]
](elseif: $sequence is 23)[$rine_name Weird choice.
$rine_name But I probably won't win anyway.
$rine_name Fine. I'll support Xylia Xynn as Queen for this season.
(set: $f_rine_promise to "xylia")
|giveCorpse>[Give him the corpse.]
](elseif: $sequence is 24)[I give him the corpse.
(move: $inventory's $selected_item into $remove)(set: $f_rine_corpse to $selected_item)//Lost $selected_item.//
Rinecoat immediately starts skinning it.
|return>[Continue]
](elseif: $sequence is 25)[
](elseif: $sequence is 26)[
]{
(click: ?first)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?how)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?killed)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?lineOfSight)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?disprove)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?support)[(set: $sequence to 18)(go-to: $currentPassage)]
(click: ?threeDeath)[(set: $sequence to 20)(go-to: $currentPassage)]
(click: ?stopclaim)[(set: $sequence to 21)(go-to: $currentPassage)]
(click: ?mathiasAlly)[(set: $sequence to 22)(go-to: $currentPassage)]
(click: ?enchantXylia)[(set: $sequence to 23)(go-to: $currentPassage)]
(click: ?giveCorpse)[(set: $sequence to 24)(go-to: $currentPassage)]
(click: ?bye)[(set: $sequence to 0)(go-to: "Trophy Room")]
}(if: $sequence is 0)[Liege Xylia Xynn smiles uncertainly at me, still holding their embroidery.
Their needle has floated up to point towards me, as if it's paying attention too.
(if: $f_xylia_revealed is "unrevealed")[|evidence>[Show them a piece of evidence.]
|quest>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|election>[$pisces_name Could you explain the politics of this situation?]
](if: $f_xylia_revealed is "queen")[|xyliaQueen>[Talk about making Xylia queen.]
|election2>[$pisces_name Can you go over how choosing a Queen works again?]
]|bye>[Finish talking to them.]
](elseif: $sequence is 1)[The person puts down their embroidery as I approach.
Their needle floats up to point towards me, as if it's paying attention too.
$xylia_name Hello. Can I help you?
|next>[$pisces_name Queen Titania asked me to investigate who killed Prince Blacktree.]
](elseif: $sequence is 2)[$xylia_name Oh.
They hesitate. Their needle twitches.
$xylia_name Well. I'll tell you what I can.
$xylia_name I wasn't there.
|next>[$pisces_name You're saying you didn't commit the murder?]
(set: $f_xylia_state to "present")
](elseif: $sequence is 3)[They shake their head, and their needle moves side-to-side in concert.
$xylia_name No I didn't.
$xylia_name I'm not the murdering sort, you see.
$xylia_name Sorry.
They pause, then smile embarrassedly.
$xylia_name I suppose that's a silly thing to be sorry for. Sorry.
|return>[Continue]
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[$xylia_name Okay. If it will help.
|alive>[$pisces_name When was the last time you saw Prince Blacktree alive?]
|nobles>[$pisces_name Did you see any other nobility yesterday?]
|motive>[$pisces_name Would any of the nobility have a reason not to kill Prince Blacktree?]
|return>[I'm done asking questions.]
](elseif: $sequence is 7)[$xylia_name Yesterday, I'm sure.
They think for a moment. The floating needle quivers.
$xylia_name He, um, had tea with Princess Delicia.
$xylia_name I think I saw him going to that.
$xylia_name That was, um, around lunchtime.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 8)[$xylia_name Not many.
$xylia_name I try to avoid them, you see.
$xylia_name Safer that way.
$xylia_name I saw Prince Blacktree going to lunch with Delicia.
$xylia_name I think I heard Nyx in the kitchen.
$xylia_name Someone was screaming, anyway.
$xylia_name Sorry I'm not more helpful.
Their needle dips apologetically.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 9)[$xylia_name Oh no.
$xylia_name We're all killing each other all the time.
$xylia_name That's sort of the way of things.
They smile as if they'd just made a joke that they're aware isn't very funny.
|return>[Continue]
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 15)[I sort through my inventory and decide what piece of evidence I should show to Xylia.
(display: "Inv In Place")
|return>[Nevermind.]
](elseif: $sequence is 16)[(if: $selected_item is "needle and thread")[I take the needle and thread out of my inventory.
As soon as I do, I feel the needle tugging gently against my grip.
I release it.
Certain as a magnet being drawn north, the needle floats to Xylia, coming to rest in an attentive hover over the embroidery hoop.
Xylia's eyes go wide when they see it.
|next>[$pisces_name Do you know where I found that needle?]
(set: $f_xylia_revealed to "no secret")
](elseif: $selected_item is "neutrality contract")[Xylia looks surprised as they read the paper.
$xylia_name Oh.
$xylia_name That explains that, I suppose.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "List of Forms")[Xylia's eyes go wide as they read the paper.
They almost throw it back at me, like it's dangerous to hold.
$xylia_name That's! Um! Don't show anyone that!
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "broken arrow")[$xylia_name That belongs to Rinecoat.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](else:)[Xylia examines the object.
$xylia_name I'm afraid I don't know what to say about that.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
]
](elseif: $sequence is 17)[Xylia nods, expression tight.(if: $f_mathias_in_palace is true)[
Mathias looks from them to me, confused at the sudden change in body language.]
|next>[$pisces_name Would you please explain why I found your needle and thread inside the brain of the murder victim?]
](elseif: $sequence is 18)[Xylia speaks so softly I can barely hear them.
$xylia_name I killed him.
Using the thread, I pull the needle back into my inventory. It is a murder weapon, after all.
(if: $f_mathias_in_palace is true)[|next>[Continue]](else:)[|skip>[Continue]]
](elseif: $sequence is 19)[I communicate this revelation to Mathias.
It requires two attempts--he has difficulty understanding the meaning more than the words. He rounds on Xylia.
$mathias_name You //what//?
He's not quite yelling. He sounds much more frightened than angry.
Xylia flinches. Mathias immediately gentles his tone.
$mathias_name I'm sorry. But //why//?
|next>[Continue]
](elseif: $sequence is 20)[$xylia_name He attacked me. By the Spring Throne.
(if: $f_mathias_in_palace is true)[She glances back to me.
]$xylia_name He did that sometimes. To everyone.
$xylia_name I usually ran away. I'm quick.
$xylia_name He knew he wouldn't get me.
$xylia_name He just liked to scare me.
$xylia_name He was a bully.
They clench their hands into fists. The needle floating beside them begins to tremble.
$xylia_name And it just made me so ANGRY.
|next>[Continue]
](elseif: $sequence is 21)[$xylia_name We were by the Spring Throne.
$xylia_name That was my mother's throne. She was the Spring Queen for twenty season in a row.
$xylia_name She was //good//.
$xylia_name She was never a bully.
$xylia_name And Prince Blacktree just liked to scare people and be powerful and he was doing that in front of my mother's throne.
$xylia_name And I was so angry.
|next>[Continue]
](elseif: $sequence is 22)[They take a deep, steadying breath.(if: $f_mathias_in_palace is true)[
Mathias looks unbearably concerned, but says nothing, waiting for them to continue.
I hope I'm translating this right.]
|next>[Continue]
](elseif: $sequence is 23)[$xylia_name People don't understand that small things can be dangerous.
They glance up at the tiny, silver needle.
$xylia_name People don't understand I can be dangerous.
$xylia_name And that is part of why I survive.
$xylia_name So, I can't tell anyone what happened.
$xylia_name That would make me a target, you see?(if: $f_mathias_in_palace is true)[
Mathias nods.]
|next>[Continue]
](elseif: $sequence is 24)[$xylia_name Please don't let them know.
There's a tense, pleading not in their voice.
$xylia_name I won't survive it.
$xylia_name Not if they see me as serious competition.
$xylia_name Not if they know about my needles.
|secret>[$pisces_name I understand. I'll keep your secret.]
|refuseSecret>[$pisces_name I'm not comfortable making a promise.]
|skip>[$pisces_name What if it made you a Queen?]
](elseif: $sequence is 25)[$xylia_name Thank you. Thank you.
They laugh, relieved.
$xylia_name Good job solving the mystery.
$xylia_name Sorry you don't get to tell anyone.
|bye>[Continue]
(set: $f_xylia_revealed to "secret")
](elseif: $sequence is 300)[$xylia_name ...I can understand not wanting to swear an oath to a noble.
$xylia_name But please, still, don't tell anyone.
|bye>[Continue]
(set: $f_xylia_revealed to "no secret")
](elseif: $sequence is 26)[$xylia_name What?(if: $f_mathias_in_palace is true)[
$mathias_name What do you mean?]
|next>[$pisces_name Queen Titania is giving her support to the murder. If I reveal you, you'll have her support. You could become the Spring Queen.]
](elseif: $sequence is 27)[Xylia considers this.
(if: $f_mathias_in_palace is true)[They glance at Mathias, then back to me.
$xylia_name The murder has divided everyone.
$xylia_name They're all trying to win themselves, so I don't think there's anyone who will vote for anyone else right now.
$xylia_name If Titania supported me...
Then their face clouds.
$xylia_name But if Mab supported anyone else, they would win.
$xylia_name I would need Titania's support, and for Mab not to support anyone else.
|next>[$pisces_name Let me see what I can do.]
](else:)[$xylia_name The murder has divided everyone.
$xylia_name They're all trying to win themselves, so I don't think there's anyone who will vote for anyone else right now.
$xylia_name If Titania supported me...
Then their face clouds.
$xylia_name But if Mab supported anyone else, they would win.
$xylia_name I would need Titania's support, and for Mab not to support anyone else.
$xylia_name I don't...
$xylia_name ...I wish Mathias were here.
$xylia_name I don't know.
|pressure>[$pisces_name You could be like your mother. Continue her legacy.]
(if: $f_spoke_david is true)[|gnome>[$pisces_name I know some gnomes in the city who could really use a Queen like you.]
]|neutral>[$pisces_name It's up to you.]{
(click: ?pressure)[(set: $sequence to 100)(go-to: $currentPassage)]
(click: ?neutral)[(set: $sequence to 101)(go-to: $currentPassage)]
(click: ?gnome)[(set: $sequence to 102)(go-to: $currentPassage)]
}
]
](elseif: $sequence is 100)[$xylia_name Fuck.
$xylia_name No pressure, or anything.
$xylia_name No, I'm not like her.
$xylia_name I can't be. I'm sorry.
$xylia_name Please. Say you'll tell no one.
|secret>[$pisces_name I understand. I'll keep your secret.]
|refuseSecret>[$pisces_name I'm not comfortable making a promise.]
](elseif: $sequence is 101)[$xylia_name No. Thank you for the thought, but it's not worth it.
$xylia_name Maybe if Mathias were...
They flinch.
$xylia_name Mustn't think like that.
$xylia_name No. There's no point in that.
$xylia_name Please. Say you'll tell no one.
|secret>[$pisces_name I understand. I'll keep your secret.]
|refuseSecret>[$pisces_name I'm not comfortable making a promise.]
](elseif: $sequence is 102)[$xylia_name Gnomes? What do you mean?
$pisces_name There's a group of, ah, Underfoot Individuals petitioning to make the palace more accessible.
$pisces_name They're hoping to make changes this Autumn.
$xylia_name I had no idea.
$pisces_name They need someone in power who will listen to them.
$xylia_name Ha. So, not Delicia.
$xylia_name Or...really anyone.
They lapse into thought.
|next>[Continue]
](elseif: $sequence is 103)[$xylia_name I'm not certain about this idea, but...
$xylia_name Yes. If I were Queen, there are some very important things I could do.
$xylia_name Even if I only had a season.
$xylia_name Okay. I'm willing to try.
|xyliaQueen>[Continue]
(set: $f_xylia_revealed to "queen")
](elseif: $sequence is 200)[Xylia starts.
$xylia_name You're asking me about politics?
$pisces_name Yes. You seem the least invested, so I think I'll get the most honest answer from you.
Xylia laughs softly.
$xylia_name I suppose that makes sense. And you should know about this.
$xylia_name Since you're sort of in the middle of it.
They set down their embroidery for a moment.
|next>[Continue]
](elseif: $sequence is 201)[$xylia_name Okay. So.
$xylia_name In Winter Mab is Queen. In Summer, Titania is Queen.
$xylia_name But Spring and Autumn are the seasons when they rest.
$xylia_name At the beginning of Autumn, any noble present in the palace may lend power to someone's bid for Queenship.
$xylia_name The noble with the most power behind them becomes Queen.
|next>[Continue]
](elseif: $sequence is 202)[$xylia_name Queen Mab and Titania are very powerful. You need one of them to support you to become Queen.
$xylia_name But the Queens almost always disagree, and then the nobles become important.
$xylia_name The first generation children of the Queens, the Princes, Princesses, and Heirs, have a lot of power.
$xylia_name The other nobles, the Lords, Ladies, and Lieges, have a smaller amount of power--approximately half as much as the heirs.
$xylia_name So to become Queen, you must have the support of a Queen, and more powerful nobles on your side than the other Queen's chosen.
|next>[Continue]
](elseif: $sequence is 203)[$xylia_name The politics can be intense.
$xylia_name And dangerous.
$xylia_name That's why I stay out of them.
$xylia_name And...that's how picking a Queen works.
Xylia smiles lopsidedly at me.
|return>[$pisces_name Thank you.]
](elseif: $sequence is 28)[$xylia_name I'm not certain about this plan, but...
They glance at Mathias again.
$xylia_name If I were Queen, there are some very important things I could do.
$xylia_name Even if I only had a season.
$xylia_name I would be willing to try.
|return>[Continue]
(set: $f_xylia_revealed to "queen")
](elseif: $sequence is 29)[(if: $f_mathias_in_palace is true)[Mathias, ]Xylia and I review what we know:
To become Queen, Xylia must have Titania's support and Mab must not support someone else.
To get Queen Titania's support, I have to accuse Xylia of being the murder.
(if: $f_mab_support is "Lirana")[Mab is supporting Lirana.](elseif: $f_mab_support is "Lirana?")[Mab is supporting Lirana, but is willing to withdraw that support if I correctly solve the murder.](else:)[We do not know who Mab is supporting.]
Most of the nobles will be supporting themselves.
(if: $f_mathias_in_palace is true)[Mathias is supporting Xylia.
](if: $f_rine_promise is "xylia")[Rinecoat is supporting Xylia.
](if: $f_nyx_promise is "xylia")[Nyx is supporting Xylia.
]
If I need it, Xylia can give me a |election2>[refresher on how electing a Queen works.]
|return>[Continue]
](elseif: $sequence is 30)[
](elseif: $sequence is 31)[
]{
(click: ?first)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?alive)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?nobles)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?motive)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?secret)[(set: $sequence to 25)(go-to: $currentPassage)]
(click: ?refuseSecret)[(set: $sequence to 300)(go-to: $currentPassage)]
(click: ?xyliaQueen)[ (set: $sequence to 29) (go-to: $currentPassage)]
(click: ?explain)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?election)[(set: $sequence to 200)(go-to: $currentPassage)]
(click: ?election2)[(set: $sequence to 201)(go-to: $currentPassage)]
(click: ?bye)[(set: $sequence to 0)(go-to: "Solarium")]
}(if: $sequence is 0)[Heir Nyx stares across the pit at me, kicking their feet against its edge, fiddling with their $f_nyx_instrument.
(if: $f_xylia_revealed is "queen" and $f_nyx_promise is not "xylia")[|support>[$pisces_name Would you be willing to support someone else as Queen?]
]|evidence>[Show them a piece of evidence.]
|quest>[$pisces_name May I ask you some questions about Prince Blacktree's murder?]
|bye>[Finish talking to them.]
](elseif: $sequence is 1)[The person leans over and stares at me.
Their eyes are perfectly black.
They smirk slightly.
|next>[$pisces_name Queen Titania asked me to investigate who killed Prince Blacktree.]
](elseif: $sequence is 2)[$nyx_name
Glittering points
That downward thrust,
Sparkling spears
That never rust.
Well. That's a riddle.
(display: "Riddle Input")
|final>[This is my answer]
(click: ?final)[(replace: ?final)[<script>harvestAnswer();</script>I say: <span id="display_answer"></span>
|next>[Continue] ]]
](elseif: $sequence is 3)[(if: $answer is "icicles" or $answer is "icicle")[They smile.
$nyx_name Correct.
$nyx_name I permit you to speak to me.
$nyx_name I am Heir Nyx.
$nyx_name I murdered Blacktree.
$nyx_name My blood was cold as I did.
|return>[$pisces_name Great.]
(set: $f_nyx_state to "present")
](else:)[They shake their head dismissively.
They go back to their music.
|bye>[Continue]
]
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[$nyx_name Ask me a question.
|how>[$pisces_name How did you kill Prince Blacktree?]
|killed>[$pisces_name Do you have evidence that you killed Prince Blacktree?]
|return>[I'm done asking questions.]
](elseif: $sequence is 7)[$nyx_name We met in front of the throne of the youngest season.
$nyx_name He decided to show me his sword.
$nyx_name Then he ran into my rapier.
$nyx_name He ran into my rapier ten times.
Nyx cackles to themself.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
](elseif: $sequence is 8)[(if: $f_nyx_form is "ungiven")[$nyx_name You can see the marks of my weapon on his body.
The darkness of their eyes brighten, like space lit by distant stars.
$nyx_name Also! There is this.
They reach into their cloak and reveal a form.
They hold it out towards me.
|next>[I hesitate visibly.]
](else:)[$nyx_name You can see the marks of my weapon on his body.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]
]
](elseif: $sequence is 9)[Nyx sighs.
$nyx_name You are under no obligation to me for this gift.
|next>[I take the form.]
](elseif: $sequence is 10)[(set: $reading to "Form 533P")(set: $form_name to "Poisonous Substance Analysis Information Request Form 533P")It's **$form_name**.
$nyx_name This is from the Hall of Edicts.
$nyx_name Delicia claims she poisoned Blacktree.
$nyx_name I am //sure// she did not.
$nyx_name His lips were not stained with poison when I fou--killed him.
$nyx_name You should be able to use this to disprove her claim.
|quest>[$pisces_name I have another question.]
|return>[I'm done asking questions.]{
(set: $f_nyx_form to "given")
(set: $inventory to it + (datamap: $reading, (datamap: "description", "","expanded",false)))
(set: $f_533P_state to "")
(set: $f_533P_waskill to "")
(set: $f_533P_willkill to "")
(set: $f_533P_attempt to "")
(set: $f_533P_fake to "")
(set: $f_533P_ley to "")
(set: $f_533P_leymag to "None")
(set: $f_533P_moon to "New")
(set: $f_533P_day1 to 0)
(set: $f_533P_day2 to 1)
(set: $f_533P_season to "Spring")
(set: $f_533P_sig_filled to false)
}
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 15)[I sort through my inventory and decide what piece of evidence I should show to Nyx to try and provoke a response.
(display: "Inv In Place")
|return>[Nevermind.]
](elseif: $sequence is 16)[(if: $selected_item is "neutrality contract")[Nyx throws their head back and howls with laughter.
$nyx_name Amazing!
$nyx_name You should absolutely show this to Lirana.
$nyx_name She'll be so delighted that you found it.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "Flier: Noon-Sun Ceremony")[$nyx_name A fun time.
$nyx_name Wonderful snacks.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "Form 533P")[$nyx_name Yes.
$nyx_name Use that to disprove Delicia's claim.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
](elseif: $selected_item is "electric guitar")[Nyx's eyes |swirl>[alight with swirling interest.](click: ?swirl)[
//Literally, nebula like swirls of light appear in the blackness.//]
$nyx_name I want that.
$nyx_name I will give you three <span class="death">Death</span> for it.
|threeDeath>[Accept]
(if: $f_mathias_in_palace is true)[|mathiasAlly>[$pisces_name I will give it to you if you ally with Mathias.]
](if: $f_xylia_revealed is "queen")[|enchantXylia>[$pisces_name I will give it to you if you support Liege Xylia as Queen.]
]|stopclaim>[$pisces_name I will give it to you if stop claiming you murdered Prince Blacktree.]
|return>[Refuse]
](elseif: $selected_item is "enchanted guitar")[Nyx's eyes |swirl>[alight with swirling interest.](click: ?swirl)[
//Literally, nebula like swirls of light appear in the blackness.//]
$nyx_name I WANT that.
$nyx_name I will give you six <span class="death">Death</span> for it.
|sixDeath>[Accept]
(if: $f_mathias_in_palace is true)[|mathiasAlly>[$pisces_name I will give it to you if you ally with Mathias.]
](if: $f_xylia_revealed is "queen")[|enchantXylia>[$pisces_name I will give it to you if you support Liege Xylia as Queen.]
]|stopclaim>[$pisces_name I will give it to you if stop claiming you murdered Prince Blacktree.]
|return>[Refuse]
](else:)[Nyx looks over the object.
$nyx_name That doesn't amuse me.
|prev>[Show them something else.]
|return>[I'm done showing them things.]
]
](elseif: $sequence is 17)[Nyx's eyes open wide.
The bright points of light within them wink out.
One. Two. Three. (if: $mm_value is 6)[Four. Five. Six.]
The green and withered remains of them float out of their eyes and towards me.
{(set: $mm_to_change to "death")
(display: "update mm")}
|giveGuitar>[Give them the guitar.]
](elseif: $sequence is 18)[
](elseif: $sequence is 19)[$nyx_name Agreed. I did not kill Prince Blacktree.
$nyx_name Now give that to me.
(set: $f_nyx_promise to "no claim")
|giveGuitar>[Give them the guitar.]
](elseif: $sequence is 20)[$nyx_name Mathias is back?
$nyx_name Ach. He's such an honorable liability.
$nyx_name But...
Nyx stares at the guitar, clearly tempted.
(if: "electric guitar" is in $inventory)[$nyx_name No. It's not worth it.
They sound regretful, but certain.
|return>[Continue]
](else:)[$nyx_name Fine. Agreed. An alliance with Lord Magnus Mathias for a year and a day.
$nyx_name Now give that to me.
(set: $f_nyx_promise to "mathias")
|giveGuitar>[Give them the guitar.]
]
](elseif: $sequence is 21)[$nyx_name You want me to support //who//?
They sound deeply incredulous. Then amused.
$nyx_name How absurd.
$nyx_name But...
Nyx stares at the guitar, clearly tempted.
(if: "electric guitar" is in $inventory)[$nyx_name No. It's not worth it.
They sound regretful, but certain.
|return>[Continue]
](else:)[$nyx_name Fine. I will support Liege Xylia Xynn as Queen for this season.
$nyx_name Now give that to me.
(set: $f_nyx_promise to "xylia")
|giveGuitar>[Give them the guitar.]
]
](elseif: $sequence is 22)[I give them the guitar.
(if: "electric guitar" is in $inventory)[(set: $guitar to "electric guitar")](elseif: "enchanted guitar" is in $inventory)[(set: $guitar to "enchanted guitar")](move: $inventory's $guitar into $remove)(set: $f_nyx_instrument to $guitar)//Lost $guitar.//
|return>[Continue]
](elseif: $sequence is 23)[$nyx_name Bribe me.
$pisces_name What do you like to be bribed with?
They display their lute, which is carved of strange purple wood and has an absurd number of strings.
$nyx_name I like interesting instruments.
|evidence>[Show him something.]
|return>[Do something else.]
](elseif: $sequence is 24)[
](elseif: $sequence is 25)[
](elseif: $sequence is 26)[
](elseif: $sequence is 27)[
](elseif: $sequence is 28)[
](elseif: $sequence is 29)[
]{
(click: ?first)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?quest)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?how)[(set: $sequence to 7)(go-to: $currentPassage)]
(click: ?killed)[(set: $sequence to 8)(go-to: $currentPassage)]
(click: ?lineOfSight)[(set: $sequence to 9)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 15)(go-to: $currentPassage)]
(click: ?threeDeath)[(set: $sequence to 17)(set: $mm_value to 3)(go-to: $currentPassage)]
(click: ?sixDeath)[(set: $sequence to 17)(set: $mm_value to 6)(go-to: $currentPassage)]
(click: ?stopclaim)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?mathiasAlly)[(set: $sequence to 20)(go-to: $currentPassage)]
(click: ?enchantXylia)[(set: $sequence to 21)(go-to: $currentPassage)]
(click: ?giveGuitar)[(set: $sequence to 22)(go-to: $currentPassage)]
(click: ?support)[(set: $sequence to 23)(go-to: $currentPassage)]
(click: ?bye)[(set: $sequence to 0)(go-to: "Disposal Pit")]
}(if: $sequence is 0)[(if: $SpeedRun is true)[$mab_name To prove the identity of the murderer, you must refute the claims of the nobles who say they killed Prince Blacktree.
$mab_name A noble's word has legal weight.
$mab_name If you can present evidence against their claims, that will strengthen your case.
$mab_name When you identify the murderer, you must present evidence supporting that accusation.
$mab_name It is my nature to value order and accuracy.
$mab_name If your accusation is true and well-supported by evidence, then I will grant you a reward.
$mab_name Let us begin.
|goCurrent>[Continue]
](else:)[Titania glares across the room at Mab.
$titania_name **I** am Queen right now.
Mab sighs.
$mab_name Fine.
$mab_name But it would be more dramatic to have the sorceress present evidence.
$mab_name That will increase the tension before she reveals the murderer.
|next>[Continue]
]{
(set: $f_parlor_mistakes to 0)
(set: $f_current_sequence to 6)
(set: $f_current_suspect to "Lord Rayne Rinecoat")
(set: $f_delicia_evidence to "none")
(set: $f_xylia_evidence to "none")
(set: $f_nyx_evidence to "none")
(set: $f_lirana_evidence to "none")
(set: $f_rine_evidence to "none")
(set: $f_murder_accuse to "")
(set: $f_murder_evidence to "none")
(set: $f_full_proof to false)
}
](elseif: $sequence is 1)[Titania considers this.
$titania_name Fine. We can have a bit of evidence.
$titania_name Unless the evidence is dull.
$mab_name Truth is never dull.
$titania_name Truth is a disease. Playwrights and poets are physicians.
$mab_name I am going to pretend we have a legal system for a moment.
$mab_name You can stop me when it bores you.
|next>[Continue]
](elseif: $sequence is 2)[Queen Mab turns towards me.
$mab_name To prove the identity of the murderer, you must refute the claims of the nobles who say they killed Prince Blacktree.
$mab_name A noble's word has legal weight.
$mab_name If you can present evidence against their claims, that will strengthen your case.
$mab_name When you identify the murderer, you must present evidence supporting that accusation.
$mab_name It is my nature to value order and accuracy.
$mab_name If your accusation is true and well-supported by evidence, then I will grant you a reward.
$mab_name Let us begin.
|goCurrent>[Continue]
](elseif: $sequence is 4)[I sort through my inventory and choose a piece of evidence to disprove $f_current_suspect's claim to murder.
(display: "Inv In Place")
|goCurrent>[Nevermind.]
](elseif: $sequence is 5)[(if: $f_current_suspect is "Lord Rayne Rinecoat" and $selected_item is "dust")[Mab examines the trace of dust in my hand.
$mab_name You will have to clarify how this is relevant to Lord Rayne Rinecoat's story.
(if: $inventory's "dust"'s description contains "Veinseeker" and $f_rine_claim is "Veinseeker")[$pisces_name This is dust collected from on top of the bow Veinseeker.
$pisces_name Which Lord Rinecoat claims to have used yesterday to murder Prince Blacktree.
$mab_name I see. This evidence does effectively refute his claim.
Rinecoat scowls and steps back.
|goCurrent>[Continue]{
(set: $f_rine_evidence to "disprove")
(set: $f_current_sequence to 7)
}](else:)[I realize I'm not sure.
I put the dust away.
|prev>[Show something else.]
|goCurrent>[Do something else.]
]
](elseif: $f_current_suspect is "Heir Nyx" and $f_current_sequence is 7 and $selected_item is "Flier: Noon-Sun Ceremony")[Mab reads the flier.
$mab_name What is the significance of this?
$pisces_name Heir Nyx oversaw the Noon-Sun Ceremony.
$pisces_name That means they were on Poltergeist hill from noon to one o'clock.
$pisces_name So they couldn't have been in the palace, killing Prince Blacktree.
|goCurrent>[Continue]
(set: $f_current_sequence to 8)
](elseif: $f_current_suspect is "Heir Nyx" and $f_current_sequence is 8 and $selected_item is "Autocsi Result: Blacktree Corpse")[I hand Mab the results of my Autocsi spell.
$pisces_name According to my analysis of the fairy dust around the corpse, Prince Blacktree died at precisely 12:36PM on the 56th of Summer.
$pisces_name Nyx was at the Sun Ceremony at that time.
$mab_name This evidence does refutes Nyx's claim.
$nyx_name Damn.
They look rather impressed, though, as they step back.
|goCurrent>[Continue]{
(set: $f_nyx_evidence to "disprove")
(set: $f_current_sequence to 9)
(set: $f_current_suspect to "Princess Layla Lirana")
}
](elseif: $f_current_suspect is "Princess Layla Lirana" and $selected_item is "neutrality contract")[I hand Mab the contract of neutrality between Princess Layla Lirana and Prince Brokk Blacktree.
$lirana_name How did you get that? That's classified!
$mab_name Hush.
$pisces_name Based on what I understand of contracts here, I believe this is proof that Lirana would have been physically unable to harm Blacktree.
$mab_name It is. Well done.
Lirana reluctantly steps back.
|goCurrent>[Continue]{
(set: $f_lirana_evidence to "disprove")
(set: $f_current_sequence to 10)
(set: $f_current_suspect to "Princess Dulla Delicia")
}
](elseif: $f_current_suspect is "Princess Dulla Delicia" and $selected_item is "Form 533P")[It is very small, possibly I am the only one who sees it, but Queen Mab visibly smiles as she accepts the form.
It seems she likes forms.
(if: $f_533P_state is "APPROVED")[Her smile widens as she sees the green APPROVED mark.
$pisces_name This proves the poison on the corpse was applied after he was already dead.
$mab_name So it does.
With a sour expression on her face, Delicia steps back.(if: $f_mathias_in_palace is true)[
I'm not looking at him, but I can feel Mathias smile.]
|goCurrent>[Continue]{
(set: $f_delicia_evidence to "disprove")
(set: $f_current_sequence to 11)
(set: $f_current_suspect to "accusation")
}
](else:)[But her smile quickly fades.
$mab_name This form is not approved, and cannot be held as proof of anything.
|prev>[Show something else.]
|goCurrent>[Do something else.]
]
](elseif: $selected_item contains "Form")[It is very small, possibly I am the only one who sees it, but Queen Mab visibly smiles as she accepts the form.
It seems she likes forms.
But her smile quickly fades.
$mab_name This form is not relevant to the topic at hand.
|prev>[Show something else.]
|goCurrent>[Do something else.]
](else:)[(set: $f_parlor_mistakes to it + 1)Mab examines my evidence.
$mab_name I do not see how that is relevant to $f_current_suspect's claim to murder.
(if: $f_parlor_mistakes is 2)[Titania sighs impatiently.
](elseif: $f_parlor_mistakes is 4)[Titania taps her foot against the floor as her eyes roam around the room.
](elseif: $f_parlor_mistakes is 6)[$titania_name That's enough.
$titania_name I'm tired of these facts.
$titania_name I am Queen.
$titania_name Just tell us who killed Prince Blacktree.
Mab lets out a soft breath of disappointment, as chill as winter wind.
|titaniaInterrupt>[Continue]
]
(if: $f_parlor_mistakes is not 6)[|prev>[Show something else.]
|goCurrent>[Do something else.]
]
]
](elseif: $sequence is 6)[$mab_name Lord Rayne Rinecoat claims to have killed Prince Brokk Blacktree.
Rinecoat steps forward.
(if: $f_rine_promise is "no claim")[$rine_name I rescind my claim.
$rine_name I am not the murderer.
Titania seems intrigued.
$mab_name Very well.
|next>[Continue]
(set: $f_rine_evidence to "disprove")
](else:)[$rine_name I was in the garden, when I saw Brokk by the Spring Throne.
$rine_name He did not see me, so I hid behind a bush, took aim, and shot him through the throat.
(if: $f_rine_claim is "Veinseeker")[$rine_name I could not see him from behind the bush, but I carried Veinseeker.
$rine_name A magical bow that seeks the throat of your prey.
$rine_name With its magic, I shot blind, but still hit my mark.
]$rine_name My arrows are blackwood, with heads made of dragon bone, fletched with raven feathers.
$rine_name You will find one in Blacktree's neck.
]$mab_name Can you disprove this?
|evidence>[Present evidence to contradict Lord Rinecoat's claim.]
|next>[Let Rinecoat's claim stand.]
|repeat>[Ask Mab to remind you how this works.]
(set: $f_current_suspect to "Lord Rayne Rinecoat")
(set: $f_current_sequence to 6)
](elseif: $sequence is 7)[$mab_name Heir Nyx claims to have killed Prince Brokk Blacktree.
Nyx steps forward.
(if: $f_nyx_promise is "no claim")[$nyx_name I have changed my mind.
$nyx_name I did not murder Blacktree.
$nyx_name I rescind my claim.
$titania_name Hm!
$mab_name Very well.
|skip>[Continue]
(set: $f_nyx_evidence to "disprove")
](else:)[$nyx_name We met in front of the throne of the youngest season.
$nyx_name He decided to show me his sword.
$nyx_name Then he ran into my rapier.
$nyx_name He ran into my rapier ten times.
They laugh softly.
$nyx_name But in all seriousness, I killed him.
$nyx_name You can see the marks of my weapon on his body.
]$mab_name Can you disprove this?
|evidence>[Present evidence to contradict Heir Nyx's claim.]
|skip>[Let Nyx's claim stand.]
|repeat>[Ask Mab to remind you how this works.]
(set: $f_current_suspect to "Heir Nyx")
(set: $f_current_sequence to 7)
](elseif: $sequence is 8)[$nyx_name I object. The ceremony only lasted an hour.
$nyx_name I returned to kill Blacktree after it had concluded.
$mab_name A reasonable claim.
$mab_name Unless the sorceress has proof the murder occurred while Heir Nyx was at the ceremony.
Mab looks at me expectantly.
|evidence>[Present evidence to contradict Heir Nyx's claim.]
|next>[Let Nyx's claim stand.]
(set: $f_current_suspect to "Heir Nyx")
(set: $f_current_sequence to 8)
](elseif: $sequence is 9)[$mab_name Princess Layla Lirana claims to have killed Prince Brokk Blacktree.
Lirana steps forward.
$lirana_name I killed him with this.
She lifts up a spiked morningstar.
$lirana_name We were by the Spring Throne. He attacked me because he is a brute. I killed him.
$lirana_name Then Nyx came along and was nonsensical and immature.
She gives Nyx a significant look. The other noble appears to be ignoring her.
$mab_name Can you disprove this?
|evidence>[Present evidence to contradict Princess Layla Lirana's claim.]
|next>[Let Lirana's claim stand.]
(set: $f_current_suspect to "Princess Layla Lirana")
(set: $f_current_sequence to 9)
](elseif: $sequence is 10)[$mab_name Princess Dulla Delicia claims to have killed Prince Brokk Blacktree.
Delicia steps forward.
$delicia_name Prince Blacktree took lunch together yesterday.
$delicia_name I poisoned him with Deathlace hidden in Earl Grey Tea.
$delicia_name He died slowly of it after leaving the Tea Room, collapsing near the Spring Throne.
$delicia_name Lirana, Nyx, and Rinecoat squabbled over the corpse, but it was I who killed him.
$mab_name Can you disprove this?
|evidence>[Present evidence to contradict Princess Dulla Delicia's claim.]
|next>[Let Delicia's claim stand.]
(set: $f_current_suspect to "Princess Dulla Delicia")
(set: $f_current_sequence to 10)
](elseif: $sequence is 11)[$mab_name Who murdered...
$titania_name No. Me.
$mab_name Fine.
|next>[Continue]
](elseif: $sequence is 12)[Titania smiles like dawn and turns her sunshine gaze towards me.
$titania_name Tell us, sorceress.
$titania_name Who murdered Brokk Blacktree?
|next>[Continue]
](elseif: $sequence is 13)[I answer:
(if: $f_delicia_evidence is "disprove")[|gray1>[Princess Dulla Delicia] (click: ?gray1)[//I disproved her claim.//]](else:)[|delicia>[Princess Dulla Delicia]]
(if: $f_lirana_evidence is "disprove")[|gray2>[Princess Layla Lirana] (click: ?gray2)[//I disproved her claim.//]](else:)[|lirana>[Princess Layla Lirana]]
(if: $f_nyx_evidence is "disprove")[|gray3>[Heir Nyx] (click: ?gray3)[//I disproved their claim.//]](else:)[|nyx>[Heir Nyx]]
(if: $f_rine_evidence is "disprove")[|gray4>[Lord Rayne Rinecoat] (click: ?gray4)[//I disproved his claim.//]](else:)[|rine>[Lord Rayne Rinecoat]]
(if: $f_xylia_revealed is not "secret")[|xylia>[Liege Xylia Xynn]
]|dontknow>[I don't know.]
{
(click: ?delicia)[(set: $sequence to it + 1)(set: $f_murder_accuse to "Princess Dulla Delicia")(go-to: $currentPassage)]
(click: ?lirana)[(set: $sequence to it + 1)(set: $f_murder_accuse to "Princess Layla Lirana")(go-to: $currentPassage)]
(click: ?nyx)[(set: $sequence to it + 1)(set: $f_murder_accuse to "Heir Nyx")(go-to: $currentPassage)]
(click: ?rine)[(set: $sequence to it + 1)(set: $f_murder_accuse to "Lord Rayne Rinecoat")(go-to: $currentPassage)]
(click: ?xylia)[(set: $sequence to it + 1)(set: $f_murder_accuse to "Liege Xylia Xynn")(go-to: $currentPassage)]
(click: ?dontknow)[(set: $sequence to 17)(set: $f_murder_accuse to "no one")(go-to: $currentPassage)]
}
](elseif: $sequence is 14)[(if: $f_murder_accuse is "Liege Xylia Xynn")[$titania_name //Really?//
]$mab_name And do you have proof that $f_murder_accuse is the murderer?
(set: $selected_item to "no")(display: "Inv In Place")
|mabFinal>[$pisces_name I do not have proof.]
](elseif: $sequence is 15)[(if: $selected_item is "poison sample" and $f_murder_accuse is "Princess Dulla Delicia")[$pisces_name This is a sample of poison I found on the corpse.
$pisces_name That supports Delicia's claim that she poisoned Blacktree before anyone else got to him.
$pisces_name Making her the original murderer.
$mab_name I find your logic acceptable.
(set: $f_murder_evidence to "yes")
|mabFinal>[Continue]
](elseif: $selected_item is "broken arrow" and $f_murder_accuse is "Lord Rayne Rinecoat")[$pisces_name I found this arrow in the corpse of Prince Blacktree.
$pisces_name It matches Rinecoat's description of his own arrows.
$pisces_name That implies he killed Blacktree.
$mab_name I find your logic acceptable.
(set: $f_murder_evidence to "yes")
|mabFinal>[Continue]
](elseif: $selected_item is "Picture: Blackwood Chest" and $f_murder_accuse is "Heir Nyx")[$pisces_name Here is a picture of the wounds on Prince Blacktree's chest.
$pisces_name They match Nyx's story of stabbing him to death with a rapier.
$pisces_name That implies they killed Blacktree.
$mab_name I find your logic acceptable.
(set: $f_murder_evidence to "yes")
|mabFinal>[Continue]
](elseif: $selected_item is "Picture: Blackwood Head" and $f_murder_accuse is "Princess Layla Lirana")[$pisces_name Here is a picture of the wounds on Prince Blacktree's head.
$pisces_name They match Lirana's description of attacking him with a mace.
$pisces_name That implies she killed Blacktree.
$mab_name I find your logic acceptable.
(set: $f_murder_evidence to "yes")
|mabFinal>[Continue]
](elseif: $selected_item is "needle and thread" and $f_murder_accuse is "Liege Xylia Xynn")[$pisces_name I found this needle inside of Prince Blacktree's skull.
$delicia_name Ew.
$pisces_name It matches the needles Liege Xylia Xynn uses in embroidery.
$pisces_name Prince Blacktree attacked them, not understanding these could be deadly weapons.
$pisces_name And paid the price for underestimating them.
$mab_name Fascinating.
$mab_name I find your logic acceptable.
All of the nobles present are staring at Xylia with a variety of expressions. Xylia seems acutely uncomfortable.
(set: $f_murder_evidence to "yes")
|mabFinal>[Continue]
](elseif: $selected_item is "no")[$mab_name Pity.
|mabFinal>[Continue]
](else:)[(set: $f_parlor_mistakes to it + 1)Mab examines my evidence.
$mab_name I do not see how that is relevant to your accusation of $f_murder_accuse.
(if: $f_parlor_mistakes is 2)[Titania sighs impatiently.
](elseif: $f_parlor_mistakes is 4)[Titania taps her foot against the floor as her eyes roam around the room.
](elseif: $f_parlor_mistakes is 6)[$titania_name This grows tiresome.
$titania_name That's enough evidence.
$titania_name Get on with it.
|mabFinal>[Continue]
]
(if: $f_parlor_mistakes is not 6)[|prev>[Show something else.]
|mabFinal>[$pisces_name I do not have proof.]
]
]
](elseif: $sequence is 16)[{
(if: $f_murder_accuse is "no one")[(set: $f_titania_support to "Princess Dulla Delicia")](else:)[(set: $f_titania_support to $f_murder_accuse)]
(set: $f_murder_refutes to 0)
(if: $f_delicia_evidence is "disprove")[(set: $f_murder_refutes to it + 1)]
(if: $f_xylia_evidence is "disprove")[(set: $f_murder_refutes to it + 1)]
(if: $f_nyx_evidence is "disprove")[(set: $f_murder_refutes to it + 1)]
(if: $f_lirana_evidence is "disprove")[(set: $f_murder_refutes to it + 1)]
(if: $f_rine_evidence is "disprove")[(set: $f_murder_refutes to it + 1)]
(set: $f_mab_result to 0)
(if: $f_murder_evidence is "yes")[(set: $f_mab_result to it + 1)]
(if: $f_murder_accuse is "Liege Xylia Xynn")[(set: $f_mab_result to it + 1)]
(if: $f_murder_refutes > 1)[(set: $f_mab_result to it + 1)]
(if: $f_murder_refutes is 4)[(set: $f_mab_result to it + 1)]
}$mab_name You have accused $f_murder_accuse of murder.
(if: $f_murder_evidence is "yes")[$mab_name You have evidence.](else:)[$mab_name You have no evidence.]
$mab_name Four nobles claimed the murder.
$mab_name You have refuted (if: $f_murder_refutes is 0)[no claims](elseif: $f_murder_refutes is 1)[one claim](elseif: $f_murder_refutes is 2)[two claims](elseif: $f_murder_refutes is 3)[three claims](elseif: $f_murder_refutes is 4)[all claims].
|skip>[Continue]
](elseif: $sequence is 17)[$titania_name How boring.
$mab_name But true.
|prev>[Continue]
(set: $f_murder_accuse to "no one")
](elseif: $sequence is 18)[(if: $f_mab_result is 0)[$mab_name You have made no effort to pursue the truth.
$mab_name This offends me.
Queen Mab's eyes are as white as frost that kills.
$mab_name I will not tolerate the existence of that which offends me.
|mabKills>[Continue]
](elseif: $f_mab_result is 1)[$mab_name You have made an effort to pursue the truth.
$mab_name But not an impressive one.
$mab_name Your reward is your continued existence.
|seasonChange>[Continue]
](elseif: $f_mab_result is 2 or $f_mab_result is 3)[$mab_name You have made an effort to pursue the truth.
$mab_name The truth you found is imperfect, but that is the nature of mortals.
$mab_name I offer you a minor boon.
|minorMM>[Request matters and motives.]
|favor>[Request a political favor.]{
(set: $f_boon_type to "minor")
}
](elseif: $f_mab_result is 4)[$mab_name You have made a concerted effort to pursue the truth.
$mab_name And you have found it.
$mab_name You please me, sorceress.
$mab_name I offer you a boon.
|favor>[Request a political favor.]
|majorMM>[Request matters and motives.]
|treasure>[Request treasure.]{
(set: $f_boon_type to "major")
(set: $CSIFairyland to true)(display: "Save Achievements")
}]
](elseif: $sequence is 19)[
](elseif: $sequence is 20)[$mab_name Granted.
{(set: $mm_to_change to "order")
(set: $mm_value to 5)
(display: "update mm")}
|seasonChange>[Continue]
](elseif: $sequence is 21)[
](elseif: $sequence is 22)[$mab_name Granted.
{(set: $mm_to_change to "order")
(set: $mm_value to 10)
(display: "update mm")}
|seasonChange>[Continue]
](elseif: $sequence is 23)[$mab_name Granted.
Two massive gossamer dragonfly wings appear before me.
$mab_name You are a sorceress in the Web, so you must own a web ship.
$mab_name These sails will let you fly as fast as thought and as lightly as daydreams.
Given what I know of Mab, I suspect she is not being metaphorical. I put them carefully in my USB of holding.
**Gained: dream sails**
(set: $ship_parts to it + (datamap: "dream sails", (datamap: "description", "These sails shimmer, luminescent and gossamer. Light as mothwing. Durable as tungsten. <b>+10 Momentum</b>", "type", "sail", "quality", 10,"equipped", false)))
|seasonChange>[Continue]{
(set: $f_dragonfly_wings to "taken")
}](elseif: $sequence is 24)[$mab_name Ask your favor.
(if: $f_boon_type is "minor")[|gray>[Ask Mab to remain neutral in the selection of the Autumn Queen.] (click: ?gray)[//I only have a minor boon--that's not enough to convince Mab to do this.//] ](else:)[|mabXylia>[Ask Mab to remain neutral in the selection of the Autumn Queen.]]
(if: $f_mathias_in_palace is true)[|mabMathias>[Protect Mathias.]
]|mabGnomes>[Make the palace more accessible to Underfoot individuals.]
|noFavor>[Ask for something else.]{
(click: ?mabXylia)[(set: $sequence to 25)(set: $f_mab_support to "no one")(go-to: $currentPassage)]
(click: ?mabMathias)[(set: $sequence to 25)(set: $f_mathias_mab_allies to true)(go-to: $currentPassage)]
(click: ?mabGnomes)[(set: $sequence to 25)(set: $f_gnome_mab_promise to true)(go-to: $currentPassage)]
(click: ?noFavor)[(set: $sequence to 18)(go-to: $currentPassage)]
}](elseif: $sequence is 25)[(if: $f_mab_support is "no one")[Lirana makes an indignant noise.
]$mab_name Request granted.
|seasonChange>[Continue]
](elseif: $sequence is 26)[
](elseif: $sequence is 27)[Queen Mab moves her hand.
There is no flash or pain.
No inefficient drama of broken skin and blood.
|death>[I simply cease to exist.]
]{
(click: ?repeat)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?goCurrent)[(set: $sequence to $f_current_sequence)(go-to: $currentPassage)]
(click: ?evidence)[(set: $sequence to 4)(go-to: $currentPassage)]
(click: ?choose)[(set: $sequence to 12)(go-to: $currentPassage)]
(click: ?dontknow)[(set: $sequence to 17)(go-to: $currentPassage)]
(click: ?titaniaInterrupt)[(set: $sequence to 5)(go-to: "Titania Parlor Scene")]
(click: ?minorBless)[(set: $sequence to 19)(go-to: $currentPassage)]
(click: ?minorMM)[(set: $sequence to 20)(go-to: $currentPassage)]
(click: ?bless)[(set: $sequence to 21)(go-to: $currentPassage)]
(click: ?majorMM)[(set: $sequence to 22)(go-to: $currentPassage)]
(click: ?treasure)[(set: $sequence to 23)(go-to: $currentPassage)]
(click: ?favor)[(set: $sequence to 24)(go-to: $currentPassage)]
(click: ?seasonChange)[(set: $sequence to 0)(go-to: "Season Change")]
(click: ?mabFinal)[(set: $sequence to 16)(go-to: $currentPassage)]
(click: ?mabKills)[(set: $sequence to 27)(go-to: $currentPassage)]
}(if: $sequence is 0)[A burst of light draws everyone's attention to Queen Titania.
$titania_name And now the Season changes.
She lifts her crown off of her head.
Every noble in the room lifts their left hand, fingers outstretched.
I feel power moving.
|next>[Continue]
](elseif: $sequence is 1)[Vast amounts of power flow around me as the title Queen rises from Titania and moves along the rivers of energy flowing between the people here.
Queen Titania is supporting $f_titania_support.
Queen Mab (if: $f_mab_state is not "downstairs")[(whose power is present though she is not) ]is supporting $f_mab_support.
Princess Dulla Delicia is supporting Princess Dulla Delicia.
Princess Layla Lirana is supporting Princess Layla Lirana.
(if: $f_nyx_promise is "xylia")[Heir Nyx is supporting Liege Xylia Xynn.](else:)[Heir Nyx is supporting Heir Nyx.]
(if: $f_rine_promise is "xylia")[Lord Rayne Rinecoat is supporting Liege Xylia Xynn.](else:)[Lord Rayne Rinecoat is supporting Lord Rayne Rinecoat.]
Liege Xylia Xynn is supporting Liege Xylia Xynn.(if: $f_mathias_in_palace is true)[
Lord Mathias Magnus is supporting Liege Xylia Xynn.]
|next>[Continue]{
(set: $delicia_points to 0)
(set: $lirana_points to 0)
(set: $nyx_points to 0)
(set: $rine_points to 0)
(set: $xylia_points to 0)
(if: $f_titania_support is "Princess Dulla Delicia")[(set: $delicia_points to it + 20)]
(if: $f_titania_support is "Princess Layla Lirana")[(set: $lirana_points to it + 20)]
(if: $f_titania_support is "Heir Nyx")[(set: $nyx_points to it + 20)]
(if: $f_titania_support is "Lord Rayne Rinecoat")[(set: $rine_points to it + 20)]
(if: $f_titania_support is "Liege Xylia Xynn")[(set: $xylia_points to it + 20)]
(if: $f_mab_support is "Princess Dulla Delicia")[(set: $delicia_points to it + 20)]
(if: $f_mab_support is "Princess Layla Lirana")[(set: $lirana_points to it + 20)]
(if: $f_mab_support is "Heir Nyx")[(set: $nyx_points to it + 20)]
(if: $f_mab_support is "Lord Rayne Rinecoat")[(set: $rine_points to it + 20)]
(if: $f_mab_support is "Liege Xylia Xynn")[(set: $xylia_points to it + 20)]
(set: $delicia_points to it + 4)
(set: $lirana_points to it + 4)
(if: $f_nyx_promise is "xylia")[(set: $xylia_points to it + 4)](else:)[(set: $nyx_points to it + 4)]
(if: $f_rine_promise is "xylia")[(set: $xylia_points to it + 2)](else:)[(set: $rine_points to it + 2)]
(set: $xylia_points to it + 2)
(if: $f_mathias_in_palace is true)[(set: $xylia_points to it + 2)]
(set: $f_autumn_queen to $f_titania_support)
(if: $delicia_points > $lirana_points and $delicia_points > $nyx_points and $delicia_points > $rine_points and $delicia_points > $xylia_points)[(set: $f_autumn_queen to "Princess Dulla Delicia")]
(if: $lirana_points > $delicia_points and $lirana_points > $nyx_points and $lirana_points > $rine_points and $lirana_points > $xylia_points)[(set: $f_autumn_queen to "Princess Layla Lirana")]
(if: $nyx_points > $delicia_points and $nyx_points > $lirana_points and $nyx_points > $rine_points and $nyx_points > $xylia_points)[(set: $f_autumn_queen to "Heir Nyx")]
(if: $rine_points > $delicia_points and $rine_points > $lirana_points and $rine_points > $nyx_points and $rine_points > $xylia_points)[(set: $f_autumn_queen to "Lord Rayne Rinecoat")]
(if: $xylia_points > $delicia_points and $xylia_points > $lirana_points and $xylia_points > $nyx_points and $xylia_points > $rine_points)[(set: $f_autumn_queen to "Liege Xylia Xynn")]
(if: $f_autumn_queen is "Liege Xylia Xynn" and $xylia_points is $delicia_points)[(set: $f_autumn_queen to "Princess Dulla Delicia")]
(if: $f_autumn_queen is "Liege Xylia Xynn" and $xylia_points is $lirana_points)[(set: $f_autumn_queen to "Princess Layla Lirana")]
(if: $f_autumn_queen is "Liege Xylia Xynn" and $xylia_points is $nyx_points)[(set: $f_autumn_queen to "Heir Nyx")]
(if: $f_autumn_queen is "Lord Rayne Rinecoat" and $rine_points is $delicia_points)[(set: $f_autumn_queen to "Princess Dulla Delicia")]
(if: $f_autumn_queen is "Lord Rayne Rinecoat" and $rine_points is $lirana_points)[(set: $f_autumn_queen to "Princess Layla Lirana")]
(if: $f_autumn_queen is "Lord Rayne Rinecoat" and $rine_points is $nyx_points)[(set: $f_autumn_queen to "Heir Nyx")]
}
](elseif: $sequence is 2)[(if: $f_autumn_queen is "Princess Dulla Delicia")[The mantle of Queenship settles on Delicia.
She smiles a sweet, cruel smile as the circlet on her head grows into a golden crown.
](elseif: $f_autumn_queen is "Princess Layla Lirana")[The mantle of Queenship settles on Lirana.
She laughs with pleasure as the circlet on her head grows into a golden crown.
](elseif: $f_autumn_queen is "Heir Nyx")[The mantle of Queenship settles on Nyx.
They feign indifference as the circlet on their head grows into a golden crown.
](elseif: $f_autumn_queen is "Lord Rayne Rinecoat")[The mantle of Queenship settles on Rinecoat.
$rine_name Huh.
The circlet on his head grows into a golden crown.
](elseif: $f_autumn_queen is "Liege Xylia Xynn")[The mantle of Queenship settles on Xylia.
They squeak in surprise as the circlet on their head grows into a golden crown.
]
|next>[Continue]
](elseif: $sequence is 3)[The next few moments are chaotic.
The new Autumn Queen leaves, walking north toward the Autumn throne.
The rest of the nobility scatter like sparrows who just saw one of their number grow into a wolf.
(if: $f_mathias_in_palace is true)[(if: $f_titania_support is "Liege Xylia Xynn" and $f_autumn_queen is not "Liege Xylia Xynn")[Mathias runs after Xylia.
Likely to protect them.
They have been revealed as dangerous, but will not have a season as Queen to get stability in that power.
I am afraid I will not see them again.(set: $f_mathias_in_palace to false)(set: $mathias_on_board to false)
](else:)[$mathias_name It's generally considered poor form to avenge yourself on other nobles when you are Queen.
$mathias_name That doesn't stop everyone.
(if: $f_autumn_queen is "Liege Xylia Xynn")[Mathias himself is not running.
He is in fact smiling quite broadly.](elseif: $f_mathias_mab_allies is true)[Mathias himself is not running.
He doesn't need to. He's under Queen Mab's protection.](elseif: $f_autumn_queen is "Princess Dulla Delicia")[$mathias_name I...must leave.
$mathias_name As I do not think it will stop Delicia.
And then he vanishes as well.(set: $f_mathias_in_palace to false)(set: $mathias_on_board to false)](else:)[$mathias_name I will meet you outside the palace gate.
And then he vanishes as well.(set: $f_mathias_in_palace to false)]
]]
|next>[Continue]
](elseif: $sequence is 4)[(if: $f_mab_state is "downstairs")[(if: $f_mathias_in_palace is true)[We are](else:)[I am] left alone in the Summer Throne room with Queen Mab and Queen Titania.
They are |atten>[paying no attention to me.](click: ?atten)[
//I prefer this state of affairs.//]
](else:)[(if: $f_mathias_in_palace is true)[We are](else:)[I am] left alone in the Summer Throne room with Queen Titania.
She is |atten>[paying no attention to me.](click: ?atten)[
//I prefer this state of affairs.//]
]I feel the air cooling.
The sun above fades from bright to pale.
It's Autumn now.
I can go back to my ship and leave.
|backThrone>[Continue]{
<script>changeBackground("fae_arch_autumn");</script>
(set: $f_season to "autumn")
(if: $f_mab_state is "downstairs")[(set: $f_mab_state to "cuddle")]
(set: $f_delicia_state to "gone")
(set: $f_xylia_state to "gone")
(set: $f_nyx_state to "gone")
(set: $f_lirana_state to "gone")
(set: $f_rine_state to "gone")
}
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
(click: ?backThrone)[(set: $sequence to 0)(go-to: "Summer Throne")]
}{
<div class="modal">
<div class="modal-content">
<span class="close-button">×</span>
<h1>FARIYLAND ALERT</h1>
<p>Port of Ay'o</p>
<p>In lockdown by order of Summer.</p>
<p>Please dock in <b>Port 80</b> or <b>Port 440</b></p>
</div>
</div>
<style>.modal {
color: black;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
opacity: 0;
visibility: hidden;
transform: scale(1.1);
transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
}
.modal-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: white;
padding: 1rem 1.5rem;
width: 40%;
border-radius: 0.5rem;
}
.close-button {
float: right;
width: 1.5rem;
line-height: 1.5rem;
text-align: center;
cursor: pointer;
border-radius: 0.25rem;
background-color: lightgray;
}
.close-button:hover {
background-color: darkgray;
}
.show-modal {
opacity: 1;
visibility: visible;
transform: scale(1);
transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}
p{
font-size: 140%;
}
</style>
<script>var modal = document.querySelector(".modal");
var trigger = document.querySelector(".trigger");
var closeButton = document.querySelector(".close-button");
function toggleModal() {
modal.classList.toggle("show-modal");
}
function windowOnClick(event) {
if (event.target === modal) {
toggleModal();
}
}
closeButton.addEventListener("click", toggleModal);
window.addEventListener("click", windowOnClick);
toggleModal();
</script>
}<span id="mobile-hint">Touch and drag to
examine the entire map.</span>
<span id="ship-title" style="margin: 20px; padding: 5px; border: 3px solid aqua;">|explore>[Explore My Ship]</span>
(click: ?explore)[(go-to: "Explore My Ship")]
{
<style>
#mobile-hint{
display: none;
}
#map-table{
width:100%;
position: relative;
display: none;
}
@media screen and (max-width: 600px) {
#map-table {
width: 1000px;
}
html{
overflow-x:scroll
}
#mobile-hint{
display: block;
}
}
.you-are-here {
color: deepskyblue;
font-size: 80%;
}
.expand {
padding-bottom: 115px;
}
.squish{
padding-bottom: 5px;
}
td{
width: 24%;
margin: auto;
text-align: center;
}
td.fourth {
width: 10%;
}
tr.last-row td{
padding-bottom: 0px;
}
tw-story {
padding: 0;
margin-bottom: 0;
}
.vert-line{
width: 1px;
height: 100px;
border: 1px solid gray;
position: absolute;
margin: 8px 0px 0 50%;
}
.right-line{
width: 35%;
height: 1px;
border: 1px solid gray;
position: absolute;
left: 90%;
top: 10px;
}
.left-line{
width: 35%;
height: 1px;
border: 1px solid gray;
position: absolute;
left: -20%;
top: 10px;
}
.seen {
border: 2px solid skyblue;
border-color: darkslategrey;
}
.unused {
border: 2px dashed #444;
}
.visited span, .unvisited span {
color: deepskyblue;
cursor: pointer;
}
.current-location span{
color: aqua;
cursor: pointer;
}
.unseen {
display: none;
}
</style>}(display: "Map"){
<script>
function PrepMap(){
var current_location = getHarloweVariable("current_location");
var web_locations = getHarloweVariable("web_locations");
var map_access_wp = getHarloweVariable("map_access_wp");
for (i = 0; i < web_locations.length; i += 2) {
var loc = web_locations[i];
var visited = web_locations[i+1];
if(visited == "unseen"){
$("#"+loc)[0].parentElement.className = "squish";
}
else if(visited == "visited"){
$("#"+loc+" span").html($("#"+loc).attr('name'));
$("#"+loc)[0].parentElement.className = "expand";
}
else{
$("#"+loc)[0].parentElement.className = "expand";
}
if(current_location == loc){
$("#"+loc).addClass("current-location");
$("#"+loc).append("<div class='you-are-here'>you are here</div>");
}
else
{
$("#"+loc).addClass(visited);
}
}
var web_connections = getHarloweVariable("web_connections");
for (i = 0; i < web_connections.length; i += 2) {
var loc = web_connections[i];
var seen = web_connections[i+1];
$("#"+loc).addClass(seen);
}
$("#map-table").css("display","table");
}
PrepMap();
musicFade("travel_web");
function LandingPage(e){
var landing_name = e.parentElement.textContent.replace("you are here","");
var true_name = e.parentElement.getAttribute("name");
setHarloweVariable("landing_location",landing_name);
setHarloweVariable("true_name",true_name);
window.goToPassage("Travel - Web");
}
</script>
<table id="map-table">
<tr>
<td></td>
<td>
<div id="sweb">Shallow Web</div>
<div id="sweb-h" class="vert-line"></div>
</td>
<td></td>
</tr>
<tr>
<td></td>
<td>
<div id="h" name="Hell"><span onclick="LandingPage(this)">6.6.6.6</span></div>
<div id="h-fg" class="vert-line"></div>
</td>
<td>
<div id="up" name="University of Phoenixes" ><span onclick="LandingPage(this)">3.199.55.7</span></div>
<div id="up-is" class="vert-line"></div>
</td>
</tr>
<tr>
<td>
<div id="at" name="Atlatix"><span onclick="LandingPage(this)">888.877.75.25</span></div>
<div id="at-ol" class="vert-line"></div>
</td>
<td>
<div id="fg" name="Fiddler's Green"><span onclick="LandingPage(this)">192.168.1.1</span></div>
<div id="fg-f" class="vert-line"></div>
<div id="fg-is" class="right-line"></div>
</td>
<td>
<div id="is" name="Islands of Stone"><span onclick="LandingPage(this)">3.199.12.11</span></div>
<div id="is-st" class="vert-line"></div>
</td>
</tr>
<tr>
<td>
<div id="ol" name="Olympus" ><span onclick="LandingPage(this)">12.1.2.12</span></div>
</td>
<td>
<div id="f" name="Fairyland"><span onclick="LandingPage(this)">224.2.5.3</span></div>
<div id="f-dw" class="vert-line"></div>
<div id="ol-f" class="left-line"></div>
</td>
<td>
<div id="st" name="Spells and Things"><span onclick="LandingPage(this)">3.199.12.12</span></div>
</td>
</tr>
<tr>
<td></td>
<td>
<div id="dw" name="The Deep Web" class="visited"><span onclick="LandingPage(this)">The Deep Web</span></div>
</td>
<td></td>
</tr>
</table>
}TRAVELING TO <span style="color: skyblue;">$landing_location</span>
(if: $landing_location is "The Deep Web")[This is the liminal space where the Deep Web becomes the Web.
I've been there before and can travel there easily.
|go_deep_web>[Let's go.] (click: ?go_deep_web)[(set: $sequence to 0)(set: $map_level to "Deep Web")(go-to: "Board Ship")]
](elseif: $true_name is "Fairyland" and $landing_location is "345.345.345.3")[I can travel to this place using the pull of my body drawing my soul up towards it.
This will be an <span class="highlight">extremely easy</span> trip.
<span class="gray">//Trigger Warnings:// Eye Trauma, Needles </span>
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "extremely easy")(set: $destination to "Fairyland")(set: $travel_array to (a: "Sugar Plum Cloud"))(go-to: "Preparing to Travel")]
|travel_local>[Travel there.]
](elseif: $true_name is "Fiddler's Green" and $landing_location is "192.168.1.1")[I can travel to this place using the pull of my body drawing my soul up towards it.
This will be an <span class="highlight">extremely easy</span> trip.
<span class="gray">//Trigger Warnings:// Violence Against Animals, Animal Death </span>
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "extremely easy")(set: $destination to "Fiddler's Green")(set: $travel_array to (a: "Sugar Plum Cloud"))(go-to: "Preparing to Travel")]
|travel_local>[Travel there.]
](elseif: $true_name is "Islands of Stone" and $landing_location is "3.199.12.11")[The currents that flow toward this location are misty and sprinkled with static.
This will be a <span class="highlight">normal</span> trip.
<span class="gray">//Trigger Warnings:// None </span>
(click: ?travel_local)[(set: $sequence to 0)(set: $difficulty to "normal")(set: $destination to "Islands of Stone")(set: $travel_array to (a: "a Flight of Ideas","Joy Thermals","Uncertainty Fog","a Classic Serpent"))(go-to: "Preparing to Travel")]
|travel_local>[Travel there.]
](elseif: $true_name is $landing_location)[I've been there before and can travel there easily.
|travel_again>[Let's go.]
][[Go Elsewhere.->Map - Web]]{
(set: $return_from_travel to "Travel - Web")
(click: ?travel_again)[(set: $sequence to 0)(go-to: $true_name)]
(click: ?travel_free)[(set: $sequence to 1)(go-to: $true_name)]
}(display: "menu_menu")
(if: $sequence is 0)[(if: $menu_fix_not_code is true)[What you entered wasn't a valid Fix Code. Try again?](else:)[This is a debugging area that you don't need to use unless there's a problem with the game.
If you've received a Fix Code from the developer, please enter it here.]
(set: $menu_fix_not_code to false)
(display: "Riddle Input")
|final>[Submit Fix Code]
(click: ?final)[(replace: ?final)[<script>harvestAnswer();</script>Entered: <span id="display_answer"></span>
|next>[Submit] ]]
](elseif: $sequence is 1)[(if: $answer is "fix")[Your fix code has been uploaded. Here is what you need to do next:
1. Load the saved game with the problem.
2. Look for a button in the lower right corner that says: <b>Apply Fix</b>
3. Press that button.
4. The <b>Apply Fix</b> button should disappear. That means the change has been applied to your save file.
5. Save your game to make the change permanent.
6. Test to see if the fix worked.
If the fix doesn't work, please tell the developer.
Thank you.
](else:)[(set: $menu_fix_not_code to true)(set: $sequence to 0)(go-to: $currentPassage)]
]
(set: $inGame to true)
(set: $opponent to "FAE GAMBLER")
(set: $points_to_win to 100)
(set: $tarot_game to "blackjack")
(set: $tarot_game to "topple")
(go-to: "Topple the Tower"){
<div class="score">$opponent'S SCORE: <span id="opp-score">0</span></div>
<div id="opp-hand" class="card-holder">
<div id="opp-cards" class="one-card">
<div id="card-opp-3" class="no-display">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card-opp-2" class="no-display">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card-opp-1" class="invisible">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
<div id="instruct" class="score">CHOOSE ONE</div>
<div id="center" class="card-holder" style="height: 168px;">
<div id="center-info">
<div id="info-0" style="padding-bottom: 30px;"></div>
<div id="info-1"></div>
<div id="info-2"></div>
</div>
<div id="center-option" class="center-option" onclick="playNextHand();">
Play Next Hand
</div>
<div id="won-game" class="center-option end-game-option" onclick="winGame();" style="display: none;">
PISCES WINS
</div>
<div id="lost-game" class="center-option end-game-option" onclick="loseGame();" style="display: none;">
$opponent WINS
</div>
<div id="center-cards-top" class="one-card">
<div id="card0" class="invisible" onclick="selectCard('card0');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div style="clear: both;"></div>
</div>
<div id="center-cards-middle" class="two-cards">
<div id="card1" class="invisible" onclick="selectCard('card1');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card2" class="invisible" onclick="selectCard('card2');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div style="clear: both;"></div>
</div>
<div id="center-cards" class="three-cards">
<div id="card3" class="invisible" onclick="selectCard('card3');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card4" class="invisible" onclick="selectCard('card4');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card5" class="invisible" onclick="selectCard('card5');">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
<div class="score">PISCES' SCORE: <span id="player-score">0</span></div>
<div id="player-hand" class="card-holder">
<div id="pisces-cards" class="one-card">
<div id="card-pisces-3" class="no-display">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card-pisces-2" class="no-display">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div id="card-pisces-1" class="invisible">
<div class="card-container">
<div class="card-icon"></div>
<span class="card-text">.</span>
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
}{
<script>
function playNextHand(){
piscesCards = [];
oppCards = [];
remainingCards = [];
$("#opp-cards").removeClass().addClass("one-card");
$("#pisces-cards").removeClass().addClass("one-card");
$("#card-opp-3").removeClass().addClass("no-display");
$("#card-opp-2").removeClass().addClass("no-display");
$("#card-opp-1").removeClass().addClass("invisible");
$("#card-pisces-3").removeClass().addClass("no-display");
$("#card-pisces-2").removeClass().addClass("no-display");
$("#card-pisces-1").removeClass().addClass("invisible");
$("#card0").removeClass().addClass("invisible");
$("#card1").removeClass().addClass("invisible");
$("#card2").removeClass().addClass("invisible");
$("#card3").removeClass().addClass("invisible");
$("#card4").removeClass().addClass("invisible");
$("#card5").removeClass().addClass("invisible");
$("#center-option").css("display","none");
$("#center-cards").css("display","block");
shuffle();
}
var canSelect = true;
var piscesCards = [];
var oppCards = [];
var remainingCards = [];
var cards = ["chariot","death","devil","emperor","empress","fool","fortune","hanged","hermit","hierophant","judgment","justice","lovers","magician","moon","priestess","star","strength","sun","temperance","tower","world"];
function shuffle(){
$("#center-info").css("display","none");
$("#center-cards").css("display","block");
$("#center-cards-top").css("display","block");
$("#center-cards-middle").css("display","block");
$("#instruct").html("SHUFFLING");
var currentCards = cards.slice(0);
var chosenCards = [];
for (var i = 0; i < 6; i++) {
var index = Math.floor((Math.random() * currentCards.length));
var chosenCard = currentCards[index];
currentCards.splice(index, 1);
remainingCards.push(chosenCard.toLowerCase());
$("#card"+i).addClass(chosenCard);
$("#card"+i+" .card-text").html(chosenCard.toUpperCase());
}
$("#instruct").html("DEALING");
setTimeout(function() { dealOne(0); }, 1000);
}
shuffle();
var tripletDict = {};
tripletDict["willworkers"] = ["magician","priestess","hermit"];
tripletDict["joyful"] = ["sun","lovers","temperance"];
tripletDict["chaotic"] = ["fool","world","fortune"];
tripletDict["lawful"] = ["justice","hierophant","chariot"];
tripletDict["execution"] = ["death","hanged","judgment"];
tripletDict["pact"] = ["devil","strength","moon"];
tripletDict["celestial"] = ["world","star","sun","moon"];
tripletDict["dark"] = ["magician","death","devil","tower"];
tripletDict["rulers"] = ["empress","emperor","hierophant","priestess"];
tripletDict["forces"] = ["justice","temperance","judgment","strength"];
tripletDict["tools"] = ["tower","chariot","fortune"];
tripletDict["mortals"] = ["hanged","fool","lovers","hermit"];
function dealOne(count){
$("#card"+count).removeClass("blank").removeClass("invisible");
if(count < 7){
count++;
setTimeout(function() { dealOne(count); }, 200);
}
else{
$("#instruct").html("CHOOSE YOUR CARD");
canSelect = true;
}
}
function selectCard(cardSelected){
if(canSelect){
canSelect = false;
var chosenCard = $("#"+cardSelected+" .card-text").html().toLowerCase();
$("#"+cardSelected).addClass("invisible");
removeFromArray(remainingCards,chosenCard);
piscesCards.push(chosenCard);
if(piscesCards.length == 1){
$("#card-pisces-1 .card-text").html(chosenCard.toUpperCase());
$("#card-pisces-1").addClass(chosenCard).removeClass("invisible");
} else if(piscesCards.length == 2){
$("#pisces-cards").removeClass("one-card").addClass("two-cards");
$("#card-pisces-2 .card-text").html(chosenCard.toUpperCase());
$("#card-pisces-2").addClass(chosenCard).removeClass("invisible").removeClass("no-display");
} else if(piscesCards.length == 3){
$("#pisces-cards").removeClass("two-cards").addClass("three-cards");
$("#card-pisces-3 .card-text").html(chosenCard.toUpperCase());
$("#card-pisces-3").addClass(chosenCard).removeClass("invisible").removeClass("no-display");
}
$("#instruct").html("OPPONENT CHOOSING");
setTimeout(function(){ opponentSelecting(); }, 1000);
}
}
function getCardId(cardName){
var cardId = "";
for (var i = 0; i < 6; i++) {
var currentCardName = $("#card"+i+" .card-text").html().toLowerCase();
if(currentCardName == cardName)
cardId = "card" + i;
}
return cardId;
}
function opponentSelecting(){
var oppAvalibleCards = remainingCards.concat(oppCards);
var highestHand = getHand(oppAvalibleCards);
var handName = highestHand.substring(0,highestHand.indexOf("-"));
var chosenCard = "";
var tripKeys = Object.keys(tripletDict);
if(tripKeys.includes(handName)){
var buildingHand = tripletDict[handName].slice();
while(chosenCard == ""){
if(buildingHand.length == 0){
var highestSingle = getHighestSingle(remainingCards);
chosenCard = highestSingle.substring(0,highestSingle.indexOf("-"));
}
else{
var highCard = getHighestSingle(buildingHand);
var highCardName = highCard.substring(0,highCard.indexOf("-"));
if(remainingCards.includes(highCardName))
chosenCard = highCardName;
removeFromArray(buildingHand,highCardName);
}
}
}
else{
var highestSingle = getHighestSingle(remainingCards);
chosenCard = highestSingle.substring(0,highestSingle.indexOf("-"));
}
var cardId = getCardId(chosenCard);
$("#"+cardId).addClass("invisible");
removeFromArray(remainingCards,chosenCard);
oppCards.push(chosenCard);
if(oppCards.length == 1){
$("#card-opp-1 .card-text").html(chosenCard.toUpperCase());
$("#card-opp-1").addClass(chosenCard).removeClass("invisible");
$("#instruct").html("CHOOSE ANOTHER CARD");
canSelect = true;
} else if(oppCards.length == 2){
$("#opp-cards").removeClass("one-card").addClass("two-cards");
$("#card-opp-2 .card-text").html(chosenCard.toUpperCase());
$("#card-opp-2").addClass(chosenCard).removeClass("invisible").removeClass("no-display");
$("#instruct").html("CHOOSE YOUR LAST CARD");
canSelect = true;
} else if(oppCards.length == 3){
$("#opp-cards").removeClass("two-cards").addClass("three-cards");
$("#card-opp-3 .card-text").html(chosenCard.toUpperCase());
$("#card-opp-3").addClass(chosenCard).removeClass("invisible").removeClass("no-display");
calculatePoints();
}
}
function calculatePoints(){
$("#instruct").html("CALCULATING POINTS");
$("#center-info").css("display","block");
$("#center-cards").css("display","none");
$("#center-cards-top").css("display","none");
$("#center-cards-middle").css("display","none");
var oppHand = getHand(oppCards);
var piscesHand = getHand(piscesCards);
var opp = geth("opponent");
var oppResultText = parseHandText(oppHand, opp);
var oppPoints = parseHandPoints(oppHand);
var piscesResultText = parseHandText(piscesHand,"PISCES");
var piscesPoints = parseHandPoints(piscesHand);
if(piscesPoints > oppPoints){
$("#instruct").html("");
$("#info-0").html("PISCES WINS HAND");
var currentScore = parseInt($("#player-score").html());
currentScore = currentScore + piscesPoints;
$("#player-score").html(currentScore);
}
else if(piscesPoints < oppPoints){
$("#instruct").html("");
$("#info-0").html(opp + " WINS HAND");
var currentScore = parseInt($("#opp-score").html());
currentScore = currentScore + oppPoints;
$("#opp-score").html(currentScore);
}
else{
$("#instruct").html("DRAW");
}
$("#center-option").css("display","block");
$("#center-cards").css("display","none");
$("#info-1").html(oppResultText);
$("#info-2").html(piscesResultText);
var piscesScore = parseInt($("#player-score").html());
var oppScore = parseInt($("#opp-score").html());
var pointsToWin = geth("points_to_win");
if(piscesScore >= pointsToWin){
$("#center-option").css("display","none");
$("#won-game").css("display","block");
}else if(oppScore >= pointsToWin){
$("#center-option").css("display","none");
$("#lost-game").css("display","block");
}
}
function winGame(){
seth("won_game",true);
seth("sequence",31);
addAchieve("Toppled Tower");
endGame();
}
function loseGame(){
seth("won_game",false);
seth("sequence",30);
endGame();
}
function endGame(){
seth("inGame",false);
var opponent = geth("opponent");
if(opponent == "CYCL3") goToPassage("Finish Game");
else if(opponent == "FAE GAMBLER") goToPassage("Arcadia Capitol");
else goToPassage("Finish Game");
}
function parseHandText(oppHand,playerName){
var oppHandAr = oppHand.split("-");
var oppHandName = oppHandAr[0].toUpperCase();
var oppPoints = parseInt(oppHandAr[1]);
var oppHandType = oppHandAr[2];
if(oppHandType == "1") oppHandType = "SINGLE";
if(oppHandType == "2") oppHandType = "DOUBLE";
if(oppHandType == "3") oppHandType = "TRIPLE";
var oppResultText = playerName + " has a "+oppHandName+" "+oppHandType+" worth "+oppPoints+" POINTS";
return oppResultText;
}
function parseHandPoints(oppHand){
var oppHandAr = oppHand.split("-");
var oppPoints = parseInt(oppHandAr[1]);
return oppPoints;
}
function getHand(cards){
var hand = "";
if(checkTriplet(cards,tripletDict["willworkers"])) hand = "willworkers-132-3";
else if(checkTriplet(cards,tripletDict["joyful"])) hand = "joyful-120-3";
else if(checkTriplet(cards,tripletDict["chaotic"])) hand = "chaotic-109-3";
else if(checkTriplet(cards,tripletDict["lawful"])) hand = "lawful-107-3";
else if(checkTriplet(cards,tripletDict["execution"])) hand = "execution-96-3";
else if(checkTriplet(cards,tripletDict["pact"])) hand = "pact-84-3";
else if(checkTriplet(cards,tripletDict["celestial"])) hand = "celestial-73-3";
else if(checkTriplet(cards,tripletDict["dark"])) hand = "dark-71-3";
else if(checkTriplet(cards,tripletDict["rulers"])) hand = "rulers-60-3";
else if(checkTriplet(cards,tripletDict["forces"])) hand = "forces-48-3";
else if(checkTriplet(cards,tripletDict["tools"])) hand = "tools-36-3";
else if(checkTriplet(cards,tripletDict["mortals"])) hand = "mortals-24-3";
else if(checkDouble(cards,tripletDict["willworkers"])) hand = "willworkers-66-2";
else if(checkDouble(cards,tripletDict["joyful"])) hand = "joyful-60-2";
else if(checkDouble(cards,tripletDict["chaotic"])) hand = "chaotic-55-2";
else if(checkDouble(cards,tripletDict["lawful"])) hand = "lawful-53-2";
else if(checkDouble(cards,tripletDict["execution"])) hand = "execution-48-2";
else if(checkDouble(cards,tripletDict["pact"])) hand = "pact-42-2";
else if(checkDouble(cards,tripletDict["celestial"])) hand = "celestial-37-2";
else if(checkDouble(cards,tripletDict["dark"])) hand = "dark-35-2";
else if(checkDouble(cards,tripletDict["rulers"])) hand = "rulers-30-2";
else if(checkDouble(cards,tripletDict["forces"])) hand = "forces-24-2";
else if(checkDouble(cards,tripletDict["tools"])) hand = "tools-23-2";
else if(checkDouble(cards,tripletDict["mortals"])) hand = "mortals-22-2";
else hand = getHighestSingle(cards);
return hand;
}
function checkTriplet(cards,hand){
var inHand = true;
if(!hand.includes(cards[0])) inHand = false;
if(!hand.includes(cards[1])) inHand = false;
if(!hand.includes(cards[2])) inHand = false;
return inHand;
}
function checkDouble(cards,hand){
var inHand = false;
var numCardsInHand = 0;
for (var i = 0; i < cards.length; i++)
if(hand.includes(cards[i])) numCardsInHand++;
if(numCardsInHand >= 2)
inHand = true;
return inHand;
}
function getHighestSingle(cards){
if(cards.includes("world")) return "world-21-1";
else if(cards.includes("judgment")) return "judgment-20-1";
else if(cards.includes("sun")) return "sun-19-1";
else if(cards.includes("moon")) return "moon-18-1";
else if(cards.includes("star")) return "star-17-1";
else if(cards.includes("tower")) return "tower-16-1";
else if(cards.includes("devil")) return "devil-15-1";
else if(cards.includes("temperance")) return "temperance-14-1";
else if(cards.includes("death")) return "death-13-1";
else if(cards.includes("hanged")) return "hanged-12-1";
else if(cards.includes("justice")) return "justice-11-1";
else if(cards.includes("fortune")) return "fortune-10-1";
else if(cards.includes("hermit")) return "hermit-9-1";
else if(cards.includes("strength")) return "strength-8-1";
else if(cards.includes("chariot")) return "chariot-7-1";
else if(cards.includes("lovers")) return "lovers-6-1";
else if(cards.includes("hierophant")) return "hierophant-5-1";
else if(cards.includes("emperor")) return "emperor-4-1";
else if(cards.includes("empress")) return "empress-3-1";
else if(cards.includes("priestess")) return "priestess-2-1";
else if(cards.includes("magician")) return "magician-1-1";
else if(cards.includes("fool")) return "fool-0-1";
}
function startGame(){
var game = geth("tarot_game");
if(game == "topple"){
$("#center").css("height","515px");
}
}
startGame();
</script>
<style>
.three-cards{
width: 500px;
margin: auto;
}
.two-cards{
width: 240pt;
margin: auto;
}
.one-card{
width: 120pt;
margin: auto;
}
#center .card-container:hover, #center-option:hover{
opacity: 0.5;
cursor: pointer;
}
#center .card-icon:hover{
}
.card-holder
{
text-align:center;
margin-bottom: 10px;
}
.score{
text-align: center;
height: 20px;
}
.spread{
text-align: center;
}
.card-holder{
text-align: center;
}
.card-container{
text-align: center;
border: 3px solid lime;
padding: 5px;
float: left;
margin: 15px;
color: lightgreen;
font: 90% Courier,Lucida Console,sans-serif;
}
.card-icon {
margin: 10px;
width: 90px;
height: 80px;
border-radius: 0;
z-index: 49;
font-size: 42px;
background-color: lime;
-webkit-mask-box-image: url("./techMajor/chariot.png");
}
.chariot .card-icon {-webkit-mask-box-image: url("./techMajor/chariot.png");}
.death .card-icon {-webkit-mask-box-image: url("./techMajor/death.png");}
.devil .card-icon {-webkit-mask-box-image: url("./techMajor/devil.png");}
.emperor .card-icon {-webkit-mask-box-image: url("./techMajor/emperor.png");}
.empress .card-icon {-webkit-mask-box-image: url("./techMajor/empress.png");}
.fool .card-icon {-webkit-mask-box-image: url("./techMajor/fool.png");}
.fortune .card-icon {-webkit-mask-box-image: url("./techMajor/fortune.png");}
.hanged .card-icon {-webkit-mask-box-image: url("./techMajor/hanged.png");}
.hermit .card-icon {-webkit-mask-box-image: url("./techMajor/hermit.png");}
.hierophant .card-icon {-webkit-mask-box-image: url("./techMajor/hierophant.png");}
.judgment .card-icon {-webkit-mask-box-image: url("./techMajor/judgment.png");}
.justice .card-icon {-webkit-mask-box-image: url("./techMajor/justice.png");}
.lovers .card-icon {-webkit-mask-box-image: url("./techMajor/lovers.png");}
.magician .card-icon {-webkit-mask-box-image: url("./techMajor/magician.png");}
.moon .card-icon {-webkit-mask-box-image: url("./techMajor/moon.png");}
.priestess .card-icon {-webkit-mask-box-image: url("./techMajor/priestess.png");}
.star .card-icon {-webkit-mask-box-image: url("./techMajor/star.png");}
.strength .card-icon {-webkit-mask-box-image: url("./techMajor/strength.png");}
.sun .card-icon {-webkit-mask-box-image: url("./techMajor/sun.png");}
.temperance .card-icon {-webkit-mask-box-image: url("./techMajor/temperance.png");}
.tower .card-icon {-webkit-mask-box-image: url("./techMajor/tower.png");}
.world .card-icon {-webkit-mask-box-image: url("./techMajor/world.png");}
.hierophant .card-text { font-size: 80%;}
.temperance .card-text { font-size: 80%;}
.priestess .card-text { font-size: 90%;}
.judgment .card-text { font-size: 95%;}
.magician .card-text { font-size: 95%;}
.no-display { display: none; }
.invisible { visibility: hidden; }
.blank .card-icon{ background-color: black; }
.blank .card-text{
color: black;
}
#center-info{
padding-top: 60px;
font-size: 130%;
}
#center-option{
margin: 30px;
display: none;
}
.center-option{
margin: 30px;
cursor: pointer;
font-size: 130%;
}
.end-game-option{
padding: 15px;
font-size: 40px;
}
tw-story {
padding-top: 10px;
padding-bottom: 0px;
}
</style>
(if: $opponent is "CYCL3")[
<style>
.center-option{ color: lime; }
tw-link, .enchantment-link, .visited {
color: lime !important;
}
tw-link:hover, .enchantment-link:hover, .visited:hover {
color: green;
}
html, body, .dir , #bottom-cover, #nav-container, .nav_button {
background: #000;
}
.card-container {
border: 3px solid lime;
color: lightgreen;
}
</style>
](elseif: $opponent is "FAE GAMBLER")[
<style>
.center-option{ color: mediumpurple; }
tw-link, .enchantment-link, .visited {
color: mediumpurple !important;
}
tw-link:hover, .enchantment-link:hover, .visited:hover {
color: #9370DB !important;
}
.card-container {
border: 3px solid #9370DB;
color: lavender;
}
.card-icon { background-color: #c997de; }
html, body, .dir , #bottom-cover, #nav-container, .nav_button {
background: #000;
}</style>
]
(click: ?concede)[ <script>loseGame();</script> ]
(click: ?win)[ <script>winGame();</script> ]
<script>changeBackground("");</script>
}(if: $sequence is 0)[Mathias is surprised, but certainly happy to see me.
$mathias_name What brings you back here?
$mathias_name Don't you have a body to return to?
|state>[Ask about the state of things in Fairyland.]
|how>[Ask how he's doing.]
|what>[Ask what he's doing.]
|xylia>[Ask after Xylia.]
|returnBase>[Say goodbye.]
](elseif: $sequence is 1)[(if: $f_autumn_queen is "Liege Xylia Xynn")[He smiles.
$mathias_name Life is...rather good.
That is the most positive I've ever heard him be.
|return>[Continue]
](else:)[$mathias_name I've survived. It's more than I expected.
He gives me a crooked smile.
|return>[Continue]
]
](elseif: $sequence is 2)[(if: $f_mathias_location is "throne")[$mathias_name Waiting.
He looks up at Xylia.
$mathias_name They will wake up eventually.
](elseif: $f_mathias_location is "solarium" and $f_mathias_mab_allies is true)[$mathias_name Waiting for Xylia to come back.
$mathias_name It's always a bit dangerous here at the beginning of a new Season.
$mathias_name More dangerous.
$mathias_name People will return when the Queen wakes up and we get a sense of how things are going to be.
](elseif: $f_mathias_location is "solarium" and $f_autumn_queen is "Heir Nyx")[$mathias_name Hiding from Nyx.
$mathias_name We're allies, but I'm honestly not certain what to expect from their rulership.
$mathias_name I think I'll be best off just being unobtrusive.
](elseif: $f_mathias_location is "trophy")[$mathias_name Well, when Rinecoat wakes up, he's going to want to go on a hunt.
$mathias_name And it's best to keep the Queen in a good mood, so I'm just getting things ready for that.
He puts the spear back in the weapon's rack and takes another to sharpen.
](elseif: $f_mathias_location is "library")[$mathias_name Ah. Heh. Lirana has been sending me...psychic messages asking me to look things up in here.
$mathias_name I didn't know she could do that, but she's Queen, so surprising new powers are to be expected.
$mathias_name I think she's interested in doing experiments with the stars.
]
|return>[Ask something else.]
](elseif: $sequence is 3)[(if: $f_autumn_queen is "Liege Xylia Xynn")[$mathias_name They're going to be a good Queen.
|return>[Ask something else.]
](else:)[$mathias_name They'll be all right. They're just waiting until it's safe to come back.
|return>[Ask something else.]
]
](elseif: $sequence is 4)[(if: $f_autumn_queen is "Princess Dulla Delicia")[$mathias_name Delicia is Queen.
$mathias_name That will be difficult, but it's not exactly an unusual situation.
$mathias_name We've endured it before.
](elseif: $f_autumn_queen is "Princess Layla Lirana")[$mathias_name Lirana is Queen.
$mathias_name So we're going to see the world dedicated to a great number of strange experiments and explorations.
$mathias_name An interesting Autumn, I'm sure.
](elseif: $f_autumn_queen is "Heir Nyx")[$mathias_name Nyx is Queen.
$mathias_name I have no idea what to expect.
](elseif: $f_autumn_queen is "Lord Rayne Rinecoat")[$mathias_name Rinecoat is Queen.
$mathias_name So I suspect there will be many royal hunts.
$mathias_name He doesn't focus on much else.
](elseif: $f_autumn_queen is "Liege Xylia Xynn")[$mathias_name Xylia is Queen.
$mathias_name So I think everything will be fine.
$mathias_name At least for a season.
](if: $f_mathias_mab_allies is true)[$mathias_name I will be safe, regardless.
$mathias_name It was exceptionally generous of you to spend a boon on me.
](if: $f_nyx_promise is "mathias")[$mathias_name Nyx will be an...interesting ally.
](if: $f_mathias_lirana_allies is true)[$mathias_name Lirana should be able to come up with something inventive to assist me with my difficulty hearing.
](if: $f_rine_promise is "mathias")[$mathias_name I am not fond of Rinecoat, but it will be good to have someone to watch my back.
]
|return>[Ask something else.]
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
]{
(click: ?how)[(set: $sequence to 1)(go-to: $currentPassage)]
(click: ?what)[(set: $sequence to 2)(go-to: $currentPassage)]
(click: ?xylia)[(set: $sequence to 3)(go-to: $currentPassage)]
(click: ?state)[(set: $sequence to 4)(go-to: $currentPassage)]
}{
<div class="hud">
<div class="direction">180Â Â Â Â Â Â 225<br>
||||||||||||||||||<br>^</div>
<div class="countermeasures">IR Flares<br><span>Ready</span></div>
<div class="airspeed">28 G</div>
<div class="torque">0.55</div>
<div class="roll">^<div><br>
<div class="ibeam">
<div class="ib one"></div>
<div class="ib two"></div>
<div class="ib three"></div>
<div class="ib four"></div>
<div class="ib five"></div>
<div class="ib six"></div>
<div class="ib seven"></div>
<div class="ib eight"></div>
</div>
<div class="crosshair"><div class="ch2"></div></div>
<div class="weapon">ROCKET</div>
<div class="sideship"></div>
</div>
<style>
body{
font-family:courier;
font-weight:bold;
font-size:1.2em;
color:#1f1;
}
.hud{
position:relative;
text-shadow:0px 0px 1px #0f0;
text-align:center;
background:#333;
border:1px solid #000;
width:600px;
height:450px;
}
.direction{
position:relative;
border-top:2px solid #0f0;
width:200px;
margin:auto;
margin-top:20px;
}
.countermeasures{
position:absolute;
border:2px solid #0f0;
}
.countermeasures span{
color:#d10;
}
.airspeed, .torque{
position:absolute;
margin-top:75px;
width:100px;
text-align:right;
}
.torque{
border:2px solid #0f0;
width:92px;
padding:4px;
margin-top:100px;
}
.ibeam{
margin:auto;
width:200px;
height:300px;
margin-left:-50px;
margin-top:-135px;
margin-bottom:-300px;
}
.ib{
width:50px;
height:17.5px;
float:left;
}
.one, .two, .three, .four{
border-top:1px solid #0f0;
margin-top:75px;
}
.one, .three, .five, .seven{
border-left:1px solid #0f0;
margin-right:98px;
}
.five, .six, .seven, .eight{
border-bottom:1px dashed #0f0;
margin-top:75px;
}
.two, .four, .six, .eight{
border-right:1px solid #0f0;
}
.roll{
margin:auto;
height:100px;
width:100px;
border-radius:5em;
border-top:7px dotted #0f0;
}
.sideship{
margin:auto;
border:1px solid #0f0;
height:10px;
width:50px;
}
.sideship:before{
content:"";
position:absolute;
height:10px;
width:10px;
border-left:1px solid #0f0;
}
.sideship:after{
content:"";
position:absolute;
height:8px;
width:8px;
border-radius:10px;
border:1px solid #0f0;
}
.crosshair{
position:absolute;
top:225px;
left:300px;
height:2px;
width:2px;
background:#0f0;
}
.crosshair:before{
content:"";
position:absolute;
margin-left: -1px;
margin-top:10px;
width:2px;
height:15px;
background:#0f0;
}
.ch2:before{
content:"";
position:absolute;
margin-left: -1px;
margin-top:-24px;
width:2px;
height:15px;
background:#0f0;
}
.crosshair:after{
content:"";
position:absolute;
margin-left: 10px;
margin-top:0px;
width:15px;
height:2px;
background:#0f0;
}
.ch2:after{
content:"";
position:absolute;
margin-left: -25px;
width:15px;
height:2px;
background:#0f0;
}
</style>
(set: $depth to 8)
(set: $noMenu to true)
}{
<div class="control-panel">
<div class="monitor-off-left control-panel-monitor"></div>
<div class="control-panel-monitor">
<div class="control-panel-inner-panel inner-panel-left">
<p>Momentum</p>
<p>0</p>
<p>Target</p>
<p>10</p>
<p>Spare Parts</p>
<p>3</p>
</div>
<div class="control-panel-inner-panel inner-panel-right">
<p>I encounter an Evil Whale.</p>
<p>There is a black, sharp toothed, evil whale grinning at me. Corpses hang half out of its mouth and it casts a shadow of pure blackness.</p>
</div>
</div>
<div class="monitor-off-right control-panel-monitor"></div>
<span style="clear:both;"></span>
<div class="control-panel-controls">
<div class="control-panel-inner-panel inner-panel-left-bar"> </div>
<div class="control-panel-inner-panel inner-panel-left-bar"> </div>
<div class="control-panel-inner-panel inner-panel-middle">
<p>Use a matter or motive.</p>
<p>Use nothing.</p>
</div>
<div class="control-panel-inner-panel inner-panel-right-bar"> </div>
<div class="control-panel-inner-panel inner-panel-right-bar"> </div>
</div>
</div>
<script>
setTimeout(function(){
$(".control-panel-controls").animate({ duration: 1000 }, { step: function(now,fx) {
var x = now/30;
if(x > 30) x = 30;
var z = now/20;
if(z > 50) z = 50;
$(".control-panel-controls").css('-webkit-transform',"rotateX("+x+"deg) translateZ("+z+"px)");
},
duration:'slow'
},'linear');
$( ".control-panel-controls" ).animate({
width: "54%",
left: "48%"
}, 1000, function() {
});
}, 2000);
</script>
<style>
body {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-perspective: 1200px;
-ms-perspective: 1200px;
perspective: 1200px;
overflow: hidden;
}
.control-panel {
width: 200%;
left: -100%;
height: 780px;
margin: auto;
color: #0ff;
transform-style: preserve-3d;
position: fixed;
top: 2%;
}
.control-panel-monitor,
.control-panel-controls {
float: left;
padding: 0.5em;
width: 40%;
border: 1px solid #fff;
transform-style: preserve-3d;
background: rgba(0,255,255,0.05);
box-shadow: 0 0 5px 1px #0ff, 0 0 5px 1px #0ff inset;
position: relative;
left: 35%;
}
.control-panel-controls {
top: 0.1%;
left: 15%;
height: 45%;
}
.control-panel-monitor:before,
.control-panel-controls:before,
.control-panel-monitor:after,
.control-panel-controls:after {
content: '';
position: absolute;
top: 0;
width: 100%;
height: 100%;
background: rgba(0,255,255,0.05);
border: 1px solid;
box-shadow: 0 0 5px 1px #0ff, 0 0 5px 1px #0ff inset;
}
.control-panel-monitor:before,
.control-panel-controls:before {
left: -2px;
color: #f00;
}
.control-panel-monitor:after,
.control-panel-controls:after {
left: 2px;
color: #00f;
}
.control-panel-monitor:after {
clip: rect(72px, 400px, 23px, 0);
}
.control-panel-controls:after {
clip: rect(83px, 400px, 4px, 0);
}
.control-panel-inner-panel {
border: 1px solid #fff;
box-shadow: 0 0 5px 1px #0ff, 0 0 5px 1px #0ff inset;
padding: 0.5em;
height: 100%;
-webkit-transform-origin: center bottom;
}
.inner-panel-left{
width: 20%;
float: left;
margin-right: 1%;
}
.inner-panel-right {
width: 79%;
float: left;
}
.inner-panel-middle {
width: 78%;
float: left;
margin: 0 1%;
}
.inner-panel-left-bar, .inner-panel-right-bar {
width: 5%;
float: left;
}
.control-panel-monitor, .monitor-off-left, .monitor-off-right{
height: 60%;
}
.monitor-off-left{
float: left;
left: 35%;
top: 0;
width: 20%;
}
.monitor-off-right{
float: left;
left: 35%;
top: 0;
}
</style>
(set: $depth to 8)
(set: $noMenu to true)
}<canvas id="canvas"></canvas>{
<style>
body {
padding: 0;
margin: 0;
}
canvas {
position: absolute;
width: 100%;
height: 100%;
}
</style>
}
<script>
setTimeout(function(){ }, 2000);
$( "tw-story" ).before( '<div class="control-panel"> <div class="monitor-off-left panel"></div> <div class="control-panel-monitor panel"><div class="control-panel-inner-panel inner-panel-left"><div id="travel_momentum" >Momentum</div><div>0</div><div id="travel_target_momentum">Target</div><div>10</div><div id="travel_spare_parts">Spare Parts</div><div>3</div></div><div id="travel_text_panel" class="control-panel-inner-panel inner-panel-right"> </div> </div> <div class="monitor-off-right panel"></div> <span style="clear:both;"></span> </div>' );
var canvas = document.getElementById('canvas');
var flr = Math.floor;
canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight;
var halfw = canvas.width / 2,
halfh = canvas.height / 2,
step = 2,
warpZ = 12,
speed = 0.075;
var stampedDate = new Date();
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.fillRect(0,0, canvas.width, canvas.height);
function rnd(num1, num2) {
return flr(Math.random() * num2 * 2) + num1;
}
function getColor() {
return 'hsla(200,100%, ' + rnd(50,100) + '%, 1)';
}
var star = function() {
var v = vec3.fromValues(rnd(0 - halfw,halfw),rnd(0 - halfh,halfh), rnd(1, warpZ));
this.x = v[0];
this.y = v[1];
this.z = v[2];
this.color = getColor();
this.reset = function() {
v = vec3.fromValues(rnd(0 - halfw,halfw),rnd(0 - halfh,halfh), rnd(1, warpZ));
this.x = v[0];
this.y = v[1];
this.color = getColor();
vel = this.calcVel();
}
this.calcVel = function() {
return vec3.fromValues(0, 0, 0 - speed);
};
var vel = this.calcVel();
this.draw = function() {
vel = this.calcVel();
v = vec3.add(vec3.create(), v, vel);
var x = v[0] / v[2];
var y = v[1] / v[2];
var x2 = v[0] / (v[2] + speed * 0.50);
var y2 = v[1] / (v[2] + speed * 0.50);
ctx.strokeStyle = this.color;
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(x2, y2);
ctx.stroke();
if (x < 0 - halfw || x > halfw || y < 0 - halfh || y > halfh) {
this.reset();
}
};
}
var starfield = function() {
var numOfStars = 250;
var stars = [];
function _init() {
for(var i = 0, len = numOfStars; i < len; i++) {
stars.push(new star());
}
}
_init();
this.draw = function() {
ctx.translate(halfw, halfh);
for(var i = 0, len = stars.length; i < len; i++) {
var currentStar = stars[i];
currentStar.draw();
}
};
}
var mStarField = new starfield();
function draw() {
var millSeconds = 1000 * 10;
var currentTime = new Date();
speed = 0.025;
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.fillStyle = 'rgba(0,0,0,0.2)';
ctx.fillRect(0,0, canvas.width, canvas.height);
mStarField.draw();
window.requestAnimationFrame(draw);
}
draw();
window.onresize = function() {
canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight;
halfw = canvas.width / 2;
halfh = canvas.height / 2;
};
</script>Let's SAIL.
|text>[Go somewhere]
{
(display: "game start setup")
(display: "game values")
(display: "add dreams to memories")
(display: "add spells to spellbook")
(display: "Load Achievements")
(set: $landing_location to "")
(set: $return_ship_menu_display to true)
(set: $inv_menu_display to true)
(set: $health_display to true)
(set: $test_mode to false)
(set: $depth to 8)
(set: $SpeedRun to false)
(set: $map_level to "Deep Web")
(set: $pisces_name to "<span class='pisces'>@Pisces:</span>")
(set: $m_m_light to 0)
(set: $m_m_air to 0)
(set: $m_m_fire to 0)
(set: $m_m_chaos to 0)
(set: $m_m_fear to 0)
(set: $m_m_life to 0)
(set: $m_m_dark to 0)
(set: $m_m_earth to 0)
(set: $m_m_water to 0)
(set: $m_m_order to 0)
(set: $m_m_love to 0)
(set: $m_m_death to 0)
(set: $TravelTest to true)
(set: $TravelTestType to "player")
(if: $TravelTestType is "newbie")[
(set: $current_engine to "shitty engine")
(set: $current_sail to "patched sail")
(set: $ship_parts to it + (datamap: "shitty engine", (datamap: "description", "This engine is on its last legs. <b>+3 Momentum</b>", "expanded", false, "type", "engine", "quality", 3,"equipped", false)))
(set: $ship_parts to it + (datamap: "patched sail", (datamap: "description", "This sail is old and much repaired. <b>+3 Momentum</b>", "expanded", false, "type", "sail", "quality", 3,"equipped", false)))
(set: $health to 16)
(set: $m_m_life to 1)
(set: $m_m_dark to 10)
(set: $m_m_order to 1)
(set: $m_m_death to 1)
(set: $generic_ship_parts to 2)
(set: $web_ship to "skyhook")
](elseif: $TravelTestType is "player")[
(set: $current_engine to "search engine")
(set: $current_sail to "patched sail")
(set: $ship_parts to it + (datamap: "search engine", (datamap: "description", "A powerful engine inclined to index things. <b>+5 Momentum</b>", "expanded", false, "type", "engine", "quality", 5,"equipped", true)))
(set: $ship_parts to it + (datamap: "patched sail", (datamap: "description", "This sail is old and much repaired. <b>+3 Momentum</b>", "expanded", false, "type", "sail", "quality", 3,"equipped", false)))
(set: $health to 19)
(set: $m_m_life to 1)
(set: $m_m_love to 3)
(set: $m_m_dark to 15)
(set: $m_m_order to 1)
(set: $m_m_fire to 1)
(set: $m_m_death to 3)
(set: $m_m_light to 1)
(set: $generic_ship_parts to 5)
(set: $web_ship to "schooner")
](elseif: $TravelTestType is "expert")[
(set: $current_engine to "spidersilk sail")
(set: $current_sail to "patched sail")
(set: $ship_parts to it + (datamap: "search engine", (datamap: "description", "A powerful engine inclined to index things. <b>+5 Momentum</b>", "expanded", false, "type", "engine", "quality", 5,"equipped", true)))
(set: $ship_parts to it + (datamap: "spidersilk sail", (datamap: "description", "This lovely sail is made entirely of spidersilk. <b>+5 Momentum</b>", "expanded", false, "type", "sail", "quality", 5,"equipped", false)))
(set: $health to 19)
(set: $m_m_life to 1)
(set: $m_m_love to 3)
(set: $m_m_dark to 23)
(set: $m_m_order to 1)
(set: $m_m_fire to 1)
(set: $m_m_light to 1)
(set: $generic_ship_parts to 0)
(set: $web_ship to "debugger")
]
(set: $SpeedRun to true)
(set: $current_location to "ap")
(set: $sequence to 0)
(click: ?text)[(go-to: "Map - Deep Web")]
}(if: $current_action is "casting spell")[What spell should I cast?
(display: "Cast Spell In Place")
|next>[Do something else.]
(set: $sequence to it-1)(set: $current_action to "")
{
}
](elseif: $current_action is "resolving spell")[(set: $current_action to "")(if: $casting_spell is "SalveMundi")[(if: $searchingFor is "Parts")[I already have as much light as I can get here.](else:)[I don't think that spell would help here.]
|castingSpell>[Continue]](elseif: $casting_spell is "Omini")[I prophesize what I am likely to find here.
A list of potential prizes floats into my head.
(set: $wordlist_display to $wordlist_name)
|continueSearch>[Continue]
](else:)[I don't think that spell would help here.
|castingSpell>[Continue] ]
{
}
](elseif: $current_action is "found word")[(set: $current_action to "")(if: $harvest_all is true)[I search and find everything quickly.(set: $words_removed to 0)
(if: $grid_wordlist contains "order")[Gained 1 <span class="order">Order</span>.(set: $m_m_order to $m_m_order + 1)(set: $words_removed to $words_removed +1)
](if: $grid_wordlist contains "life")[Gained 1 <span class="life">Life</span>.(set: $m_m_life to $m_m_life + 1)(set: $words_removed to $words_removed +1)
](if: $grid_wordlist contains "earth")[Gained 1 <span class="earth">Earth</span>.(set: $m_m_earth to $m_m_earth + 1)(set: $words_removed to $words_removed +1)
](set: $wordlist_length to $wordlist_length -$words_removed)(if: $searchingFor is "Pieces of Darkness" or $searchingFor is "Pieces of Dark")[
{(set: $mm_to_change to "dark")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Life")[
{(set: $mm_to_change to "life")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Water")[
{(set: $mm_to_change to "water")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Chaos")[
{(set: $mm_to_change to "chaos")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Death")[
{(set: $mm_to_change to "death")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Light")[
{(set: $mm_to_change to "light")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Earth")[
{(set: $mm_to_change to "earth")
(set: $mm_value to $wordlist_length)
(display: "update mm")}
](elseif: $searchingFor is "Parts")[Gained $wordlist_length ship parts. (set: $generic_ship_parts to it + $wordlist_length)
]
I've found everything of use here.
There's nothing left.
|returnBase>[Stop searching.]
{
<script>
function emptyWordArray()
{
var array_name1 = getHarloweVariable("wordlist_name");
var array1 = getHarloweVariable(array_name1);
setHarloweVariable(array_name1,[]);
var array_name2 = getHarloweVariable("grid_wordlist_name2");
if(array_name2 != "" && typeof array_name2 != 'undefined'){
var array2 = getHarloweVariable(array_name2);
array2 = array2.filter( function ( elem ) {
return array1.indexOf( elem ) === -1; });
setHarloweVariable(array_name2,array2);
}
}
emptyWordArray();
</script>
}](else:)[(if: $solved_word is "order" or $solved_word is "earth" or $solved_word is "life")[I found a mote of <span class="mm">$solved_word</span>.
{(set: $mm_to_change to $solved_word)
(set: $mm_value to 1)
(display: "update mm")}
](else:)[I found a **$solved_word.**
(if: $searchingFor is "Pieces of Darkness" or $searchingFor is "Pieces of Dark")[
{(set: $mm_to_change to "dark")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Life")[
{(set: $mm_to_change to "life")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Water")[
{(set: $mm_to_change to "water")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Chaos")[
{(set: $mm_to_change to "chaos")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Death")[
{(set: $mm_to_change to "death")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Light")[
{(set: $mm_to_change to "light")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Pieces of Earth")[
{(set: $mm_to_change to "earth")
(set: $mm_value to 1)
(display: "update mm")}
](elseif: $searchingFor is "Parts")[
(set: $generic_ship_parts to it + 1)
I add it to my collection of generic ship parts.
]]
(if: $last_word is true)[I've completely picked through this area
{(set: $last_word to false)
(if: $wordlist_name is "" or $wordlist_name is "none" or $puzzles_complete contains $wordlist_name)[](else:)[(set: $puzzles_complete to it + $wordlist_name)(display: "Save Achievements")]}
There are no more useful things to find.
|returnBase>[Stop searching.]
](else:)[
|continueSearch>[Keep searching.]
|returnBase>[Stop searching.]]{
<script>
function editWordsArray()
{
var solved_word = getHarloweVariable("solved_word");
var array_name1 = getHarloweVariable("wordlist_name");
var array1 = getHarloweVariable(array_name1);
console.log(array_name1);
console.log(array1);
var index = array1.indexOf(solved_word);
if(array1.length == 1){
array1 = [];
}
else if (index > -1) {
array1.splice(index, 1);
}
setHarloweVariable(array_name1,array1);
var array_name2 = getHarloweVariable("grid_wordlist_name2");
if(array_name2 != "" && typeof array_name2 != 'undefined'){
var array2 = getHarloweVariable(array_name2);
console.log(array_name2);
console.log(array2);
index = array2.indexOf(solved_word);
if(array2.length == 1){
array2 = [];
}
else if (index > -1) {
array2.splice(index, 1);
}
setHarloweVariable(array_name2,array2);
}
}
editWordsArray();
</script>
}]
{
}](else:)[<script>
var isMobile = (navigator.userAgent.match(/iPad|iPhone|android/i) != null);
console.log("start");
setTimeout(function(){ init(); }, 50);
var alphabet="abcdefghijklmnopqrstuvwxyz";
var words=[];
var grid_indent = getHarloweVariable("grid_indent");
var grid_bottom_indent = getHarloweVariable("grid_bottom_indent");
var grid_x = getHarloweVariable("grid_x");
var grid_y = getHarloweVariable("grid_y");
var wordlist_name = getHarloweVariable("wordlist_name");
wordlist = getHarloweVariable(wordlist_name);
setHarloweVariable("grid_wordlist",wordlist);
var grid={x:grid_x,y:grid_y};
var indent=grid_indent;
var bottom_indent=grid_bottom_indent;
var listOfProph = "";
listOfProph += wordlist[0];
for(var i=1;i<wordlist.length;i++){
listOfProph += ", " + wordlist[i];
}
$("#displayWordlist").html(listOfProph);
$("#items_remaining").html("" + wordlist.length);
setHarloweVariable("wordlist_length",wordlist.length);
// GAME CYCLE ===================================================
function init(){
words=[];
$("#frame").html("").addClass("loading");
drawGrid();
setTimeout("placeWords()",50);
}
function placeWords(){
for(var i in wordlist){
var w=new Word(wordlist[i],i);
words.push(w);
//if(w.valid)$("#wordlist").append("<div class='word word-"+i+"'>"+wordlist[i]+"</div>");
}
$("#frame").removeClass("loading");
$(".grid-item").css("visibility","visible");
//$("#wordlist").fadeIn("slow");
}
function gameOver(){
}
// DRAWING ===================================================
function drawGrid(){
var blank_row_nums=[];
var blank_bottom_row_nums=[];
for(var y=0;y<grid.y;y++){
var newGridRow=$("<div class='grid-row grid-row-"+y+"'></div>");
for(var x=0;x<grid.x;x++){
var blank_row_num = Math.floor((Math.random() * indent));
if(x < indent)
{
blank_row_num = indent - x;
}
else if(x >= grid.x - indent)
{
blank_row_num = indent - (grid.x - x) + 1;
}
if(blank_row_nums.length < x + 1){
blank_row_nums.push(blank_row_num);
}
else
blank_row_num = blank_row_nums[x];
var blank_bottom_row_num = 0 ;
if(bottom_indent != 0){
blank_bottom_row_num = Math.floor((Math.random() * bottom_indent));
if(x < bottom_indent)
{
blank_bottom_row_num = bottom_indent - x;
}
else if(x >= grid.x - bottom_indent)
{
blank_bottom_row_num = bottom_indent - (grid.x - x) + 1;
}
}
if(blank_bottom_row_nums.length < x + 1){
blank_bottom_row_nums.push(blank_bottom_row_num);
}
else
blank_bottom_row_num = blank_bottom_row_nums[x];
var color_num = Math.floor(Math.random() * Math.floor(3)) + 1;
console.log("color_num",color_num);
var newGridItem=$("<div unselectable='on' id='grid-item-"+x+"-"+y+"' class='noselect grid-item grid-item-color-"+color_num+" grid-row-item-"+x+" grid-item-"+x+"-"+y+"'></div>");
if(y < blank_row_num)
newGridItem.html(ml(""));
else if(y > grid.y - blank_bottom_row_num)
newGridItem.html(ml(""));
else
newGridItem.html(ml(alphabet.charAt(Math.random()*26)));
newGridItem.css("visibility","hidden");
newGridRow.append(newGridItem);
}
newGridRow.append("<div class='anchor'></div>");
$("#frame").append(newGridRow);
}
$(".grid-item").each(addListeners);
if(isMobile){
var o=document.getElementById("frame");
o.ontouchstart=onGridItemTouchStart;
o.ontouchend=onGridItemTouchEnd;
o.ontouchmove=onGridItemTouchMove;
}
$("#frame").append("<div class='anchor'></div>");
}
//highlight a line of boxes
function drawGridLine(start,end){
var x0=parseInt(start.x);var y0=parseInt(start.y);
var x1=parseInt(end.x);var y1=parseInt(end.y);
var dx=Math.abs(x1-x0)
var dy=Math.abs(y1-y0)
var sx=(x0 < x1)? 1:-1;
var sy=(y0 < y1)? 1:-1;
var err = dx-dy;
selection.dist=0;
while(true){
selection.dist++;
gi(x0,y0).addClass("highlighted");
if (x0 == x1 && y0 == y1)break;
var e2 = 2*err;
if(e2 > -dy){
err -= dy;
x0 += sx;
}
if(e2 < dx){
err+=dx;
y0+=sy;
}
}
}
// EVENTS ===================================================
var selection=false;
//Mouse Event Listeners
function onGridItemMouseDown(e){
var gridItem=$(this);
gridItem.addClass("highlighted");
var parts=gridItem.attr("id").toString().split("-");
selection={dist:0};
selection.start={item:gridItem,x:parts[2],y:parts[3]};
}
function onGridItemMouseUp(e){
var allSolved=true;
var foundSolution = false;
for(var i in words){
if(!foundSolution){
if(words[i].check() && selection.dist==words[i].len){
var word1 = words[i].content[0].trim();
var sel1 = selection.start.item[0].innerText.toLowerCase().trim();
var word2 = words[i].content[words[i].len-1].trim();
var sel2 = selection.current.item[0].innerText.toLowerCase().trim();
if(word1 == sel1 && word2 == sel2){
words[i].solve();
foundSolution = true;
}
else if(word1 == sel2 && word2 == sel1){
words[i].solve();
foundSolution = true;
}
}
if(!words[i].solved)allSolved=false;
}
}
selection=false;
$(".highlighted").removeClass("highlighted");
if(allSolved)gameOver();
}
function onGridItemMouseOver(e){
if(selection==false)return;
var gridItem=$(this);
var parts=gridItem.attr("id").toString().split("-");
selection.current={item:gridItem,x:parts[2],y:parts[3]};
$(".highlighted").removeClass("highlighted");
drawGridLine(selection.start,selection.current);
}
// CLASSES ==================================================
function Word(newWord,id){
this.content=newWord;
this.coords=[];
this.id=id;
this.solved=false;
this.check=function(){
for(var i in this.coords){
if(!this.coords[i].hasClass("highlighted"))return false;
}
return true;
}
this.solve=function(){
$(".word-"+this.id).addClass("solved");
for(var i in this.coords)this.coords[i].addClass("solved").addClass(this.solveClass);;
this.solved=true;
window.setHarloweVariable("solved_word",this.content);
if(wordlist.length == 1){
window.setHarloweVariable("last_word",true);
}
var sequence = geth("sequence");
seth("current_action","found word");
var currentPassage = geth("currentPassage");
goToPassage(currentPassage);
}
this.place=place;
this.len=newWord.length;
this.minx=0;this.miny=0;
this.maxx=grid.x;this.maxy=grid.y;
//Constructor code
var dir=Math.floor(Math.random()*4);
if(grid.y-indent < this.len)
dir = 4;
if(dir<1){
this.addx=function(x,i){return x+i;};
this.addy=function(y,i){return y-i;};
this.maxx=grid.x-this.len;
this.miny=this.len;
this.miny=0;
this.dir="/";
this.solveClass="da";
}else if(dir<2){
this.addx=function(x,i){return x+i;};
this.addy=function(y,i){return y+i;};
this.maxx=grid.x-this.len;
this.maxy=grid.y-this.len;
this.dir="\\";
this.solveClass="dd";
}
else if(dir<3){
this.addx=function(x,i){return x;};
this.addy=function(y,i){return y+i;};
this.maxx=grid.x;
this.maxy=grid.y-this.len;
this.dir="|"
this.solveClass="v";
}else{
this.addx=function(x,i){return x+i;};
this.addy=function(y,i){return y;};
this.maxx=grid.x-this.len;
this.maxy=grid.y;
this.dir="-";
this.solveClass="h";
}
this.valid=this.place();
}
// HELPERS ==================================================
function addListeners(){
if(isMobile)return;
$(this).mousedown(onGridItemMouseDown);
$(this).mouseup(onGridItemMouseUp);
$(this).mouseover(onGridItemMouseOver);
}
function place(){
var o=this;
var x,y;
var valid=false;
//var reverse=Math.round(Math.random()*.9)==0;
var reverse=false;
var timeout=0;
while(!valid){
x=o.minx+Math.floor(Math.random()*(o.maxx-o.minx));
y=o.miny+Math.floor(Math.random()*(o.maxy-o.miny));
valid=true;
for(var i=0;i<o.len;i++){
var item=gi(o.addx(x,i),o.addy(y,i));
var c=(!reverse)?o.content.charAt(i):o.content.charAt(o.len-(i+1));
if(item.find(".letter").html()!=c && item.hasClass('used'))valid=false;
if(item.find(".letter").html()=="")valid=false;
}
if(timeout++>500){
//setTimeout("init()",50);
log(" !! Can't fit "+o.content)
return false;
}
}
//draw words
var currentPassage = window.getHarloweVariable("currentPassage");
for(var i=0;i<o.len;i++){
var item=gi(o.addx(x,i),o.addy(y,i));
var c=(!reverse)?o.content.charAt(i):o.content.charAt(o.len-(i+1));
item.html(ml(c));
item.addClass("used");
if(currentPassage == "Darkness of the Ocean, Southeast")
item.addClass("hint-glow");
o.coords.push(item);
//log(" setting",x+i,y+i,"to",o.content.charAt(i).toUpperCase(),item);
}
//log(o.dir,o.content,"placed at",x+","+y,(reverse)?"(r)":"");
return true;
}
function log(){
var args = Array.prototype.slice.call(arguments);
//args.unshift('log');
try{console.log(args.join(" "));}
catch(e){}
}
//Get grid item
function gi(x,y){
return $(".grid-item-"+x+"-"+y);
}
//get grid item by coordinates
function gic(x,y){
var c=$("#frame").offset();
var x=Math.floor((x-c.left)/($(".grid-item").width()+2));
var y=Math.floor((y-c.top)/($(".grid-item").height()+2));
return gi(x,y);
}
//make letter
function ml(letter){
return "<div unselectable='on' class='letter noselect'>"+letter.toUpperCase()+"</div>";
}
function inspect(o){
var res=o+" { ";
for(var i in o)res+=i+":"+o[i]+" ";
return res+"}";
}</script>{
<style>
#wrapper{
height: 350px;
display: inline-block;
}
#frame{
border:1px solid #999;
}
#wordlist{
margin:10px 20px;
float:left;
text-align:left;
}
.grid-item{
float:left;
height:25px;
width:25px;
border:1px solid #999;
background-color: transparent;
}
.letter{
font-family: Tahoma,Verdana;
font-weight: bold;
text-align: center;
vertical-align: middle;
line-height:15pt;
padding-top:2px;
}
.anchor{clear:both;}
.noselect{
user-select: none;
}
.grid-item.selected{
background-color:#FFFFFF;
border:1px dotted black;
}
.highlighted{
background-color:#333;
border:1px solid #F00;
cursor:pointer;
}
.show{
color:deepskyblue;
}
.word{
font-family: Tahoma,Verdana;
margin:5px;
display:block;
font-size:16pt;
font-weight: bold;
color:black;
}
.big-word{
font-family: Tahoma,Verdana;
font-weight: bold;
font-size:20pt;
color:#999;
}
.word.solved{
color:#999;
text-decoration: line-through;
}
.grid-item.solved.h{
background-image: url(hl-h.png);
background-position: center center;
}
.grid-item.solved.v{
background-image: url(hl-v.png);
background-position: center center;
}
.grid-item.solved.da{
background-image: url(hl-da.png);
background-position: center center;
}
.grid-item.solved.dd{
background-image: url(hl-dd.png);
background-position: center center;
}
.loading{
background-position: center center;
background-repeat: no-repeat;
}
.grid-item {
height: 35px;
width: 35px;
border: none;
}
.letter {
cursor: pointer;
padding-top: 4px;
}
#frame {
border: none;
}
</style>
(if: $grid_y < 7)[<style>#wrapper{height: 250px;}</style>]
(elseif: $grid_y < 8)[<style>#wrapper{height: 300px;}</style>]
(elseif: $grid_y < 10)[<style>#wrapper{height: 350px;}</style>]
(else:)[<style>#wrapper{height: 350px;}</style>]
}<span id="wrapper"><span id="frame" class='noselect'></span>
</span>
$searchingFor Left: <span id="items_remaining"></span>(if: $wordlist_display is not "" and $wordlist_display is $wordlist_name)[
Parts Prophesized: <span id='displayWordlist'></span>]
|refresh>[Get a new perspective.]
|castingSpell>[Cast a spell.]
|returnBase>[Give up.](if: $wordlist_name is not "" and $puzzles_complete is not 0 and $puzzles_complete contains $wordlist_name)[
|harvest>[I've done this puzzle before. I can find everything quickly.]] ]{
(click: ?continueSearch)[(set: $current_action to "")(go-to: $currentPassage)]
(click: ?castingSpell)[(set: $current_action to "casting spell")(go-to: $currentPassage)]
(click: ?harvest)[(set: $harvest_all to true)(set: $current_action to "found word")(go-to: $currentPassage) ]
(set: $harvest_all to false)
(if: $searchColor is "Blue")[
<style>
.grid-item.solved{ color:deepskyblue; }
.grid-item{ color:#333; }
.grid-item-color-1 { color: #55f; }
.grid-item-color-2 { color: #66f; }
.grid-item-color-3 { color: #44f; }
</style>]
(if: $searchColor is "Dark")[
<style>
.grid-item.solved{ color:deepskyblue; }
.grid-item{ color:#333; }
.grid-item-color-1 { color: #555; }
.grid-item-color-2 { color: #666; }
.grid-item-color-3 { color: #444; }
</style>]
(if: $searchColor is "Green")[
<style>
.grid-item.solved{ color:deepskyblue; }
.grid-item{ color:#333; }
.grid-item-color-1 { color: #555; }
.grid-item-color-2 { color: mediumseagreen; }
.grid-item-color-3 { color: darkseagreen; }
</style>]
(if: $searchColor is "Brown")[
<style>
.grid-item.solved{ color:deepskyblue; }
.grid-item{ color:#333; }
.grid-item-color-1 { color: #555; }
.grid-item-color-2 { color: sandybrown; }
.grid-item-color-3 { color: saddlebrown; }
</style>]
(if: $searchColor is "Yellow")[
<style>
.grid-item.solved{ color:deepskyblue; }
.grid-item{ color:#333; }
.grid-item-color-1 { color: goldenrod; }
.grid-item-color-2 { color: gold; }
.grid-item-color-3 { color: darkgoldenrod; }
</style>]
}(set: $solution to "")
=><==
(if: $m_m_life > 0)[ <a name='life' onclick='castSpell(this)' class='inv-item-header cast-spell life'>Life</a> ](else:)[ <span class="dimLink">Life</span> ]
==><=
(if: $m_m_air > 0)[ <a name='air' onclick='castSpell(this)' class='inv-item-header cast-spell air'>Air</a> ](else:)[ <span class="dimLink">Air</span> ]
=><===
(if: $m_m_love > 0)[ <a name='love' onclick='castSpell(this)' class='inv-item-header cast-spell love'>Love</a> ](else:)[ <span class="dimLink">Love</span> ]
===><=
(if: $m_m_water > 0)[ <a name='water' onclick='castSpell(this)' class='inv-item-header cast-spell water'>Water</a> ](else:)[ <span class="dimLink">Water</span> ]
=><====
(if: $m_m_chaos > 0)[ <a name='chaos' onclick='castSpell(this)' class='inv-item-header cast-spell chaos'>Chaos</a> ](else:)[ <span class="dimLink">Chaos</span> ]
====><=
(if: $m_m_dark > 0)[ <a name='dark' onclick='castSpell(this)' class='inv-item-header cast-spell dark'>Dark</a> ](else:)[ <span class="dimLink">Dark</span> ]
=><====
(if: $m_m_light > 0)[ <a name='light' onclick='castSpell(this)' class='inv-item-header cast-spell light'>Light</a> ](else:)[ <span class="dimLink">Light</span> ]
====><=
(if: $m_m_order > 0)[ <a name='order' onclick='castSpell(this)' class='inv-item-header cast-spell order'>Order</a> ](else:)[ <span class="dimLink">Order</span> ]
=><===
(if: $m_m_fire > 0)[ <a name='fire' onclick='castSpell(this)' class='inv-item-header cast-spell fire'>Fire</a> ](else:)[ <span class="dimLink">Fire</span> ]
===><=
(if: $m_m_fear > 0)[ <a name='fear' onclick='castSpell(this)' class='inv-item-header cast-spell fear'>Fear</a> ](else:)[ <span class="dimLink">Fear</span> ]
=><==
(if: $m_m_earth > 0)[ <a name='earth' onclick='castSpell(this)' class='inv-item-header cast-spell earth'>Earth</a> ](else:)[ <span class="dimLink">Earth</span> ]
==><=
(if: $m_m_death > 0)[ <a name='death' onclick='castSpell(this)' class='inv-item-header cast-spell death'>Death</a> ](else:)[ <span class="dimLink">Death</span> ]
=><=
{
(set: $return_passage to $currentPassage)
(set: $basePassage to $currentPassage)
(if: $destination is "Fiddler's Green" and $fg_fiddler_follow is true)[(set: $fg_pisces_last_action to "mm")]
<script>
function castSpell(e){
console.log("castSpell");
setHarloweVariable("using_element",e.name);
var currentPassage = getHarloweVariable("currentPassage");
var sequence = getHarloweVariable("sequence");
setHarloweVariable("sequence",sequence+1);
console.log("currentPassage",currentPassage);
goToPassage(currentPassage);
}
</script>
<style>
.inv-item { padding: 0 0 1em 16px; text-align: left; }
.inv-item tw-hook tw-link { color: #8cf; }
.inv-item-header { }
.cast-spell {
cursor: pointer;
font-weight: bold;
}
.cast-spell:hover {
color: #749cf4;
}
</style>
}(if: $incorrect_assembly is true)[//That wasn't the right order. Let me try again.//](else:)[]
<span id="part1"> </span>
<a onClick='switch_parts(1,2)'>SWITCH</a>
<span id="part2"> </span>
<a onClick='switch_parts(2,3)'>SWITCH</a>
<span id="part3"> </span>(if: $part4 is not "")[
<a onClick='switch_parts(3,4)'>SWITCH</a>
<span id="part4"> </span>](if: $part5 is not "")[
<a onClick='switch_parts(4,5)'>SWITCH</a>
<span id="part5"> </span>](if: $part6 is not "")[
<a onClick='switch_parts(5,6)'>SWITCH</a>
<span id="part6"> </span>](if: $part7 is not "")[
<a onClick='switch_parts(6,7)'>SWITCH</a>
<span id="part7"> </span>]
|check>[I think this order is correct.](click: ?check)[<script>set_variables();</script> ]
|return>[Give up.]
{
<script>
function setup(){
var part1 = getHarloweVariable("part1");
var part2 = getHarloweVariable("part2");
var part3 = getHarloweVariable("part3");
var part4 = getHarloweVariable("part4");
var part5 = getHarloweVariable("part5");
var part6 = getHarloweVariable("part6");
var part7 = getHarloweVariable("part7");
$("#part1").html(part1);
$("#part2").html(part2);
$("#part3").html(part3);
$("#part4").html(part4);
$("#part5").html(part5);
$("#part6").html(part6);
$("#part7").html(part7);
}
setup();
function switch_parts(num1,num2){
var save_text1 =$("#part" + num1).html();
var save_text2 =$("#part" + num2).html();
$("#part" + num1).html(save_text2);
$("#part" + num2).html(save_text1);
}
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.split(search).join(replacement);
};
function set_variables(){
var save_text1 =$("#part1").html();
setHarloweVariable("part1",save_text1);
var save_text2 =$("#part2").html();
setHarloweVariable("part2",save_text2);
var save_text3 =$("#part3").html();
setHarloweVariable("part3",save_text3);
var save_text4 =$("#part4").html();
setHarloweVariable("part4",save_text4);
var save_text5 =$("#part5").html();
setHarloweVariable("part5",save_text5);
var save_text6 =$("#part6").html();
setHarloweVariable("part6",save_text6);
var save_text7 =$("#part7").html();
setHarloweVariable("part7",save_text7);
var argCorrect = true;
if(save_text1 != getHarloweVariable("part1_check")) argCorrect = false;
if(save_text2 != getHarloweVariable("part2_check")) argCorrect = false;
if(save_text3 != getHarloweVariable("part3_check")) argCorrect = false;
if(save_text4 != null) if(save_text4 != getHarloweVariable("part4_check")) argCorrect = false;
if(save_text5 != null) if(save_text5 != getHarloweVariable("part5_check")) argCorrect = false;
if(save_text6 != null) if(save_text6 != getHarloweVariable("part6_check")) argCorrect = false;
if(save_text7 != null) if(save_text7 != getHarloweVariable("part7_check")) argCorrect = false;
var currentPassage = geth("currentPassage");
if(argCorrect){
var sequence = geth("sequence");
seth("sequence",sequence+1);
goToPassage(currentPassage);
}
else{
setHarloweVariable("incorrect_assembly",true);
goToPassage(currentPassage);
}
}
</script>
}(if: $sequence is 0)[I am flying.
|next>[Continue]{
(display: "aMiF Variables")
(set: $noBox to true)
(set: $inIntro to true)
<script>changeBackgroundExt("intro-wave1",".png");</script>
(set: $depth to 7)
}](elseif: $sequence is 1)[No.
Better than flying.
I am sailing.
|next>[Continue]
](elseif: $sequence is 2)[I steer through through currents of motivation.
I bank left to avoid an <span class="emph">idea</span>, fluttering and bright, looking for a mind to land in.
A passive-aggressive undertow tugs at my rudder.
I open my sail and catch a <span class="love">joy</span> thermal.
I float up.
|next>[Continue]
](elseif: $sequence is 3)[I am sailing the Web.
The world below the |real>['real' world.](click: ?real)[
//Though no less real than ours.//]
A place of thoughts, emotions, spirits, and dreams.
|skip>[Continue]
](elseif: $sequence is 5)[A wave of emotion crests under me and I ride it forward.
I gun my |eng>[short-burst engines.](click: ?eng)[
//Used for take-offs and delicate maneuvering.//]
As in most webships, my engines are |steam>[Steam powered.](click: ?steam)[
//Fueled by enjoyment, excitement, and frustration derived from playing video games.//]
|next>[Continue]
](elseif: $sequence is 6)[I browse my library of games.
I have so many I've never tried.
I decide to choose a new one.
|skip2>[Play a game about preventing forest fires and being a bad husband.]
|skip2>[Play a dating game about pigeons.]
|skip2>[Play a dystopian document thriller.]
(if: $played_freddy is true)[|gray>[Play a terrifying game about animatronics.] (click: ?gray)[//Fuck that game.//] ](else:)[|next>[Play a terrifying game about animatronics.] ]
|skip2>[Play a platformer about a knight with a shovel.]
|skip2>[Play a sad and inspiring game about rectangles.]
|skip>[Play a punishingly hard game about poorly lit ghosts.]
](elseif: $sequence is 7)[I start playing.
The short-burst engines flare to life with...
HOLYSHITFUCKWHATISTHAT.
I turn off the game.
Never playing that again.
(set: $played_freddy to true)
|games>[Continue]
](elseif: $sequence is 8)[I boot up the game and try to play it.
I find it frustratingly hard.
There are more enjoyable ways to spend my time.
I turn off the game.
|games>[Continue]
](elseif: $sequence is 9)[I start playing.
The short-burst engines flare to life with new power.
I surf the wave of emotion.
|fairy>[Continue]
]{
(click: ?games)[(set: $sequence to 6)(go-to: $currentPassage)]
(click: ?fairy)[(set: $sequence to 1)(go-to: "Fairyland")]
(set: $f_season to "summer")
}{
(display: "game values")
(display: "add dreams to memories")
(display: "add spells to spellbook")
(set: $east_text to "Roll east.")
(set: $west_text to "Roll west.")
(set: $north_text to "Roll north.")
(set: $south_text to "Roll south.")
(set: $spells's "SalveMundi"'s compiled to true)
(set: $spells's "SalveMundi"'s part1_found to true)
(set: $spells's "Omini"'s compiled to true)
(set: $spells's "Omini"'s part1_found to true)
(set: $spells's "Unbabble"'s compiled to true)
(set: $spells's "Unbabble"'s part1_found to true)
(set: $spells's "Mute"'s compiled to true)
(set: $spells's "Mute"'s part1_found to true)
(set: $spells's "Suffero"'s compiled to true)
(set: $spells's "Suffero"'s part1_found to true)
(set: $spells's "Dream"'s compiled to true)
(set: $spells's "Dream"'s part1_found to true)
(set: $spells's "Textilekinesis"'s compiled to true)
(set: $spells's "Textilekinesis"'s part1_found to true)
(set: $memories's "i am a sorcerer"'s completed to false)
(set: $memories's "i am a sorcerer"'s part1_found to false)
(set: $memories's "i am a sorcerer"'s part2_found to false)
(set: $memories's "i am a sorcerer"'s part3_found to false)
(set: $m_m_light to 0)
(set: $m_m_air to 0)
(set: $m_m_fire to 0)
(set: $m_m_chaos to 0)
(set: $m_m_fear to 0)
(set: $m_m_life to 0)
(set: $m_m_dark to 0)
(set: $m_m_earth to 0)
(set: $m_m_water to 0)
(set: $m_m_order to 0)
(set: $m_m_love to 0)
(set: $m_m_death to 0)
(set: $inv_menu_display to true)
(set: $sequence to 0)
(set: $health to 40)
(set: $health_display to true)
(set: $web_ship to "schooner")
(set: $test_mode to false)
(set: $pisces_name to "<span class='pisces'>@Pisces:</span>")
(set: $inventory to it + (datamap: "wheelchair gloves", (datamap: "description", "Fingerless leather gloves that keep my hands safe while I wheel myself around.","expanded",false)))
(set: $f_season to "summer")
(set: $f_chaosScavenge to (a: "anarchy","tumult","pandemonium","bedlam","muddle","chaos"))
(set: $f_lightScavenge to (a: "gleam","glow","bright","sunny","shine"))
(set: $f_darkScavenge to (a: "dark", "gloom", "shadow"))
(set: $f_toll_paid to false)
(set: $f_goat_unbabbled to false)
(set: $f_goated to false)
(set: $f_goat_state to "alert")
(set: $f_first_city to false)
(set: $f_carpet_block to true)
(set: $f_city_explore to 0)
(set: $f_found_message_board to false)
(set: $f_found_gambler to false)
(set: $f_heard_love_rumor to false)
(set: $f_talked_love_rumor to false)
(set: $f_gob_horn to "stocked")
(set: $f_gob_engine to "stocked")
(set: $f_gob_willow to "stocked")
(set: $f_gob_detect to "stocked")
(set: $f_gob_camera to "stocked")
(set: $f_gob_cloak to "stocked")
(set: $f_gob_form to "stocked")
(set: $f_gob_pitput to "stocked")
(set: $f_gob_dream to "stocked")
(set: $f_gnome_protest to "active")
(set: $f_palace_ramp to false)
(set: $f_spoke_david to false)
(set: $f_david_request to false)
(set: $f_ramp_installed to false)
(set: $f_gnome_mab_promise to false)
(set: $f_edicts_fast_enter to false)
(set: $f_first_edicts to false)
(set: $f_formHours to "4:35 to 4:40")
(set: $f_formStartHour to 4)
(set: $f_formEndHour to 4)
(set: $f_formStartMin to 35)
(set: $f_formEndMin to 40)
(set: $f_clockStopped to false)
(set: $f_signChanged to false)
(set: $f_stoppedHour to 0)
(set: $f_stoppedMinute to 0)
(set: $f_timesRejected to 0)
(set: $f_mathias_gateway_talked to false)
(set: $f_mathias_in_palace to false)
(set: $f_mathias_state to "alive")
(set: $f_mathias_lirana_allies to false)
(set: $f_mathias_mab_allies to false)
(set: $f_mathias_location to "")
(set: $f_titania_interview to false)
(set: $f_stair_look to false)
(set: $f_thread_state to "unseen")
(set: $f_arrow_state to "present")
(set: $f_took_delicia_bribe to false)
(set: $f_tea_assassin_count to 0)
(set: $f_tea_assassin to false)
(set: $f_took_lirana_bribe to false)
(set: $f_lirana_revealed_forensics to false)
(set: $f_library_classified_access to false)
(set: $f_rine_claim to "unmade")
(set: $f_xylia_revealed to "unrevealed")
(set: $f_nyx_form to "ungiven")
(set: $f_nyx_instrument to "lute")
(set: $f_nyx_promise to "")
(set: $f_rine_corpse to "")
(set: $f_rine_promise to "")
(set: $f_mab_support to "Heir Nyx")
(set: $f_titania_support to "")
(set: $f_dragonfly_wings to "mounted")
(set: $f_mab_state to "upstairs")
(set: $f_delicia_state to "unknown")
(set: $f_xylia_state to "unknown")
(set: $f_nyx_state to "unknown")
(set: $f_lirana_state to "unknown")
(set: $f_rine_state to "unknown")
(set: $polt_name to "<span class='polt'>@Poltergeist:</span>")
(set: $peepmom_name to "<span class='peep'>@Peep's Mother:</span>")
(set: $goat_name to "<span class='goat'>@Goat:</span>")
(set: $gambler_name to "<span class='gambler'>@Gambler:</span>")
(set: $fairy_name to "<span class='npc'>@Fairy:</span>")
(set: $guard_name to "<span class='npc'>@Guard:</span>")
(set: $cook_name to "<span class='npc'>@Cook:</span>")
(set: $teapix_name to "<span class='npc'>@TeaPixie:</span>")
(set: $library_name to "<span class='npc'>@Library:</span>")
(set: $david_name to "<span class='david'>@David:</span>")
(set: $secretary_name to "<span class='secretary'>@Secretary:</span>")
(set: $titania_name to "<span class='titania'>@Titania:</span>")
(set: $mab_name to "<span class='mab'>@Mab:</span>")
(set: $delicia_name to "<span class='delicia'>@Delicia:</span>")
(set: $xylia_name to "<span class='xylia'>@Xylia:</span>")
(set: $nyx_name to "<span class='nyx'>@Nyx:</span>")
(set: $lirana_name to "<span class='lirana'>@Lirana:</span>")
(set: $rine_name to "<span class='rine'>@Rinecoat:</span>")
(set: $f_web_page_state to "none")
(if: $SpeedRun is true)[
(set: $f_first_city to true)
(set: $f_found_message_board to true)
(set: $f_spoke_david to true)
(set: $f_delicia_state to "present")
(set: $f_xylia_state to "present")
(set: $f_nyx_state to "present")
(set: $f_lirana_state to "present")
(set: $f_rine_state to "present")
]
(set: $f_polt_state to "unstolen")
(set: $amif to true)
(set: $inIntro to true)
}{
(set: $f_season to "summer")
(set: $f_chaosScavenge to (a: "anarchy","tumult","pandemonium","bedlam","muddle"))
(set: $f_lightScavenge to (a: "gleam","glow","bright","sunny","shine"))
(set: $f_darkScavenge to (a: "dark", "gloom", "shadow"))
(set: $f_toll_paid to false)
(set: $f_goat_unbabbled to false)
(set: $f_goated to false)
(set: $f_goat_state to "alert")
(set: $f_first_city to false)
(set: $f_carpet_block to true)
(set: $f_city_explore to 0)
(set: $f_found_message_board to false)
(set: $f_found_gambler to false)
(set: $f_heard_love_rumor to false)
(set: $f_talked_love_rumor to false)
(set: $f_gob_horn to "stocked")
(set: $f_gob_engine to "stocked")
(set: $f_gob_willow to "stocked")
(set: $f_gob_detect to "stocked")
(set: $f_gob_camera to "stocked")
(set: $f_gob_cloak to "stocked")
(set: $f_gob_form to "stocked")
(set: $f_gob_pitput to "stocked")
(set: $f_gob_dream to "stocked")
(set: $f_gnome_protest to "active")
(set: $f_ramp_installed to false)
(set: $f_spoke_david to false)
(set: $f_david_request to false)
(set: $f_ramp_installed to false)
(set: $f_gnome_mab_promise to false)
(set: $f_edicts_fast_enter to false)
(set: $f_first_edicts to false)
(set: $f_formHours to "4:35 to 4:40")
(set: $f_formStartHour to 4)
(set: $f_formEndHour to 4)
(set: $f_formStartMin to 35)
(set: $f_formEndMin to 40)
(set: $f_clockStopped to false)
(set: $f_signChanged to false)
(set: $f_stoppedHour to 0)
(set: $f_stoppedMinute to 0)
(set: $f_timesRejected to 0)
(set: $f_mathias_gateway_talked to false)
(set: $f_mathias_in_palace to false)
(set: $f_mathias_state to "alive")
(set: $f_mathias_lirana_allies to false)
(set: $f_mathias_mab_allies to false)
(set: $f_mathias_location to "")
(set: $f_titania_interview to false)
(set: $f_stair_look to false)
(set: $f_thread_state to "unseen")
(set: $f_arrow_state to "present")
(set: $f_took_delicia_bribe to false)
(set: $f_tea_assassin_count to 0)
(set: $f_tea_assassin to false)
(set: $f_took_lirana_bribe to false)
(set: $f_lirana_revealed_forensics to false)
(set: $f_library_classified_access to false)
(set: $f_rine_claim to "unmade")
(set: $f_xylia_revealed to "unrevealed")
(set: $f_nyx_form to "ungiven")
(set: $f_nyx_instrument to "lute")
(set: $f_nyx_promise to "")
(set: $f_rine_corpse to "")
(set: $f_rine_promise to "")
(set: $f_mab_support to "Heir Nyx")
(set: $f_titania_support to "")
(set: $f_dragonfly_wings to "mounted")
(set: $f_mab_state to "upstairs")
(set: $f_delicia_state to "unknown")
(set: $f_xylia_state to "unknown")
(set: $f_nyx_state to "unknown")
(set: $f_lirana_state to "unknown")
(set: $f_rine_state to "unknown")
(set: $peepmom_name to "<span class='peep'>@Peep's Mother:</span>")
(set: $goat_name to "<span class='goat'>@Goat:</span>")
(set: $gambler_name to "<span class='gambler'>@Gambler:</span>")
(set: $fairy_name to "<span class='npc'>@Fairy:</span>")
(set: $guard_name to "<span class='npc'>@Guard:</span>")
(set: $cook_name to "<span class='npc'>@Cook:</span>")
(set: $teapix_name to "<span class='npc'>@TeaPixie:</span>")
(set: $library_name to "<span class='npc'>@Library:</span>")
(set: $david_name to "<span class='david'>@David:</span>")
(set: $secretary_name to "<span class='secretary'>@Secretary:</span>")
(set: $titania_name to "<span class='titania'>@Titania:</span>")
(set: $mab_name to "<span class='mab'>@Mab:</span>")
(set: $delicia_name to "<span class='delicia'>@Delicia:</span>")
(set: $xylia_name to "<span class='xylia'>@Xylia:</span>")
(set: $nyx_name to "<span class='nyx'>@Nyx:</span>")
(set: $lirana_name to "<span class='lirana'>@Lirana:</span>")
(set: $rine_name to "<span class='rine'>@Rinecoat:</span>")
(set: $f_web_page_state to "none")
(if: $SpeedRun is true)[
(set: $f_first_city to true)
(set: $f_found_message_board to true)
(set: $f_spoke_david to true)
(set: $f_delicia_state to "present")
(set: $f_xylia_state to "present")
(set: $f_nyx_state to "present")
(set: $f_lirana_state to "present")
(set: $f_rine_state to "present")
]
(if: $test_mode is false)[<script>visitLocation("f");</script>]
}''Writing'' by Abigail Corfman
''Code'' by Abigail Corfman
See more of Abigail's work at <a href="http://www.abigailcorfman.com/" target="_blank">Her Website</a>
''Background Art'' by Fish
See more of Fish's work at <a href="http://www.myoats.com/users/Fish" target="_blank">Their Website</a>
''Additional Code''
''Scavenging Word Search'' based on the work of Caleb Jones
<a href="http://www.brainjunkie.com/web/js-wordsearch/" target="_blank">brainjunkie</a>
''Sounds''
<a href="http://www.soundscalpel.com" target="_blank" style="color: #41595a;">Bone Breaking</a> by Soundscalpel via freesound
''Images''
''Tarot Icons'' by <a href="https://lorcblog.blogspot.com/">Lorc</a> and <a href="http://delapouite.com/">Delapouite</a>
''Beta Testers''
Danny Corfman
Fish
Thursday Cruise
Julia Krystosek
Sam Berck
Sara Rodhjort(if: $sequence is 0)[Thank you for playing "A Murder in Fairyland."
The further adventures of Pisces will be released in January 2021 in the game:
<a target="_blank" href='https://store.steampowered.com/app/737050/Open_Sorcery_Sea/'>Open Sorcery: Sea++</a>
Would you like to |Restart>[Play Again?]
Or maybe: |menu_ack>[View Credits]{
(click: ?menu_ack)[(go-to: "Menu_Ack")]
<script>changeBackground("");</script>
}
](elseif: $sequence is 1)[
](elseif: $sequence is 2)[
](elseif: $sequence is 3)[
](elseif: $sequence is 4)[
](elseif: $sequence is 5)[
](elseif: $sequence is 6)[
](elseif: $sequence is 7)[
](elseif: $sequence is 8)[
](elseif: $sequence is 9)[
](elseif: $sequence is 10)[
](elseif: $sequence is 11)[
](elseif: $sequence is 12)[
](elseif: $sequence is 13)[
](elseif: $sequence is 14)[
](elseif: $sequence is 15)[
](elseif: $sequence is 16)[
]{
}(if: $mobile is false)[[<div id="answer" style="height: 20px;"></div>]<answer|
<tw-link style="color: cadetblue; font-size: 190%;" onclick='$("#answer").html( $("#answer").html() + "q" );'>q</tw-link> <tw-link style="color: cornflowerblue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "w" );'>w</tw-link> <tw-link style="color: blue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "e" );'>e</tw-link> <tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "r" );'>r</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "t" );'>t</tw-link> <tw-link style="color: cornflowerblue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "y" );'>y</tw-link> <tw-link style="color: cadetblue; font-size: 170%;" onclick='$("#answer").html( $("#answer").html() + "u" );'>u</tw-link> <tw-link style="color: cornflowerblue; font-size: 120%;" onclick='$("#answer").html( $("#answer").html() + "i" );'>i</tw-link> <tw-link style="color: cadetblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "o" );'>o</tw-link> <tw-link style="color: cadetblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "p" );'>p</tw-link>
<tw-link style="color: cadetblue; font-size: 160%;" onclick='$("#answer").html( $("#answer").html() + "a" );'>a</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "s" );'>s</tw-link> <tw-link style="color: blue; font-size: 140%;" onclick='$("#answer").html( $("#answer").html() + "d" );'>d</tw-link> <tw-link style="color: cadetblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "f" );'>f</tw-link> <tw-link style="color: cornflowerblue; font-size: 120%;" onclick='$("#answer").html( $("#answer").html() + "g" );'>g</tw-link> <tw-link style="color: cornflowerblue; font-size: 230%;" onclick='$("#answer").html( $("#answer").html() + "h" );'>h</tw-link> <tw-link style="color: cadetblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "j" );'>j</tw-link> <tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "k" );'>k</tw-link> <tw-link style="color: cornflowerblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "l" );'>l</tw-link>
<tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "z" );'>z</tw-link> <tw-link style="color: cadetblue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "x" );'>x</tw-link> <tw-link style="color: blue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "c" );'>c</tw-link> <tw-link style="color: cornflowerblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "v" );'>v</tw-link> <tw-link style="color: cadetblue; font-size: 190%;" onclick='$("#answer").html( $("#answer").html() + "b" );'>b</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "n" );'>n</tw-link> <tw-link style="color: cadetblue; font-size: 170%;" onclick='$("#answer").html( $("#answer").html() + "m" );'>m</tw-link>
<tw-link style="color: cornflowerblue; font-size: 150%;" onclick='$("#answer").html("");'>clear</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + " " );'>space</tw-link>](else:)[[<div id="answer" style="height: 20px;"></div>]<answer|
<tw-link style="color: cadetblue; font-size: 190%;" onclick='$("#answer").html( $("#answer").html() + "q" );'>q</tw-link> <tw-link style="color: cornflowerblue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "w" );'>w</tw-link> <tw-link style="color: blue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "e" );'>e</tw-link> <tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "r" );'>r</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "t" );'>t</tw-link>
<tw-link style="color: cornflowerblue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "y" );'>y</tw-link> <tw-link style="color: cadetblue; font-size: 170%;" onclick='$("#answer").html( $("#answer").html() + "u" );'>u</tw-link> <tw-link style="color: cornflowerblue; font-size: 120%;" onclick='$("#answer").html( $("#answer").html() + "i" );'>i</tw-link> <tw-link style="color: cadetblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "o" );'>o</tw-link> <tw-link style="color: cadetblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "p" );'>p</tw-link>
<tw-link style="color: cadetblue; font-size: 160%;" onclick='$("#answer").html( $("#answer").html() + "a" );'>a</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "s" );'>s</tw-link> <tw-link style="color: blue; font-size: 140%;" onclick='$("#answer").html( $("#answer").html() + "d" );'>d</tw-link> <tw-link style="color: cadetblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "f" );'>f</tw-link>
<tw-link style="color: cornflowerblue; font-size: 120%;" onclick='$("#answer").html( $("#answer").html() + "g" );'>g</tw-link> <tw-link style="color: cornflowerblue; font-size: 230%;" onclick='$("#answer").html( $("#answer").html() + "h" );'>h</tw-link> <tw-link style="color: cadetblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "j" );'>j</tw-link> <tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "k" );'>k</tw-link> <tw-link style="color: cornflowerblue; font-size: 130%;" onclick='$("#answer").html( $("#answer").html() + "l" );'>l</tw-link>
<tw-link style="color: blue; font-size: 110%;" onclick='$("#answer").html( $("#answer").html() + "z" );'>z</tw-link> <tw-link style="color: cadetblue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "x" );'>x</tw-link> <tw-link style="color: blue; font-size: 210%;" onclick='$("#answer").html( $("#answer").html() + "c" );'>c</tw-link> <tw-link style="color: cornflowerblue; font-size: 180%;" onclick='$("#answer").html( $("#answer").html() + "v" );'>v</tw-link>
<tw-link style="color: cadetblue; font-size: 190%;" onclick='$("#answer").html( $("#answer").html() + "b" );'>b</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + "n" );'>n</tw-link> <tw-link style="color: cadetblue; font-size: 170%;" onclick='$("#answer").html( $("#answer").html() + "m" );'>m</tw-link>
<tw-link style="color: cornflowerblue; font-size: 150%;" onclick='$("#answer").html("");'>clear</tw-link> <tw-link style="color: blue; font-size: 150%;" onclick='$("#answer").html( $("#answer").html() + " " );'>space</tw-link>]{
<script>
function harvestAnswer(){
var answer = $("#answer").html();
setHarloweVariable("answer",answer);
$("#display_answer").html(answer);
}
</script>}