This commit is contained in:
@@ -358,6 +358,9 @@
|
||||
"sensei chi": "sensei chi: the search is also searching you.",
|
||||
"young z": "Search result: age 7, blanket cape, crayon sun.",
|
||||
"future z": "future z: I cannot spoil the ending. I can say keep going.",
|
||||
"gentle constellarium": "The observatory sky loosens. A thread is waiting to be steadied.",
|
||||
"return log": "future z has delayed the message just enough for it to mean something.",
|
||||
"subconscious index": "The website answers in objects when ordinary search gets too direct.",
|
||||
"2022": "lima layer: beginning stored as warmth, not trivia.",
|
||||
"oct 2025": "Engagement memory: the calendar learned to glow.",
|
||||
"age 7": "young z layer: crayons, cartoons, and a cape made from a blanket.",
|
||||
@@ -372,6 +375,11 @@
|
||||
"sensei garden": "/play/sensei-garden.html",
|
||||
"young z desk": "/play/young-z-desk.html",
|
||||
"future log": "/play/future-log.html",
|
||||
"gentle constellarium": "/play/gentle-constellarium.html",
|
||||
"return log": "/play/future-z-return-log.html",
|
||||
"future z return log": "/play/future-z-return-log.html",
|
||||
"subconscious index": "/play/subconscious-index.html",
|
||||
"dream index": "/play/subconscious-index.html",
|
||||
"family layer index": "/play/family-layer-index.html",
|
||||
"do not open": "/play/do-not-open.html",
|
||||
"voice note": "/play/cassette-log.html",
|
||||
@@ -392,6 +400,10 @@
|
||||
"phrase": "dream",
|
||||
"route": "/play/dream-corridor.html"
|
||||
},
|
||||
{
|
||||
"phrase": "thread",
|
||||
"route": "/play/gentle-constellarium.html"
|
||||
},
|
||||
{
|
||||
"phrase": "oldweb",
|
||||
"message": "aphy briefly considers a table layout, then apologizes to CSS."
|
||||
@@ -416,6 +428,18 @@
|
||||
"phrase": "leave the light on",
|
||||
"route": "/play/kitchen-light.html"
|
||||
},
|
||||
{
|
||||
"phrase": "restore the thread",
|
||||
"route": "/play/gentle-constellarium.html"
|
||||
},
|
||||
{
|
||||
"phrase": "future z return log",
|
||||
"route": "/play/future-z-return-log.html"
|
||||
},
|
||||
{
|
||||
"phrase": "subconscious index",
|
||||
"route": "/play/subconscious-index.html"
|
||||
},
|
||||
{
|
||||
"phrase": "sensei chi",
|
||||
"message": "sensei chi: a hidden word is still a word."
|
||||
@@ -890,6 +914,32 @@
|
||||
}).join("");
|
||||
}
|
||||
|
||||
function addObservatoryPlayDoorways() {
|
||||
let playState = {};
|
||||
try {
|
||||
playState = JSON.parse(localStorage.getItem("zxh_observatory_play_v1") || "{}");
|
||||
} catch (_) {}
|
||||
const restored = (playState.restoredThreads || []).length;
|
||||
const symbols = Object.keys(playState.discoveredSymbols || {}).length;
|
||||
const patient = Number(playState.patientMoments || 0);
|
||||
const options = [];
|
||||
if (restored > 0) options.push(["thread", "/play/future-z-return-log.html", "future z remembers the thread you restored."]);
|
||||
if (symbols > 0) options.push(["symbol", "/play/subconscious-index.html", "a symbol you found is still casting a shadow."]);
|
||||
if (patient > 0) options.push(["return", "/play/gentle-constellarium.html", "sensei chi notices the slower way you move through the site."]);
|
||||
if (!options.length && memory.visits >= 5 && (playState.crossGameFlags || {})["future-z:observed"]) {
|
||||
options.push(["echo", "/play/subconscious-index.html", "aphy found an echo between the return log and the dream index."]);
|
||||
}
|
||||
if (!options.length) return;
|
||||
const [label, href, message] = pick(options, "observatory-doorway");
|
||||
const link = document.createElement("a");
|
||||
link.className = "hidden-oldweb-stamp";
|
||||
link.href = href;
|
||||
link.textContent = label;
|
||||
link.title = message;
|
||||
link.addEventListener("click", () => toast(message));
|
||||
document.body.appendChild(link);
|
||||
}
|
||||
|
||||
function addPageSpecificSecrets() {
|
||||
// Events only used by specific `/play/...` pages.
|
||||
if (path.includes("/play/cassette-log")) {
|
||||
@@ -1001,6 +1051,7 @@
|
||||
addPatienceRewards,
|
||||
addRareSecondLayer,
|
||||
addFamilyLayerIndex,
|
||||
addObservatoryPlayDoorways,
|
||||
addPageSpecificSecrets,
|
||||
addInvisibleHoverSecrets
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user