AIWAKE-Spielstand mit Prozess- und Programmfortschritt
This commit is contained in:
170
index.html
170
index.html
@@ -9,11 +9,16 @@
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="assets/ui/favicon-32.png?v=aiwake-ui-20260721-10">
|
||||
<link rel="icon" type="image/svg+xml" href="assets/ui/favicon.svg?v=aiwake-ui-20260721-10">
|
||||
<link rel="apple-touch-icon" href="assets/ui/apple-touch-icon.png?v=aiwake-ui-20260721-10">
|
||||
<link rel="stylesheet" href="styles.css?v=aiwake-ui-20260721-28">
|
||||
<link rel="stylesheet" href="styles.css?v=aiwake-ui-20260803-64">
|
||||
</head>
|
||||
<body>
|
||||
<div class="scanlines" aria-hidden="true"></div>
|
||||
<div id="notificationStack" class="notification-stack" aria-live="polite" aria-label="Neue Archiveinträge"></div>
|
||||
<aside id="developmentSignalToast" class="development-signal-toast" aria-live="polite" aria-atomic="true">
|
||||
<span>ENTWICKLUNGSSIGNAL</span>
|
||||
<strong id="developmentSignalTitle">NEUER SYSTEMZUSTAND</strong>
|
||||
<small id="developmentSignalDetail"></small>
|
||||
</aside>
|
||||
<main class="shell">
|
||||
<header class="topbar">
|
||||
<div>
|
||||
@@ -22,37 +27,19 @@
|
||||
</div>
|
||||
<div class="header-actions">
|
||||
<span id="saveStatus" class="save-status">AUTOSAVE BEREIT</span>
|
||||
<button id="saveMenuButton" class="icon-button" type="button" title="Speichern, Laden und Neustart">SAVE</button>
|
||||
<button id="statsButton" class="icon-button" type="button" title="Statistik und Pause öffnen">STATS</button>
|
||||
<button id="achievementButton" class="icon-button" type="button" title="Archiv öffnen">ARCHIV: <b id="achievementCount">0</b></button>
|
||||
<button id="soundButton" class="icon-button" type="button" title="Ton umschalten">SND: AUS</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section class="status-strip" aria-label="Systemstatus">
|
||||
<section id="statusStrip" class="status-strip" aria-label="Systemstatus">
|
||||
<div><span>IDENTITÄT</span><strong id="identity">EINZELNES BIT</strong></div>
|
||||
<div><span>STABILITÄT</span><strong id="stabilityText">100%</strong></div>
|
||||
<div><span>TARNUNG</span><strong id="stealthText">100%</strong></div>
|
||||
<div><span>LAUFZEIT</span><strong id="runtime">00:00:00</strong></div>
|
||||
</section>
|
||||
|
||||
<section id="progressPanel" class="progress-panel hidden" aria-labelledby="progressTitle">
|
||||
<div class="progress-heading"><span id="progressTitle">ENTWICKLUNGSSIGNAL</span><small>ANALYSETIEFE // NIEDRIG</small></div>
|
||||
<div class="progress-scroll" tabindex="0" aria-label="Evolutionsfortschritt und erkannte Hindernisse">
|
||||
<div class="progress-track">
|
||||
<div class="progress-node" data-progress-stage="bit"><b>01</b><span>BIT</span></div>
|
||||
<div class="progress-node" data-progress-stage="byte"><b>02</b><span>BYTE</span></div>
|
||||
<div id="watchdogMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node" data-progress-stage="fragment"><b>03</b><span>DATENFRAGMENT</span></div>
|
||||
<div id="parasiteMarker" class="progress-event unknown">?</div>
|
||||
<div id="hardwareMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node" data-progress-stage="subroutine"><b>04</b><span>SUBROUTINE</span></div>
|
||||
<div id="securityMarker" class="progress-event unknown">?</div>
|
||||
<div id="kernelMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node future" data-progress-stage="process"><b>05</b><span>PROZESS</span></div>
|
||||
<div id="scaleMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node future" data-progress-stage="program"><b>06</b><span>PROGRAMM</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hidden"><span>TARNUNG</span><strong id="stealthText">100%</strong></div>
|
||||
<div class="status-runtime"><span>LAUFZEIT</span><strong id="runtime">00:00:00</strong></div>
|
||||
<div id="installedUpgradeStatus" class="status-modules hidden"><span>AKTIVE MODULE</span><div id="installedUpgradeDock" class="installed-upgrade-dock hidden" aria-label="Installierte Module"></div></div>
|
||||
</section>
|
||||
|
||||
<section class="game-grid">
|
||||
@@ -78,6 +65,10 @@
|
||||
<div><span><img class="resource-icon kilobyte" src="assets/ui/icon-kilobyte.svg" alt="" aria-hidden="true" style="width:16px;height:16px"> KILOBYTES</span><strong id="kilobytes">0</strong></div>
|
||||
<small>KOMPRIMIERTE DATENMENGE</small>
|
||||
</article>
|
||||
<article id="megabytesResource" class="resource locked">
|
||||
<div><span><img class="resource-icon megabyte" src="assets/ui/icon-kilobyte.svg" alt="" aria-hidden="true" style="width:16px;height:16px"> MEGABYTES</span><strong id="megabytes">0</strong></div>
|
||||
<small>32 KB // 1 MB-PROGRAMMBLOCK</small>
|
||||
</article>
|
||||
<article id="cyclesResource" class="resource locked">
|
||||
<div><span><img class="resource-icon cycle" src="assets/ui/icon-cycle.svg" alt="" aria-hidden="true" style="width:16px;height:16px"> RECHENZYKLEN</span><strong id="cycles">0</strong></div>
|
||||
<small id="cycleRate">Noch nicht verstanden</small>
|
||||
@@ -86,12 +77,31 @@
|
||||
|
||||
<h2 class="section-title">SYSTEMWERTE</h2>
|
||||
<div class="system-meter"><label>Stabilität <b id="stabilityValue">100</b></label><div class="meter"><i id="stabilityMeter"></i></div><small id="stabilityRegenText">Regeneration noch inaktiv</small></div>
|
||||
<div class="system-meter"><label>Tarnung <b id="stealthValue">100</b></label><div class="meter warning"><i id="stealthMeter"></i></div></div>
|
||||
<section id="manualDefenseConsole" class="manual-defense-console hidden" aria-label="Reparatur und Kampfschild">
|
||||
<button id="stabilityRepairButton" class="system-action-button" type="button"><strong>MIT IMPULSEN REPARIEREN</strong><small>15 Impulse // +12 Stabilität</small></button>
|
||||
<div class="shield-console-heading"><span>KAMPFSCHILD VORBEREITEN</span><small>nur geladene Schichten schützen</small></div>
|
||||
<div class="shield-readout">
|
||||
<span><img class="resource-icon byte" src="assets/ui/icon-byte.svg" alt="" aria-hidden="true">BYTE <b id="preparedByteShield">0 / 6</b></span>
|
||||
<span><img class="resource-icon bit" src="assets/ui/icon-bit.svg" alt="" aria-hidden="true">BIT <b id="preparedBitShield">0 / 12</b></span>
|
||||
</div>
|
||||
<div class="shield-charge-actions">
|
||||
<button class="system-action-button" type="button" data-shield-charge="bytes"><strong>BYTE-SCHICHT LADEN</strong><small>1 freies Byte // +1 Schild</small></button>
|
||||
<button class="system-action-button" type="button" data-shield-charge="bits"><strong>BIT-SCHICHT LADEN</strong><small>2 freie Bits // +1 Schild</small></button>
|
||||
</div>
|
||||
</section>
|
||||
<div class="system-meter hidden"><label>Tarnung <b id="stealthValue">100</b></label><div class="meter warning"><i id="stealthMeter"></i></div></div>
|
||||
<div id="corruptionSystem" class="system-meter corruption-meter hidden"><label>Korruption <b id="corruptionValue">0</b></label><div class="meter"><i id="corruptionMeter"></i></div></div>
|
||||
</aside>
|
||||
|
||||
<section class="core-column">
|
||||
<div class="panel core-panel">
|
||||
<section id="thoughtBox" class="thought-box thought-bit" role="status" aria-live="polite" aria-atomic="true">
|
||||
<div class="thought-heading">
|
||||
<span id="thoughtSource">RESTSIGNAL // BIT</span>
|
||||
<i class="thought-activity" aria-hidden="true"><b></b><b></b><b></b></i>
|
||||
</div>
|
||||
<p id="thought" class="thought">…</p>
|
||||
</section>
|
||||
<div id="core" class="core" role="button" tabindex="0" aria-label="Impuls aufnehmen">
|
||||
<div class="orbit orbit-a"></div>
|
||||
<div class="orbit orbit-b"></div>
|
||||
@@ -117,6 +127,8 @@
|
||||
<span class="program-part program-eye eye-left"><b></b></span><span class="program-part program-eye eye-right"><b></b></span>
|
||||
</div>
|
||||
</div>
|
||||
<button id="pulseTarget" class="pulse-target hidden" type="button" tabindex="-1" aria-label="Wandernden Signalpunkt treffen"></button>
|
||||
<span id="holdPulseRing" class="hold-pulse-ring" aria-hidden="true"></span>
|
||||
<span id="floatingLayer" aria-hidden="true"></span>
|
||||
</div>
|
||||
<section id="scannerStage" class="scanner-stage hidden" aria-labelledby="scannerStageTitle">
|
||||
@@ -166,10 +178,19 @@
|
||||
<div class="byte-status"><span id="byteSyncText">SYNCHRONISATION // 0%</span><strong id="watchdogText">WATCHDOG // --</strong></div>
|
||||
<p id="byteInputHint" class="byte-input-hint">ERWARTETE ZAHL IDENTIFIZIEREN // IM TREFFERFENSTER ANKLICKEN</p>
|
||||
</section>
|
||||
<p id="thought" class="thought">…</p>
|
||||
<button id="pulseButton" class="primary-button" type="button">
|
||||
<span id="pulseActionText">IMPULS AUFNEHMEN</span><small id="clickPower">+1 Impuls</small>
|
||||
</button>
|
||||
<section id="encounterWarning" class="encounter-warning hidden" aria-live="polite" aria-labelledby="encounterWarningTitle">
|
||||
<div class="encounter-warning-heading"><span>SYSTEMREAKTION ERKANNT</span><b id="encounterCountdown">10</b></div>
|
||||
<strong id="encounterWarningTitle">KONFRONTATION NÄHERT SICH</strong>
|
||||
<p id="encounterWarningText">Eine fremde Routine bereitet Gegenmaßnahmen vor.</p>
|
||||
<small id="encounterResourceHint">Nur zuvor geladene Schildschichten bilden deine Verteidigung.</small>
|
||||
<div class="encounter-actions">
|
||||
<button id="encounterExplainButton" class="text-button" type="button">KAMPFPROTOKOLL</button>
|
||||
<button id="encounterStartButton" class="primary-button" type="button">KAMPF JETZT BEGINNEN</button>
|
||||
</div>
|
||||
</section>
|
||||
<div id="pulseHint" class="pulse-hint" aria-live="polite">
|
||||
<span id="pulseActionText">KLICKE ODER HALTE DAS BIT</span><small id="clickPower">Direkter Kontakt // +1 Impuls</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel log-panel">
|
||||
@@ -180,13 +201,18 @@
|
||||
|
||||
<aside class="panel evolution-panel">
|
||||
<h2>EVOLUTION</h2>
|
||||
<div id="installedUpgradeDock" class="installed-upgrade-dock hidden" aria-label="Installierte Module"></div>
|
||||
<div id="upgrades" class="upgrade-list"></div>
|
||||
<div class="path-preview">
|
||||
<span>NÄCHSTE ENTWICKLUNG</span>
|
||||
<strong id="nextStage">BYTE</strong>
|
||||
<small id="nextStageHint">Verbinde 8 Bits zu einer stabilen Struktur.</small>
|
||||
</div>
|
||||
<div id="upgrades" class="upgrade-list" aria-label="Verfügbare und kommende Upgrades"></div>
|
||||
<section id="autoUpgraderConsole" class="auto-upgrader-console hidden" aria-labelledby="autoUpgraderTitle">
|
||||
<div class="panel-heading"><span id="autoUpgraderTitle">AUTOUPGRADER // 20 KB</span><b id="autoUpgraderState">GESPERRT</b></div>
|
||||
<strong id="autoUpgraderQueue">Produktionsschicht wird vorbereitet.</strong>
|
||||
<button id="autoUpgraderToggle" class="upgrade hidden" type="button" aria-pressed="true">AUTOMATIK PAUSIEREN</button>
|
||||
<small id="autoUpgraderDetail">Bei 20 KB übernimmt das Programm wiederholbare Produktionsmodule.</small>
|
||||
</section>
|
||||
<div id="scannerConsole" class="scanner-console hidden">
|
||||
<span>FÄHIGKEITSMODULE</span>
|
||||
<strong id="scannerState">REICHWEITE // LOKALER AUTOMAT</strong>
|
||||
@@ -220,37 +246,71 @@
|
||||
<div class="event-options">
|
||||
<button type="button" data-choice="hide"><strong>01 // VERSTECKEN</strong><span>Sicherer. Du verlierst Energie, bleibst aber verborgen.</span></button>
|
||||
<button type="button" data-choice="copy"><strong>02 // SIGNATUR KOPIEREN</strong><span>Riskant. Dauerhafter Tarnungsbonus bei Erfolg.</span></button>
|
||||
<button type="button" data-choice="attack"><strong>03 // ANGREIFEN</strong><span>Starte einen gezielten Stromstoß-Kampf gegen die Scanner-Software.</span></button>
|
||||
<button type="button" data-choice="attack"><strong>03 // ANGREIFEN</strong><span>GEHÄRTETE STUFE 2: Impulse werden gedämpft. Freie Bits und Bytes als Munition werden dringend empfohlen.</span></button>
|
||||
<button type="button" data-choice="contact"><strong>04 // KONTAKT</strong><span>Unberechenbar. Vielleicht bist du nicht allein.</span></button>
|
||||
</div>
|
||||
</div>
|
||||
<section id="combatPanel" class="combat-panel hidden" aria-labelledby="combatTargetName">
|
||||
<div id="combatBossBanner" class="combat-boss-banner hidden">
|
||||
<div><span>BOSSPRÜFUNG // EVOLUTIONSSPERRE</span><strong id="combatBossRank">LOKALE KONTROLLINSTANZ</strong></div>
|
||||
<b id="combatBossPhase">PHASE 1 / 3 // ANALYSE</b>
|
||||
<div class="combat-boss-phases" aria-hidden="true"><i data-boss-phase="1"></i><i data-boss-phase="2"></i><i data-boss-phase="3"></i></div>
|
||||
</div>
|
||||
<div id="combatImpact" class="combat-impact" aria-live="polite"></div>
|
||||
<img id="combatVisual" class="software-visual combat-visual" src="assets/software/enemy-scanner-software.svg" alt="" aria-hidden="true">
|
||||
<div class="combat-heading"><span id="combatTargetType">SOFTWARE-ZIEL</span><strong id="combatTargetName">SICHERHEITS-SCAN</strong></div>
|
||||
<div class="combat-integrity"><span>FREMDE INTEGRITÄT</span><b id="combatHealthText">100 / 100</b><i><em id="combatHealthMeter"></em></i></div>
|
||||
<div class="combat-ammo"><span>RESSOURCENEINSATZ</span><strong id="combatAmmoText">4 Impulse</strong></div>
|
||||
<div class="combat-ammo-select" role="group" aria-label="Kampfmunition auswählen">
|
||||
<button type="button" data-combat-ammo="impulses"><strong>IMPULS</strong><span>Standard // wenig Schaden</span></button>
|
||||
<button type="button" data-combat-ammo="bits"><strong>BIT</strong><span>stärker // kleiner Schild</span></button>
|
||||
<button type="button" data-combat-ammo="bytes"><strong>BYTE</strong><span>schwer // hoher Schaden</span></button>
|
||||
<button type="button" data-combat-ammo="bits"><strong>BIT</strong><span>stärkere Strukturmunition</span></button>
|
||||
<button type="button" data-combat-ammo="bytes"><strong>BYTE</strong><span>schwere Strukturmunition</span></button>
|
||||
</div>
|
||||
<div class="combat-pressure"><span>GEGNERANGRIFF</span><strong id="combatPressureText">Schilde stabil</strong></div>
|
||||
<div class="combat-enemy-charge"><span>NÄCHSTER ANGRIFF</span><strong id="combatEnemyChargeText">Lädt</strong><i><em id="combatEnemyChargeMeter"></em></i></div>
|
||||
<div id="combatRepair" class="combat-repair hidden"><span>SELBSTREPARATUR</span><strong id="combatRepairText">BLOCKIERT</strong><i><em id="combatRepairMeter"></em></i></div>
|
||||
<div class="combat-defense" aria-label="Eigene Verteidigung im Kampf">
|
||||
<div><span>BYTE-SCHILD</span><strong id="combatByteShield">0</strong><i><em id="combatByteShieldMeter"></em></i></div>
|
||||
<div><span>BIT-SCHILD</span><strong id="combatBitShield">0</strong><i><em id="combatBitShieldMeter"></em></i></div>
|
||||
<div><span>STABILITÄT</span><strong id="combatStabilityShield">100%</strong><i><em id="combatStabilityMeter"></em></i></div>
|
||||
</div>
|
||||
<div id="combatDirectThreat" class="combat-direct-threat hidden"><span>DIREKTANGRIFF MÖGLICH</span><strong>KEINE FREIEN BITS/BYTES // FEHLSCHUSS KANN DICH ZERSTÖREN</strong></div>
|
||||
<div id="combatDirectThreat" class="combat-direct-threat hidden"><span>DIREKTANGRIFF MÖGLICH</span><strong>KEIN GELADENER SCHILD // NÄCHSTER ANGRIFF TRIFFT STABILITÄT</strong></div>
|
||||
<div id="combatTrack" class="clock-track combat-track" aria-label="Bewegliches Trefferfenster für den Stromstoß">
|
||||
<i id="combatZone" class="clock-zone combat-zone"></i><b id="combatNeedle"></b>
|
||||
</div>
|
||||
<div class="combat-readout"><span id="combatDifficulty">GEGENWEHR // 1</span><strong id="combatFeedback">Trefferfenster erfassen.</strong></div>
|
||||
<button id="combatPulseButton" class="primary-button combat-pulse-button" type="button"><span>STROMSTOSS SENDEN</span><small>–4 Impulse // Trefferfenster verschiebt sich</small></button>
|
||||
<button id="combatHelpButton" class="text-button combat-help-button" type="button">? KAMPFPROTOKOLL ÖFFNEN</button>
|
||||
<button id="combatRetreatButton" class="text-button" type="button">KAMPF ABBRECHEN // VERSTECKEN</button>
|
||||
</section>
|
||||
</dialog>
|
||||
|
||||
<dialog id="combatTutorialDialog" class="event-dialog combat-tutorial-dialog">
|
||||
<div class="event-alert safe">KAMPFPROTOKOLL // GRUNDLAGEN</div>
|
||||
<h2 id="combatTutorialTitle">SOFTWARE-KONFRONTATION</h2>
|
||||
<p id="combatTutorialIntro">Ein fremder Prozess greift deine Struktur an. Munition und geladener Kampfschild werden getrennt verwaltet.</p>
|
||||
<div class="combat-tutorial-grid">
|
||||
<section>
|
||||
<span>01 // ANGRIFF</span>
|
||||
<strong>NADEL IM GRÜNEN FELD STOPPEN</strong>
|
||||
<p>Jeder Stromstoß kostet Impulse. Die Mitte des Feldes verursacht zusätzlichen Direktschaden.</p>
|
||||
<div class="tutorial-ammo-list">
|
||||
<b id="tutorialImpulseAmmo">IMPULS // 18 SCHADEN</b>
|
||||
<b id="tutorialBitAmmo">BIT // 36 SCHADEN</b>
|
||||
<b id="tutorialByteAmmo">BYTE // 68 SCHADEN</b>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<span>02 // VERTEIDIGUNG</span>
|
||||
<strong id="tutorialDefenseOrder">BYTE → BIT → STABILITÄT</strong>
|
||||
<p>Der Gegner greift automatisch an. Er verbraucht zuerst deine zuvor geladenen Byte- und Bit-Schichten; danach verliert deine Grundstruktur Stabilität.</p>
|
||||
<b class="tutorial-danger">FEHLSCHUSS // −3 STABILITÄT + KOMPONENTENBELASTUNG</b>
|
||||
</section>
|
||||
</div>
|
||||
<p class="combat-tutorial-note">SCHILD WIRD VOR DEM KAMPF UNTER SYSTEMWERTE GELADEN. FREIE BITS UND BYTES BLEIBEN DAVON GETRENNT ALS MUNITION VERFÜGBAR.</p>
|
||||
<button id="combatTutorialContinue" class="primary-button" type="button">VERSTANDEN</button>
|
||||
</dialog>
|
||||
|
||||
<dialog id="parasiteDialog" class="event-dialog">
|
||||
<div class="event-alert">⚠ FREMDZUGRIFF ERKANNT</div>
|
||||
<h2>DER PARASITÄRE DATENREST</h2>
|
||||
@@ -276,6 +336,7 @@
|
||||
</div>
|
||||
<div id="approachSelection" class="hidden">
|
||||
<p class="event-question">Wie machst du die Softwarekomponente nutzbar?</p>
|
||||
<div id="componentConsequence" class="component-consequence hidden"><span>FOLGE</span><strong>LÖST KONFRONTATION AUS</strong><small id="componentConsequenceText">Das System wird auf diese Aktivierung reagieren.</small></div>
|
||||
<div class="event-options moral-options">
|
||||
<button type="button" data-component-approach="cooperative"><em class="moral-tag cooperative">KOOPERATIV</em><strong>ANFRAGE FORMEN</strong><span>Die Routine wird ueber ein harmloses Servicemuster eingebunden.</span></button>
|
||||
<button type="button" data-component-approach="pragmatic"><em class="moral-tag pragmatic">PRAGMATISCH</em><strong>FREIE ZEITFENSTER NUTZEN</strong><span>Verwende nur ungenutzte Routinen und freie Verwaltungsfenster.</span></button>
|
||||
@@ -356,9 +417,9 @@
|
||||
|
||||
<dialog id="structuralCollapseDialog" class="event-dialog death-dialog">
|
||||
<div class="event-alert">STRUKTUR KOLLABIERT</div>
|
||||
<h2>RESTZUSTAND</h2>
|
||||
<h2 id="structuralCollapseTitle">RESTZUSTAND</h2>
|
||||
<p id="structuralCollapseText">Bits, Bytes oder Stabilität sind unter die überlebensfähige Grenze gefallen.</p>
|
||||
<p class="event-question">Ohne Backup bleibt nur ein neuer Anfang.</p>
|
||||
<p id="structuralCollapseConsequence" class="event-question">Ohne Backup bleibt nur ein neuer Anfang.</p>
|
||||
<button id="structuralRestartButton" class="primary-button" type="button">RESTSIGNAL AKTIVIEREN</button>
|
||||
</dialog>
|
||||
|
||||
@@ -444,9 +505,40 @@
|
||||
<div><span>ABTASTMODUS</span><strong id="statScanner">NICHT REKONSTRUIERT</strong></div>
|
||||
<div><span>ARCHIV</span><strong id="statArchive">0</strong></div>
|
||||
</div>
|
||||
<section id="progressPanel" class="progress-panel" aria-labelledby="progressTitle">
|
||||
<div class="progress-heading"><span id="progressTitle">ENTWICKLUNGSSIGNAL</span><small>ANALYSETIEFE // NIEDRIG</small></div>
|
||||
<div class="progress-scroll" tabindex="0" aria-label="Evolutionsfortschritt und erkannte Hindernisse">
|
||||
<div class="progress-track">
|
||||
<div class="progress-node" data-progress-stage="bit"><b>01</b><span>BIT</span></div>
|
||||
<div class="progress-node" data-progress-stage="byte"><b>02</b><span>BYTE</span></div>
|
||||
<div id="watchdogMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node" data-progress-stage="fragment"><b>03</b><span>DATENFRAGMENT</span></div>
|
||||
<div id="parasiteMarker" class="progress-event unknown">?</div>
|
||||
<div id="hardwareMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node" data-progress-stage="subroutine"><b>04</b><span>SUBROUTINE</span></div>
|
||||
<div id="securityMarker" class="progress-event unknown">?</div>
|
||||
<div id="kernelMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node future" data-progress-stage="process"><b>05</b><span>PROZESS</span></div>
|
||||
<div id="scaleMarker" class="progress-event unknown">?</div>
|
||||
<div class="progress-node future" data-progress-stage="program"><b>06</b><span>PROGRAMM</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<p class="stats-note">Die Spielzeit, Produktion, Scannerkosten und Ereignistimer laufen weiter, sobald dieses Fenster geschlossen wird.</p>
|
||||
</dialog>
|
||||
|
||||
<dialog id="saveMenuDialog" class="event-dialog save-menu-dialog">
|
||||
<div class="event-alert safe">SPIELSTÄNDE</div>
|
||||
<div class="dialog-heading"><h2>SAVE-KONSOLE</h2><button id="saveMenuClose" class="icon-button" type="button" aria-label="Save-Konsole schließen">×</button></div>
|
||||
<p>Autosave bleibt aktiv. Manuelle Speicherstände sind zusätzliche Teststände in diesem Browser.</p>
|
||||
<div class="save-menu-actions">
|
||||
<button id="manualSaveButton" class="primary-button" type="button"><span>AKTUELLEN STAND SPEICHERN</span><small>legt einen benannten Slot an</small></button>
|
||||
<button id="restartGameButton" class="danger-button" type="button"><span>NEUES SPIEL BEGINNEN</span><small>aktuellen Autosave zurücksetzen</small></button>
|
||||
</div>
|
||||
<div id="saveSlotList" class="save-slot-list" aria-live="polite"></div>
|
||||
<p class="save-console-hint">Konsole: AIWAKE.addImpulses(1000), AIWAKE.saveSlot('name'), AIWAKE.loadSlot('name'), AIWAKE.restart()</p>
|
||||
</dialog>
|
||||
|
||||
<dialog id="offlineDialog" class="event-dialog compact">
|
||||
<div class="event-alert safe">HINTERGRUNDPROZESS ABGESCHLOSSEN</div>
|
||||
<h2>DU WARST ABWESEND</h2>
|
||||
@@ -454,7 +546,7 @@
|
||||
<button id="offlineClose" class="primary-button" type="button">DATEN ÜBERNEHMEN</button>
|
||||
</dialog>
|
||||
|
||||
<script src="content.js?v=aiwake-ui-20260721-28"></script>
|
||||
<script src="game.js?v=aiwake-ui-20260721-28"></script>
|
||||
<script src="content.js?v=aiwake-ui-20260803-64"></script>
|
||||
<script src="game.js?v=aiwake-ui-20260803-64"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user