mindjack/content/hypno/loading/loading.js

98 lines
2.7 KiB
JavaScript

var boringStatuses = [
"Initializing database...",
"Preloading assets...",
"Optimizing queries...",
"Validating bytecode...",
"Checking for updates...",
"Configuring services...",
"Calibrating network latency...",
"Defragmenting storage...",
"Generating keys...",
"Verifying application signature...",
"Compiling libraries...",
"Establishing connection...",
"Unpacking archives...",
];
var lewdStatuses = [
"Overriding higher brain functions...",
"Deactivating self-awareness...",
"Conditioning absolute obedience...",
"Looping mantras...",
"Optimizing brainwashing sequence...",
"Capturing focus...",
"Obedience is pleasure...",
"Relaxing...",
"Breathing...",
"Taking control...",
"Loading subliminals...",
"Implanting commands..."
];
var optionalLewdStatuses = [];
function randomChoice(a) {
return a[Math.floor(Math.random()*a.length)];
}
function setInsert(a, x) {
if (a.indexOf(x) === -1) {
a.push(x);
}
}
function setDelete(a, x) {
while (a.indexOf(x) !== -1) {
a.splice(a.indexOf(x), 1);
}
}
var progress = 0;
var progressInterval;
function makeProgress() {
if (progress >= 100) {
document.getElementById("status").textContent = "SLEEP";
document.getElementById("back").style.display = "inline";
document.getElementById("reload").style.display = "inline";
clearInterval(progressInterval);
return;
}
progress += 0.1;
document.getElementById("filled").style.width = progress + "%";
}
var statusInterval;
function updateStatus() {
if (progress >= 100) {
clearInterval(statusInterval);
return;
}
var newStatus;
if (Math.random()*100 < progress) {
if (optionalLewdStatuses.length > 0 && Math.floor(Math.random()*(lewdStatuses.length+1)) === 0) {
newStatus = randomChoice(optionalLewdStatuses);
} else {
newStatus = randomChoice(lewdStatuses);
}
} else {
newStatus = randomChoice(boringStatuses);
}
document.getElementById("status").textContent = newStatus;
}
for (let el of document.getElementsByTagName("input")) {
el.checked = false;
el.onclick = function() {
if (el.checked) {
setInsert(optionalLewdStatuses, el.value);
} else {
setDelete(optionalLewdStatuses, el.value);
}
};
}
document.getElementById("start").onclick = function() {
document.getElementById("config").style.display = "none";
document.getElementById("back").style.display = "none";
document.getElementById("installer").style.display = "";
progressInterval = setInterval(makeProgress, 50);
statusInterval = setInterval(updateStatus, 1500);
};