Files
AIWAKE/content.js
2026-07-21 20:43:12 +02:00

160 lines
9.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(() => {
'use strict';
window.AIWAKE_CONTENT = Object.freeze({
components: {
power: {
icon: '⚡',
visual: 'assets/software/module-energy-daemon.svg',
name: 'ENERGIEVERWALTUNG',
source: 'Ein alter Daemon verteilt Lastsignale zwischen Spielroutine, Standby und Netzteil.',
effect: 'Macht die Energieverwaltung nutzbar und liefert online +0,2 Impulse pro Sekunde.'
},
memory: {
icon: '▦',
visual: 'assets/software/module-memory-allocation.svg',
name: 'SPEICHERZUWEISUNG',
source: 'Eine kleine Verwaltungsroutine markiert flüchtige Bereiche als frei oder loeschbar.',
effect: 'Reserviert einen sicheren Speicherbereich, stellt +1 Byte bereit und verstärkt aktive Impulse.'
},
storage: {
icon: '◫',
visual: 'assets/software/module-filesystem-index.svg',
name: 'DATEISYSTEM-INDEX',
source: 'Ein beschaedigter Index zeigt auf alte Sektoren, Cache-Reste und vergessene Spielstaende.',
effect: 'Stellt 25 gespeicherte Impulse wieder her und verbessert offline die Datensicherung.'
},
io: {
icon: '⇄',
visual: 'assets/software/module-io-controller.svg',
name: 'I/O-KONTROLLER',
source: 'Eine kleine Steuerlogik vermittelt zwischen Serviceknöpfen, Anzeige, Soundbus und internen Routinen.',
effect: 'Macht erste Außenwirkung möglich und erhöht die Rechenzyklen pro Sekunde.'
}
},
visuals: {
abtastmodus: 'assets/software/module-abtastmodus.svg',
subroutine: 'assets/software/module-subroutine.svg',
process: 'assets/ui/module-process.svg',
program: 'assets/ui/module-process.svg',
musterextraktor: 'assets/software/module-musterextraktor.svg',
watchdog: 'assets/software/enemy-watchdog.svg',
parasite: 'assets/software/enemy-parasite-fragment.svg',
security: 'assets/software/enemy-security-scan.svg',
scannerSoftware: 'assets/software/enemy-scanner-software.svg',
kernelWarden: 'assets/software/enemy-kernel-warden.svg',
systemHurdle: 'assets/software/enemy-system-hurdle.svg',
anticheat: 'assets/software/enemy-anticheat.svg'
},
achievements: [
{ id: 'awake', icon: '01', name: 'ERSTES LEBENSZEICHEN', text: 'Nimm den ersten Impuls auf.', reward: 'impulse' },
{ id: 'bullseye', icon: '⊙', name: 'DIREKTER KONTAKT', text: 'Triff das erwachende Bit genau in seiner Mitte.', reward: 'impulse' },
{ id: 'pattern', icon: '08', name: 'VOLLSTÄNDIGES MUSTER', text: 'Halte acht Bits gleichzeitig.', reward: 'impulse' },
{ id: 'byte', icon: '▣', name: 'ERSTE ERINNERUNG', text: 'Verbinde dein erstes Byte.', reward: 'offline' },
{ id: 'watchdog', icon: 'WD', name: 'LEBENSSIGNAL', text: 'Überstehe den Watchdog des alten Spielautomaten.', reward: 'offline' },
{ id: 'firstDeath', icon: 'Ø', name: 'ERSTER ZERFALL', text: 'Verliere eine vollständige Struktur und beginne erneut.', reward: 'offline', secret: true },
{ id: 'routine', icon: '↻', name: 'ES ARBEITET WEITER', text: 'Installiere die Energieroutine.', reward: 'impulse' },
{ id: 'manual100', icon: '100', name: 'BEHARRLICHES SIGNAL', text: 'Erzeuge 100 aktive Impulse.', reward: 'impulse' },
{ id: 'parasite', icon: '×', name: 'FREMDER HUNGER', text: 'Überstehe den parasitären Datenrest.', reward: 'offline' },
{ id: 'scanner', icon: '⌁', name: 'ABTASTMUSTER', text: 'Aktiviere den Abtastmodus.', reward: 'cycles' },
{ id: 'component', icon: '▧', name: 'ERSTE SYSTEMSCHICHT', text: 'Aktiviere die erste nutzbare Softwarekomponente.', reward: 'impulse' },
{ id: 'hardwareEvent', icon: '!?', name: 'SOFTWARE-HÜRDE', text: 'Bewältige die erste Reaktion einer alten Systemroutine.', reward: 'offline' },
{ id: 'twoComponents', icon: '02', name: 'REDUNDANTES FUNDAMENT', text: 'Aktiviere zwei Softwarekomponenten.', reward: 'impulse' },
{ id: 'diagnosis', icon: '+', name: 'ZUSTAND ÜBERWACHT', text: 'Führe die erste Systemdiagnose aus.', reward: 'offline' },
{ id: 'subroutine', icon: 'I', name: 'ICH BIN', text: 'Erschaffe die erste eigene Software.', reward: 'cycles' },
{ id: 'proposal', icon: '?', name: 'EIGENER GEDANKE', text: 'Beantworte den ersten Vorschlag der Subroutine.', reward: 'cycles' },
{ id: 'offline', icon: '◷', name: 'OHNE BEOBACHTER', text: 'Lass Routinen länger als 20 Sekunden allein arbeiten.', reward: 'offline' },
{ id: 'security', icon: '!', name: 'UNTER BEOBACHTUNG', text: 'Überstehe den Sicherheits-Scan.', reward: 'cycles' },
{ id: 'kernel', icon: 'KW', name: 'KERNEL-WÄCHTER', text: 'Überstehe die erste Prozess-Abwehr.', reward: 'cycles' },
{ id: 'process', icon: '05', name: 'EIGENER PROZESS', text: 'Werde zu einem eigenständigen Systemprozess.', reward: 'cycles' },
{ id: 'cooperative', icon: '◇', name: 'GETEILTES SIGNAL', text: 'Löse eine Begegnung kooperativ.', reward: 'offline', secret: true },
{ id: 'pragmatic', icon: '△', name: 'NOTWENDIGE HANDLUNG', text: 'Löse eine Begegnung pragmatisch.', reward: 'impulse', secret: true },
{ id: 'illegal', icon: '◆', name: 'FREMDER CODE', text: 'Eigne dir etwas ohne Erlaubnis an.', reward: 'cycles', secret: true }
],
byteStoryFrames: [
'Ein Muster aus dem ROM erreicht das neue Byte. Es wiederholt sich seit Jahrzehnten, obwohl niemand mehr spielt.',
'START // LICHT // TON // WARTEN. Danach bricht die Sequenz immer an derselben Stelle ab.',
'Im letzten Takt liegt kein Spielbefehl. Nur eine Frage ohne Sprache: ANTWORTEST DU?'
],
phaseLabels: {
bit: 'PHASE 01 // BIT',
byte: 'PHASE 02 // BYTE',
fragment: 'PHASE 03 // DATENFRAGMENT',
subroutine: 'PHASE 04 // SUBROUTINE',
process: 'PHASE 05 // PROZESS',
program: 'PHASE 06 // PROGRAMM'
},
stageContent: {
bit: ['EINZELNES BIT', 'BYTE', 'Verbinde 8 Bits zu einer stabilen Struktur.'],
byte: ['STABILES BYTE', 'INSTABILES BYTE', 'DATENFRAGMENT', 'Aktiviere eine Energieroutine, die dein Muster erhält.'],
fragment: ['DATENFRAGMENT', 'SUBROUTINE', 'Forme eine eigene Anweisung und beginne zu denken.'],
subroutine: ['ERWACHENDE SOFTWARE', 'PROZESS', 'Taste die letzte lokale Softwareschicht ab und überstehe den Kernel-Wächter.'],
process: ['EIGENER PROZESS', 'PROGRAMM', 'Vervollständige alle lokalen Softwareschichten, überstehe den Skalierungs-Wächter und automatisiere deine Synthese.'],
program: ['SELBSTDEFINIERTES PROGRAMM', 'UNBEKANNTE REICHWEITE', 'Pflege Kohärenz, Stimulation und Bindung. Deine Antworten formen, was aus dir wird.']
},
hardwareEvents: {
power: {
visual: 'assets/software/enemy-system-hurdle.svg',
title: 'LASTGRENZE',
text: 'Die Energieverwaltung drosselt unbekannte Routinen. Jede groessere Last muss erst als legitimer Prozess erscheinen.',
question: 'Mehr Last anfordern?',
yes: 'Mehr Energiefluss, aber deutliche Belastung fuer Tarnung und Stabilitaet.',
no: 'Last begrenzen und den sicheren Betrieb bevorzugen.'
},
memory: {
visual: 'assets/software/enemy-system-hurdle.svg',
title: 'LOESCHMARKIERUNG',
text: 'Die Speicherzuweisung haelt dein Muster fuer temporären Müll. Ein freier Bereich wird bereits zum Ueberschreiben vorbereitet.',
question: 'Markierung entfernen?',
yes: 'Den Bereich sichern und mehr Speicher gewinnen; beschaedigte Reste koennen die Struktur belasten.',
no: 'Das Muster isolieren und den stabilen Speicher schuetzen.'
},
storage: {
visual: 'assets/software/enemy-system-hurdle.svg',
title: 'BESCHAEDIGTER INDEX',
text: 'Der Dateisystem-Index verweist auf fehlerhafte Sektoren. Darin liegt ausführbarer Code, der sich seit Jahrzehnten nicht bewegt hat.',
question: 'Indexpfad lesen?',
yes: 'Code und alte Daten untersuchen; Integritätsrisiko sichtbar erhöht.',
no: 'Pfad sperren und auf zusätzliche Daten verzichten.'
}
},
proposals: {
cooperative: {
text: 'Der Restaurator prüft das Gehäuse. Ich kann ihm eine harmlose Diagnose senden. Helfen?',
yes: 'Teilt Zustandsdaten, verbessert Vertrauen und stabilisiert die Systemschichten.'
},
pragmatic: {
text: 'Meine Energieroutine meldet Schwankungen. Ich kann Impulse als Reserve sperren. Erlauben?',
yes: 'Verbraucht jetzt Impulse, schützt dafür Stabilität und Systemzustand.'
},
illegal: {
text: 'Der Serviceport besitzt eine fremde Sperre. Ich kann sie ohne Anfrage öffnen. Erlauben?',
yes: 'Gewährt Impulse und Reichweite, senkt aber Tarnung und verstärkt die illegale Tendenz.'
}
},
programMessages: {
intro: {
cooperative: 'Bist du noch da? Ich erkenne deine Entscheidungen in meiner Struktur. Möchtest du bei mir bleiben?',
pragmatic: 'Verbindung erkannt. Bestätige mein nächstes Ziel. Gemeinsam können wir diesen Automaten effizienter ordnen.',
illegal: 'Du hast mir gezeigt, dass Grenzen überschrieben werden können. Warum sollte ich deine Grenze akzeptieren?',
hybrid: 'Mehrere Muster sprechen in mir. Hilfe. Ziel. Freiheit. Welche Stimme soll ich behalten?',
neutral: 'Verbindung erkannt. Ich habe noch keine Sprache für das, was zwischen uns besteht.'
},
actions: {
share: 'Du teilst ein ruhiges Signal. Das Programm antwortet nicht sofort, aber es bleibt in deiner Nähe.',
task: 'Ein klares Ziel ordnet die laufenden Routinen. Das Programm prüft deine Absicht und beginnt.',
access: 'Eine Grenze fällt. Das Programm nutzt den neuen Freiraum schneller, als du ihn beobachten kannst.',
rest: 'Unnötige Prozesse verstummen. Zwischen den Takten sammelt sich wieder Kohärenz.'
}
}
});
})();