Weiter gebaut
Some checks failed
Host-Based Deploy (Java 21 Fix) / build-and-run (push) Has been cancelled

This commit is contained in:
2026-04-25 16:56:35 +02:00
parent e4b762f905
commit 4f2048bdc8
242 changed files with 14108 additions and 1770 deletions

View File

@@ -0,0 +1,180 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/img/icon.png" type="image/png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hilfe BDSM Game xXx Sphere</title>
<link rel="stylesheet" href="/css/variables.css">
<link rel="stylesheet" href="/css/style.css">
<style>
.hilfe-header { margin-bottom: 2rem; }
.hilfe-header h1 { font-size: 1.6rem; margin: 0 0 0.4rem 0; }
.hilfe-header p { color: var(--color-muted); font-size: 0.92rem; margin: 0; line-height: 1.6; }
.hilfe-section { background: var(--color-card); border: 1px solid var(--color-secondary); border-radius: 10px; margin-bottom: 0.75rem; overflow: hidden; }
.hilfe-section-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 1rem 1.25rem; cursor: pointer; user-select: none; transition: background 0.15s; }
.hilfe-section-header:hover { background: rgba(255,255,255,0.03); }
.hilfe-section-title { display: flex; align-items: center; gap: 0.6rem; font-size: 1rem; font-weight: 600; }
.hilfe-section-arrow { font-size: 0.75rem; color: var(--color-muted); transition: transform 0.2s; }
.hilfe-section.open .hilfe-section-arrow { transform: rotate(90deg); }
.hilfe-section-body { display: none; padding: 0 1.25rem 1.25rem; border-top: 1px solid var(--color-secondary); }
.hilfe-section.open .hilfe-section-body { display: block; }
.hilfe-section-body p { font-size: 0.9rem; color: var(--color-muted); line-height: 1.7; margin: 0.9rem 0 0; }
.hilfe-section-body p:first-child { margin-top: 1rem; }
.hilfe-steps { list-style: none; padding: 0; margin: 1rem 0 0; display: flex; flex-direction: column; gap: 0.75rem; }
.hilfe-steps li { list-style: none; display: flex; align-items: flex-start; gap: 0.85rem; font-size: 0.9rem; color: var(--color-muted); line-height: 1.6; }
.hilfe-steps li::before { display: none; }
.hilfe-steps li .step-num { flex-shrink: 0; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--color-primary); color: #fff; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; margin-top: 0.1rem; }
.hilfe-hint { background: rgba(var(--color-primary-rgb, 120,80,200), 0.08); border-left: 3px solid var(--color-primary); border-radius: 0 8px 8px 0; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.hilfe-hint strong { color: var(--color-text); }
.hilfe-warn { background: rgba(231,76,60,0.08); border-left: 3px solid #e74c3c; border-radius: 0 8px 8px 0; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.hilfe-warn strong { color: #e74c3c; }
.hilfe-info { background: var(--color-secondary); border-radius: 8px; padding: 0.75rem 1rem; font-size: 0.88rem; color: var(--color-muted); line-height: 1.6; margin-top: 1rem; }
.hilfe-table { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-top: 1rem; }
.hilfe-table th { text-align: left; color: var(--color-text); font-weight: 600; padding: 0.4rem 0.75rem 0.4rem 0; border-bottom: 1px solid var(--color-secondary); }
.hilfe-table td { color: var(--color-muted); padding: 0.5rem 0.75rem 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); vertical-align: top; line-height: 1.5; }
.hilfe-table tr:last-child td { border-bottom: none; }
.hilfe-badge { display: inline-block; background: var(--color-secondary); border-radius: 4px; padding: 0.1rem 0.45rem; font-size: 0.78rem; font-weight: 600; color: var(--color-muted); vertical-align: middle; }
.back-link { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--color-muted); text-decoration: none; margin-bottom: 1.25rem; transition: color 0.15s; }
.back-link:hover { color: var(--color-text); }
</style>
</head>
<body class="app">
<div class="main">
<div class="content">
<a href="/help/overview.html" class="back-link"> Zurück zur Hilfe-Übersicht</a>
<div class="hilfe-header">
<h1>⛓️ BDSM Game</h1>
<p>Sessions erstellen, Spieler einladen und Aufgaben verwalten.</p>
</div>
<div class="hilfe-section open" id="sec-intro">
<div class="hilfe-section-header" onclick="toggleSection('sec-intro')">
<span class="hilfe-section-title">📖 Was ist das BDSM Game?</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Das BDSM Game ermöglicht strukturierte Spielsessions zwischen einem <strong>Dom</strong> (Dominant) und einem oder mehreren <strong>Subs</strong> (Submissive). Der Dom erstellt die Session, legt Regeln und Aufgaben fest und überwacht den Verlauf.
</p>
<p>
Aufgaben können zufällig aus dem Aufgaben-Pool gezogen oder manuell vergeben werden. Jede Session hat einen definierten Anfang und ein definiertes Ende.
</p>
<div class="hilfe-hint">
<strong>Safe Word:</strong> Lege vor jeder Session ein Safe Word fest. Das Safe Word beendet die Session sofort und unbedingt unabhängig vom Spielstand.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-session">
<div class="hilfe-section-header" onclick="toggleSection('sec-session')">
<span class="hilfe-section-title">🚀 Session starten</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>Als Dom startest du eine neue Session so:</p>
<ol class="hilfe-steps">
<li><span class="step-num">1</span><span>Navigiere zu <strong>BDSM → Neue Session</strong>.</span></li>
<li><span class="step-num">2</span><span>Vergib einen Session-Namen und lege die Intensität fest (<span class="hilfe-badge">Leicht</span> / <span class="hilfe-badge">Mittel</span> / <span class="hilfe-badge">Intensiv</span>).</span></li>
<li><span class="step-num">3</span><span>Wähle die Aufgaben-Sets, die während der Session aktiv sein sollen.</span></li>
<li><span class="step-num">4</span><span>Lade Mitspieler per Nutzername oder Einladungslink ein (siehe unten).</span></li>
<li><span class="step-num">5</span><span>Starte die Session. Alle eingeladenen Subs erhalten eine Benachrichtigung.</span></li>
</ol>
<div class="hilfe-warn">
<strong>Achtung:</strong> Eine laufende Session kann nur vom Dom beendet werden oder wenn das Safe Word ausgelöst wird.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-einladen">
<div class="hilfe-section-header" onclick="toggleSection('sec-einladen')">
<span class="hilfe-section-title">👥 Spieler einladen</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Spieler können auf zwei Wegen in eine Session eingeladen werden:
</p>
<table class="hilfe-table">
<thead><tr><th>Methode</th><th>Beschreibung</th></tr></thead>
<tbody>
<tr><td><span class="hilfe-badge">Nutzername</span></td><td>Gib den Nutzernamen direkt ein. Nur für registrierte Nutzer, die dir folgen oder mit dir befreundet sind.</td></tr>
<tr><td><span class="hilfe-badge">Einladungslink</span></td><td>Generiere einen einmalig verwendbaren Link. Jede Person mit dem Link kann beitreten (auch Nicht-Freunde).</td></tr>
</tbody>
</table>
<div class="hilfe-hint">
<strong>Tipp:</strong> Teile Einladungslinks nur über sichere Kanäle. Ein Link kann nur einmal verwendet werden und verfällt nach 24 Stunden.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-aufgaben">
<div class="hilfe-section-header" onclick="toggleSection('sec-aufgaben')">
<span class="hilfe-section-title">📋 Aufgaben verwalten</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Aufgaben sind das Herzstück des BDSM Games. Eigene Aufgaben kannst du unter <strong>BDSM → Aufgaben</strong> anlegen und bearbeiten.
</p>
<p>
Während einer aktiven Session kann der Dom jederzeit eine neue Aufgabe vergeben. Der Sub muss die Aufgabe bestätigen oder Einwände erheben. Nicht erfüllte Aufgaben werden protokolliert.
</p>
<div class="hilfe-info">
Aufgaben können öffentlich als Vorlagen geteilt werden. Andere Nutzer können diese Vorlagen in ihre eigenen Sammlungen übernehmen.
</div>
</div>
</div>
<div class="hilfe-section" id="sec-faq1">
<div class="hilfe-section-header" onclick="toggleSection('sec-faq1')">
<span class="hilfe-section-title">❓ Was passiert, wenn ein Sub die Session verlässt?</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Verlässt ein Sub die Session vorzeitig (ohne Safe Word), wird dies als Verstoß protokolliert. Der Dom kann die Session dennoch fortsetzen, wenn weitere Subs teilnehmen. Bei nur einem Sub endet die Session automatisch.
</p>
</div>
</div>
<div class="hilfe-section" id="sec-faq2">
<div class="hilfe-section-header" onclick="toggleSection('sec-faq2')">
<span class="hilfe-section-title">❓ Kann ich Aufgaben aus dem Community-Pool nutzen?</span>
<span class="hilfe-section-arrow"></span>
</div>
<div class="hilfe-section-body">
<p>
Ja. Unter <strong>BDSM → Entdecken</strong> findest du öffentlich geteilte Aufgaben-Sets der Community. Du kannst diese direkt in deine eigene Sammlung übernehmen und für Sessions verwenden.
</p>
</div>
</div>
</div>
</div>
<script src="/js/icons.js"></script>
<script src="/js/nav.js"></script>
<script>
function toggleSection(id) {
document.getElementById(id).classList.toggle('open');
}
function openFromHash() {
const hash = window.location.hash.slice(1);
if (!hash) return;
const el = document.getElementById(hash);
if (el && el.classList.contains('hilfe-section')) {
el.classList.add('open');
setTimeout(() => el.scrollIntoView({ behavior: 'smooth', block: 'start' }), 50);
}
}
document.addEventListener('DOMContentLoaded', openFromHash);
window.addEventListener('hashchange', openFromHash);
</script>
</body>
</html>