216 lines
11 KiB
HTML
Executable File
216 lines
11 KiB
HTML
Executable File
{% extends "base.html" %}
|
|
|
|
{% block title %}Die Prüfungen des Steins der Weisen · Hogwarts Escape{% endblock %}
|
|
|
|
{% block content %}
|
|
<!-- Interaktiver Hogwarts-Brief & Siegel Intro -->
|
|
<div class="escape-letter-intro" id="escapeLetterIntro">
|
|
<div class="antique-envelope-scene" id="envelope">
|
|
<div class="envelope-base">
|
|
<div class="envelope-interior"></div>
|
|
<div class="letter-sheet" id="letterSheet">
|
|
<header class="letter-header">
|
|
<div class="letter-crest-box">
|
|
<img src="/static/img/hogwarts_seal.jpg" alt="Hogwarts Crest" class="letter-crest-sketch">
|
|
</div>
|
|
<h3 class="letter-school-name">Hogwarts-Schule für Hexerei und Zauberei</h3>
|
|
<p class="letter-headmaster">Schulleiter: Albus Dumbledore<br><span>(Hüter des Steins der Weisen · Verbotener Korridor)</span></p>
|
|
<div class="letter-ornament-line">
|
|
<span class="ornament-leaf">❦</span>
|
|
<span class="ornament-rule"></span>
|
|
<span class="ornament-shield">✦</span>
|
|
<span class="ornament-rule"></span>
|
|
<span class="ornament-leaf">❧</span>
|
|
</div>
|
|
</header>
|
|
<div class="letter-body-handwritten">
|
|
<p class="letter-salutation">Liebe Hexe, lieber Zauberer,</p>
|
|
<p class="letter-paragraph">
|
|
die Falltür unter Fluffys Pfoten hat sich geöffnet! Tief unter den Kerkern von Hogwarts wachen sechs uralte Schutzzauber der Lehrer über das größte Geheimnis der Alchemie: den <strong>Stein der Weisen</strong>.
|
|
</p>
|
|
<p class="letter-paragraph">
|
|
Schwinge dich auf deinen Besen, stelle dich dem Zauberstab-Duell, braue das goldene Glückselixier und durchschreite Snapes schwarze Flammen. Nur wer alle Kammern meistert, bewahrt das Schloss vor dem Schatten!
|
|
</p>
|
|
</div>
|
|
<footer class="letter-signature-block">
|
|
<p class="letter-closing">Mit magischer Hochachtung,</p>
|
|
<p class="letter-signature-ink">Minerva McGonagall</p>
|
|
<p class="letter-sign-title">Stellvertretende Schulleiterin</p>
|
|
</footer>
|
|
</div>
|
|
<div class="envelope-back-body"></div>
|
|
<div class="envelope-closing-flap envelope-v-flap" id="envelopeFlap">
|
|
<div class="v-flap-sketch-line"></div>
|
|
</div>
|
|
<div class="sketched-wax-seal" id="waxSeal" onclick="toggleEscapeLetter()" title="Siegel brechen & Botschaft lesen">
|
|
<img src="/static/img/hogwarts_seal.jpg" alt="Hogwarts-Wappen Siegel" class="seal-crest-img">
|
|
<div class="seal-emboss-ring"></div>
|
|
<div class="seal-glow"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div style="text-align: center; margin-bottom: 1.5rem;">
|
|
<button type="button" id="letterToggleBtn" class="btn-magical" onclick="toggleEscapeLetter()" style="padding: 0.65rem 1.4rem; font-size: 0.95rem;">
|
|
📜 Siegel brechen & Einladung lesen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function toggleEscapeLetter() {
|
|
const env = document.getElementById('envelope');
|
|
const btn = document.getElementById('letterToggleBtn');
|
|
if (!env) return;
|
|
const opened = env.classList.toggle('envelope-opened');
|
|
if (window.soundFX) window.soundFX.playKeyChime();
|
|
const bgm = document.getElementById('bgm');
|
|
if (bgm && bgm.paused && (!window.soundFX || !window.soundFX.isMuted())) {
|
|
bgm.volume = 0.45;
|
|
bgm.play().catch(() => {});
|
|
}
|
|
if (btn) {
|
|
btn.innerText = opened ? '↩ Brief wieder verschließen' : '📜 Siegel brechen & Einladung lesen';
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<div class="dungeon-card">
|
|
<h2 style="color: var(--gold); text-align: center; margin-bottom: 0.5rem; font-size: 1.8rem;">
|
|
Wähle deine Prüfung im Escape Adventure
|
|
</h2>
|
|
<p style="text-align: center; color: var(--text-dim); margin-bottom: 1.5rem;">
|
|
Du kannst die Kammern einzeln erkunden oder die Prüfungen nacheinander bezwingen:
|
|
</p>
|
|
|
|
<div class="chamber-grid">
|
|
<!-- Chamber 1: Ring Flight -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.broom_solved %}solved{% endif %}">
|
|
{% if state.broom_solved %}✅ Gemeistert{% else %}🔓 Bereit (Start){% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🧹⭕</div>
|
|
<h3 class="chamber-title">Kammer I: Der Ring-Flug</h3>
|
|
<p class="chamber-desc">
|
|
Madam Hoochs Quidditch-Parcours! Schwinge dich auf deinen Rennbesen, steuere geschmeidig durch
|
|
die schwebenden goldenen Ringe und fange den geflügelten Schlüssel!
|
|
</p>
|
|
<a href="/broom" class="btn-magical">Parcours fliegen 🧹</a>
|
|
</div>
|
|
|
|
<!-- Chamber 2: Wand Spell Dueling -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.duel_solved %}solved{% endif %}">
|
|
{% if state.duel_solved %}✅ Gemeistert{% elif 'winged_key' in state.inventory or state.broom_solved or state.alohomora_mode %}⚡ Bereit{% else %}🔒 Benötigt: Geflügelter Schlüssel{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🪄⚡</div>
|
|
<h3 class="chamber-title">Kammer II: Das Spruch-Duell</h3>
|
|
<p class="chamber-desc">
|
|
Zücke deinen Zauberstab! Zeichne die magischen Runen-Gesten (Flipendo, Incendio & Alohomora)
|
|
flüssig mit dem Finger nach und zerschmettere die verzauberte Trainingsrüstung!
|
|
</p>
|
|
<a href="/duel" class="btn-magical">Duell beginnen 🪄</a>
|
|
</div>
|
|
|
|
<!-- Chamber 3: Potion Brewing -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.brew_solved %}solved{% endif %}">
|
|
{% if state.brew_solved %}✅ Gemeistert{% elif 'duel_badge' in state.inventory or state.duel_solved or state.alohomora_mode %}⚗️ Bereit{% else %}🔒 Benötigt: Kessel-Rezeptur{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">⚗️🧪</div>
|
|
<h3 class="chamber-title">Kammer III: Die Brauküche</h3>
|
|
<p class="chamber-desc">
|
|
Snapes Kupferkessel brodelt! Gib Essenzen hinzu, rühre mit Bedacht
|
|
und balanciere die Hitze, um das goldene Glückselixier <em>Felix Felicis</em> zu vollenden!
|
|
</p>
|
|
<a href="/brew" class="btn-magical">Kessel anheizen ⚗️</a>
|
|
</div>
|
|
|
|
<!-- Chamber 4: Cryptex Lock -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.cryptex_solved %}solved{% endif %}">
|
|
{% if state.cryptex_solved %}✅ Gemeistert{% elif 'felix_felicis' in state.inventory or state.brew_solved or state.alohomora_mode %}🔐 Bereit{% else %}🔒 Benötigt: Felix Felicis{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🔐🗝️</div>
|
|
<h3 class="chamber-title">Kammer IV: Das Drehschloss</h3>
|
|
<p class="chamber-desc">
|
|
Das massive Tresortor der vier Hogwarts-Gründer. Drehe die vier Messingzylinder mit Wappen, Mond und Sternen,
|
|
um das alchemistische Rätsel zu lösen und den Gründerschlüssel zu befreien!
|
|
</p>
|
|
<a href="/cryptex" class="btn-magical">Ringe drehen 🔐</a>
|
|
</div>
|
|
|
|
<!-- Chamber 5: Cornish Pixies -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.pixies_solved %}solved{% endif %}">
|
|
{% if state.pixies_solved %}✅ Gemeistert{% elif 'cryptex_key' in state.inventory or state.cryptex_solved or state.alohomora_mode %}🧚 Bereit{% else %}🔒 Benötigt: Gründerschlüssel{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🧚❄️</div>
|
|
<h3 class="chamber-title">Kammer V: Wichtel-Panik</h3>
|
|
<p class="chamber-desc">
|
|
Chaos im Klassenzimmer! Freche blaue Wichtel wirbeln umher. Schnelle Reflexe sind gefragt:
|
|
Banne 10 Wichtel mit dem Einfrier-Zauber <em>»Immobilus!«</em> und schone Neville!
|
|
</p>
|
|
<a href="/pixies" class="btn-magical">Wichtel jagen 🧚</a>
|
|
</div>
|
|
|
|
<!-- Chamber 6: Snape's Potions -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.bottles_solved %}solved{% endif %}">
|
|
{% if state.bottles_solved %}✅ Gemeistert{% elif 'pixie_jar' in state.inventory or state.pixies_solved or state.alohomora_mode %}🔥 Bereit{% else %}🔒 Benötigt: Wichtelglas{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🧪🔥</div>
|
|
<h3 class="chamber-title">Kammer VI: Snapes Flaschen</h3>
|
|
<p class="chamber-desc">
|
|
Schwarze Flammen versperren den Weg zum Stein, violette Flammen den Rückweg.
|
|
Auf dem Tisch stehen 7 Flaschen und Snapes unerbittliches Logik-Gedicht.
|
|
Schiebe, etikettiere und wähle die richtige Phiole!
|
|
</p>
|
|
<a href="/bottles" class="btn-magical">Flammenkammer betreten 🧪</a>
|
|
</div>
|
|
|
|
|
|
<!-- Bonus: Alchemy Sliding Puzzle -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge {% if state.sliding_solved %}solved{% endif %}">
|
|
{% if state.sliding_solved %}✅ Gelöst{% else %}🧩 Zusatz-Rätsel{% endif %}
|
|
</span>
|
|
<div class="chamber-icon">🧩⚗️</div>
|
|
<h3 class="chamber-title">Alchemie-Schieberätsel</h3>
|
|
<p class="chamber-desc">
|
|
Das mechanische Runen-Schiebesiegel auf der Steintafel.
|
|
Verschiebe die alchemistischen Elixier-Kacheln, um die verborgene Essenz der Alraune und des Lebenselixiers freizuschalten.
|
|
</p>
|
|
<a href="/sliding" class="btn-magical">Schieberätsel lösen 🧩</a>
|
|
</div>
|
|
|
|
<!-- Quiz Portal Link -->
|
|
<div class="chamber-card">
|
|
<span class="chamber-badge" style="background: rgba(212, 175, 55, 0.25); border-color: var(--gold); color: var(--gold);">
|
|
✨ Quiz Portal
|
|
</span>
|
|
<div class="chamber-icon">🏰📜</div>
|
|
<h3 class="chamber-title">Die Große Halle: Quiz</h3>
|
|
<p class="chamber-desc">
|
|
Möchtest du dein gesamtes theoretisches Wissen über die Zaubererwelt auf die Probe stellen?
|
|
Hunderte Fragen aus allen 7 Schuljahren warten im Hogwarts-Quiz!
|
|
</p>
|
|
<a href="https://quiz.dev.waiswuaschd.de" class="btn-magical" target="_blank" rel="noopener">Zum Hogwarts-Quiz ↗</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="text-align: center; margin-top: 2rem;">
|
|
<button class="btn-control" onclick="resetProgress()" style="margin: 0 auto; display: inline-flex;">
|
|
🔄 Fortschritt zurücksetzen
|
|
</button>
|
|
</div>
|
|
|
|
<script>
|
|
async function resetProgress() {
|
|
if (confirm("Möchtest du deinen bisherigen Escape-Fortschritt wirklich zurücksetzen?")) {
|
|
await fetch('/api/reset', { method: 'POST' });
|
|
window.location.reload();
|
|
}
|
|
}
|
|
</script>
|
|
{% endblock %}
|