@jjlmoya/utils-tabletop 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/package.json +65 -0
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/category/TabletopCategorySEO.astro +14 -0
  4. package/src/category/i18n/de.ts +27 -0
  5. package/src/category/i18n/en.ts +27 -0
  6. package/src/category/i18n/es.ts +27 -0
  7. package/src/category/i18n/fr.ts +27 -0
  8. package/src/category/i18n/id.ts +27 -0
  9. package/src/category/i18n/it.ts +27 -0
  10. package/src/category/i18n/ja.ts +27 -0
  11. package/src/category/i18n/ko.ts +27 -0
  12. package/src/category/i18n/nl.ts +27 -0
  13. package/src/category/i18n/pl.ts +27 -0
  14. package/src/category/i18n/pt.ts +27 -0
  15. package/src/category/i18n/ru.ts +27 -0
  16. package/src/category/i18n/sv.ts +27 -0
  17. package/src/category/i18n/tr.ts +27 -0
  18. package/src/category/i18n/zh.ts +27 -0
  19. package/src/category/index.ts +27 -0
  20. package/src/components/PreviewNavSidebar.astro +116 -0
  21. package/src/components/PreviewToolbar.astro +143 -0
  22. package/src/data.ts +10 -0
  23. package/src/entries.ts +10 -0
  24. package/src/env.d.ts +5 -0
  25. package/src/index.ts +21 -0
  26. package/src/layouts/PreviewLayout.astro +117 -0
  27. package/src/pages/[locale]/[slug].astro +161 -0
  28. package/src/pages/[locale].astro +251 -0
  29. package/src/pages/index.astro +4 -0
  30. package/src/tests/faq_count.test.ts +18 -0
  31. package/src/tests/i18n_coverage.test.ts +36 -0
  32. package/src/tests/locale_completeness.test.ts +29 -0
  33. package/src/tests/mocks/astro_mock.js +2 -0
  34. package/src/tests/no_en_dash.test.ts +41 -0
  35. package/src/tests/no_h1_in_components.test.ts +48 -0
  36. package/src/tests/schemas_fulfillment.test.ts +23 -0
  37. package/src/tests/seo_length.test.ts +22 -0
  38. package/src/tests/shared-test-helpers.ts +56 -0
  39. package/src/tests/slug_language_code_format.test.ts +23 -0
  40. package/src/tests/slug_uniqueness.test.ts +81 -0
  41. package/src/tests/title_quality.test.ts +55 -0
  42. package/src/tests/tool_exports.test.ts +34 -0
  43. package/src/tests/tool_validation.test.ts +16 -0
  44. package/src/tool/board-game-timer/bibliography.astro +16 -0
  45. package/src/tool/board-game-timer/bibliography.ts +12 -0
  46. package/src/tool/board-game-timer/board-game-timer.css +1615 -0
  47. package/src/tool/board-game-timer/client.ts +17 -0
  48. package/src/tool/board-game-timer/component.astro +22 -0
  49. package/src/tool/board-game-timer/components/DuelTimer.astro +75 -0
  50. package/src/tool/board-game-timer/components/MultiplayerTimer.astro +58 -0
  51. package/src/tool/board-game-timer/components/SetupPanel.astro +155 -0
  52. package/src/tool/board-game-timer/components/StatsModal.astro +52 -0
  53. package/src/tool/board-game-timer/entry.ts +76 -0
  54. package/src/tool/board-game-timer/i18n/de.ts +303 -0
  55. package/src/tool/board-game-timer/i18n/en.ts +304 -0
  56. package/src/tool/board-game-timer/i18n/es.ts +303 -0
  57. package/src/tool/board-game-timer/i18n/fr.ts +303 -0
  58. package/src/tool/board-game-timer/i18n/id.ts +303 -0
  59. package/src/tool/board-game-timer/i18n/it.ts +303 -0
  60. package/src/tool/board-game-timer/i18n/ja.ts +306 -0
  61. package/src/tool/board-game-timer/i18n/ko.ts +303 -0
  62. package/src/tool/board-game-timer/i18n/nl.ts +303 -0
  63. package/src/tool/board-game-timer/i18n/pl.ts +303 -0
  64. package/src/tool/board-game-timer/i18n/pt.ts +303 -0
  65. package/src/tool/board-game-timer/i18n/ru.ts +303 -0
  66. package/src/tool/board-game-timer/i18n/sv.ts +303 -0
  67. package/src/tool/board-game-timer/i18n/tr.ts +303 -0
  68. package/src/tool/board-game-timer/i18n/zh.ts +303 -0
  69. package/src/tool/board-game-timer/index.ts +9 -0
  70. package/src/tool/board-game-timer/logic.test.ts +282 -0
  71. package/src/tool/board-game-timer/logic.ts +6 -0
  72. package/src/tool/board-game-timer/modules/ColorHelper.ts +26 -0
  73. package/src/tool/board-game-timer/modules/DuelViewManager.ts +120 -0
  74. package/src/tool/board-game-timer/modules/FormatHelper.ts +12 -0
  75. package/src/tool/board-game-timer/modules/GameRunner.ts +136 -0
  76. package/src/tool/board-game-timer/modules/GameState.ts +48 -0
  77. package/src/tool/board-game-timer/modules/MultiplayerViewManager.ts +163 -0
  78. package/src/tool/board-game-timer/modules/SetupPanelManager.ts +209 -0
  79. package/src/tool/board-game-timer/modules/SoundManager.ts +109 -0
  80. package/src/tool/board-game-timer/modules/SpeechManager.ts +1 -0
  81. package/src/tool/board-game-timer/modules/StatsManager.ts +87 -0
  82. package/src/tool/board-game-timer/modules/StatsModalManager.ts +74 -0
  83. package/src/tool/board-game-timer/modules/TimerEngine.ts +175 -0
  84. package/src/tool/board-game-timer/modules/TimerEngineBase.ts +49 -0
  85. package/src/tool/board-game-timer/modules/TimerEngineClock.ts +127 -0
  86. package/src/tool/board-game-timer/modules/TimerStateHelper.ts +55 -0
  87. package/src/tool/board-game-timer/modules/particles.ts +108 -0
  88. package/src/tool/board-game-timer/seo.astro +16 -0
  89. package/src/tool/board-game-timer/types.ts +97 -0
  90. package/src/tool/dice-roller-simulator/bibliography.astro +16 -0
  91. package/src/tool/dice-roller-simulator/bibliography.ts +12 -0
  92. package/src/tool/dice-roller-simulator/client.ts +273 -0
  93. package/src/tool/dice-roller-simulator/component.astro +75 -0
  94. package/src/tool/dice-roller-simulator/components/DiceGrid.astro +55 -0
  95. package/src/tool/dice-roller-simulator/components/RollHistorySection.astro +26 -0
  96. package/src/tool/dice-roller-simulator/components/RollResultBanner.astro +10 -0
  97. package/src/tool/dice-roller-simulator/components/StatsPanel.astro +36 -0
  98. package/src/tool/dice-roller-simulator/dice-roller-simulator.css +1319 -0
  99. package/src/tool/dice-roller-simulator/entry.ts +39 -0
  100. package/src/tool/dice-roller-simulator/i18n/de.ts +305 -0
  101. package/src/tool/dice-roller-simulator/i18n/en.ts +305 -0
  102. package/src/tool/dice-roller-simulator/i18n/es.ts +305 -0
  103. package/src/tool/dice-roller-simulator/i18n/fr.ts +305 -0
  104. package/src/tool/dice-roller-simulator/i18n/id.ts +305 -0
  105. package/src/tool/dice-roller-simulator/i18n/it.ts +305 -0
  106. package/src/tool/dice-roller-simulator/i18n/ja.ts +305 -0
  107. package/src/tool/dice-roller-simulator/i18n/ko.ts +305 -0
  108. package/src/tool/dice-roller-simulator/i18n/nl.ts +305 -0
  109. package/src/tool/dice-roller-simulator/i18n/pl.ts +305 -0
  110. package/src/tool/dice-roller-simulator/i18n/pt.ts +305 -0
  111. package/src/tool/dice-roller-simulator/i18n/ru.ts +305 -0
  112. package/src/tool/dice-roller-simulator/i18n/sv.ts +305 -0
  113. package/src/tool/dice-roller-simulator/i18n/tr.ts +305 -0
  114. package/src/tool/dice-roller-simulator/i18n/zh.ts +305 -0
  115. package/src/tool/dice-roller-simulator/index.ts +9 -0
  116. package/src/tool/dice-roller-simulator/modules/chart.ts +32 -0
  117. package/src/tool/dice-roller-simulator/modules/history.ts +87 -0
  118. package/src/tool/dice-roller-simulator/modules/particles.ts +22 -0
  119. package/src/tool/dice-roller-simulator/seo.astro +16 -0
  120. package/src/tools.ts +9 -0
  121. package/src/types.ts +70 -0
@@ -0,0 +1,39 @@
1
+ import type { TabletopToolEntry, ToolLocaleContent } from '../../types';
2
+
3
+ export type DiceRollerUI = {
4
+ title: string;
5
+ rollButton: string;
6
+ clearButton: string;
7
+ historyTitle: string;
8
+ noHistory: string;
9
+ totalRolls: string;
10
+ averageRoll: string;
11
+ lastRoll: string;
12
+ modifierLabel: string;
13
+ probabilityTitle: string;
14
+ selectDice: string;
15
+ };
16
+
17
+ export type DiceRollerLocaleContent = ToolLocaleContent<DiceRollerUI>;
18
+
19
+ export const diceRollerSimulator: TabletopToolEntry<DiceRollerUI> = {
20
+ id: 'dice-roller-simulator',
21
+ icons: { bg: 'mdi:dice-multiple-outline', fg: 'mdi:dice-multiple' },
22
+ i18n: {
23
+ en: () => import('./i18n/en').then((m) => m.content),
24
+ de: () => import('./i18n/de').then((m) => m.content),
25
+ es: () => import('./i18n/es').then((m) => m.content),
26
+ fr: () => import('./i18n/fr').then((m) => m.content),
27
+ id: () => import('./i18n/id').then((m) => m.content),
28
+ it: () => import('./i18n/it').then((m) => m.content),
29
+ ja: () => import('./i18n/ja').then((m) => m.content),
30
+ ko: () => import('./i18n/ko').then((m) => m.content),
31
+ nl: () => import('./i18n/nl').then((m) => m.content),
32
+ pl: () => import('./i18n/pl').then((m) => m.content),
33
+ pt: () => import('./i18n/pt').then((m) => m.content),
34
+ ru: () => import('./i18n/ru').then((m) => m.content),
35
+ sv: () => import('./i18n/sv').then((m) => m.content),
36
+ tr: () => import('./i18n/tr').then((m) => m.content),
37
+ zh: () => import('./i18n/zh').then((m) => m.content),
38
+ },
39
+ };
@@ -0,0 +1,305 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ export const content: ToolLocaleContent = {
5
+ slug: 'wuerfel-rechner-wahrscheinlichkeit',
6
+ title: 'Würfelrechner und Wahrscheinlichkeitssimulator',
7
+ description: 'Werfen Sie virtuelle polyedrische Würfel (D4, D6, D8, D10, D12, D20, D100), fügen Sie Modifikatoren hinzu und sehen Sie Live-Statistiken sowie Wahrscheinlichkeiten für Tabletop und Brettspiele.',
8
+ ui: {
9
+ title: 'Würfelrechner und Wahrscheinlichkeitssimulator',
10
+ rollButton: 'Würfel werfen',
11
+ clearButton: 'Verlauf löschen',
12
+ historyTitle: 'Wurfverlauf',
13
+ noHistory: 'Noch keine Würfe aufgezeichnet. Fügen Sie Würfel hinzu und klicken Sie auf Würfeln, um zu starten.',
14
+ totalRolls: 'Würfe insgesamt',
15
+ averageRoll: 'Durchschnittliches Ergebnis',
16
+ lastRoll: 'Letztes Wurfergebnis',
17
+ modifierLabel: 'Modifikator (+/-)',
18
+ probabilityTitle: 'Wahrscheinlichkeitsanalyse',
19
+ selectDice: 'Würfel zum Werfen auswählen',
20
+ },
21
+ seo: [
22
+ { type: 'title', text: 'Die Kontrolle über die Tabletop-Wahrscheinlichkeiten: Wie Würfel-Wahrscheinlichkeiten Ihr Spiel prägen', level: 2 },
23
+ { type: 'paragraph', html: 'Polyedrische Würfel sind das Herzstück von Rollenspielen und modernen Brettspielen. Ob Sie einen Rettungswurf in Dungeons & Dragons machen oder Ressourcen erwürfeln, das Ergebnis wird durch mathematische Wahrscheinlichkeiten bestimmt. Zu verstehen, wie die Kombination verschiedener Würfel Ihre Gewinnchancen beeinflusst, ist entscheidend für taktische Entscheidungen im Spiel.' },
24
+ {
25
+ type: 'stats',
26
+ items: [
27
+ { value: '5.0%', label: 'Chance auf eine natürliche 20' },
28
+ { value: '10.5', label: 'Durchschnitt von 3d6' },
29
+ { value: '9.75%', label: 'Natürliche 20 bei Vorteil' },
30
+ ],
31
+ columns: 3,
32
+ },
33
+ { type: 'title', text: 'Die Mathematik hinter mehreren Würfeln: Warum 3d6 sicherer ist als 1d20', level: 2 },
34
+ { type: 'paragraph', html: 'Wenn Sie einen einzelnen D20 werfen, hat jedes Ergebnis von 1 bis 20 die gleiche Wahrscheinlichkeit von 5%, was eine flache Wahrscheinlichkeitsverteilung ergibt. Bei mehreren Würfeln wie 3d6 sammeln sich die Ergebnisse jedoch um den Durchschnittswert von 10.5. Diese Glockenkurve bedeutet, dass ein moderates Ergebnis weitaus wahrscheinlicher ist als extreme Werte, was für Konsistenz sorgt und die Unberechenbarkeit einzelner Würfelwürfe verringert.' },
35
+ { type: 'title', text: 'D20-Wahrscheinlichkeiten erklärt: Kritische Treffer, Patzer und Modifikatoren', level: 2 },
36
+ { type: 'paragraph', html: 'Ein einfacher Modifikator von plus zwei kann die Erfolgswahrscheinlichkeit drastisch verändern und schwierige Aufgaben in überschaubare Herausforderungen verwandeln. In vielen Spielsystemen stellt eine natürliche 20 einen automatischen kritischen Treffer dar (5% Chance), während eine natürliche 1 ein kritischer Fehler (Patzer) ist. Die Visualisierung dieser Ergebnisse hilft dabei, den Zufall zu entmystifizieren und taktische Züge statistisch abzusichern.' },
37
+ {
38
+ type: 'title',
39
+ text: 'Referenztabelle für Standard-Polyederwürfel',
40
+ level: 3,
41
+ },
42
+ {
43
+ type: 'table',
44
+ headers: ['Würfeltyp', 'Minimaler Wurf', 'Maximaler Wurf', 'Durchschnittliches Ergebnis', 'Hauptrolle in Tabletop-RPGs'],
45
+ rows: [
46
+ ['D4', '1', '4', '2.5', 'Magische Geschosse, Dolche, kleinere Gefahren'],
47
+ ['D6', '1', '6', '3.5', 'Feuerbälle, Standardschwerter, Attributsprüfungen'],
48
+ ['D8', '1', '8', '4.5', 'Langschwerter, Heilzauber, mittlere Waffen'],
49
+ ['D10', '1', '10', '5.5', 'Hellebarden, Zaubertrick-Schaden, Prozentzehner'],
50
+ ['D12', '1', '12', '6.5', 'Zweihändige Äxte, Barbaren-Trefferpunkte'],
51
+ ['D20', '1', '20', '10.5', 'Rettungswürfe, Angriffswürfe, Fertigkeitsproben'],
52
+ ['D100', '1', '100', '50.5', 'Prozenttabellen, wilde Magieeffekte'],
53
+ ],
54
+ },
55
+ {
56
+ type: 'tip',
57
+ title: 'Die Berechnung von Durchschnittswerten im Kopf',
58
+ html: 'Um den Durchschnitt eines Würfels zu berechnen, addieren Sie den Mindest- (1) und Höchstwert und teilen Sie das Ergebnis durch 2. Beispiel D6: (1 + 6) / 2 = 3.5. Bei mehreren Würfeln multiplizieren Sie den Durchschnitt mit der Anzahl der Würfel (3d6: 3 * 3.5 = 10.5). Ein Modifikator wird einfach addiert (3d6 + 4: 10.5 + 4 = 14.5).',
59
+ },
60
+ {
61
+ type: 'title',
62
+ text: 'Vergleich von flachen und gekurvten Würfelsystemen',
63
+ level: 3,
64
+ },
65
+ {
66
+ type: 'proscons',
67
+ title: 'D20 System vs. 3d6 Glockenkurvensystem',
68
+ items: [
69
+ {
70
+ pro: 'D20-Systeme sind schnell zu berechnen und haben eine konstante Chance von 5% für kritische Erfolge und Patzer.',
71
+ con: 'D20-Ergebnisse sind sehr unbeständig, wodurch die Fähigkeiten eines Charakters weniger wiegen als das Glück.',
72
+ },
73
+ {
74
+ pro: '3d6-Glockenkurven bevorzugen durchschnittliche Ergebnisse, sodass kompetente Charaktere einfache Aufgaben selten verfehlen.',
75
+ con: '3d6-Systeme erfordern das Addieren dreier Würfel und machen kritische Erfolge (eine glatte 18) extrem selten (0.46%).',
76
+ },
77
+ ],
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'Wahrscheinlichkeitsmechaniken verstehen',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'comparative',
86
+ items: [
87
+ {
88
+ title: 'D20 System Linear',
89
+ description: 'Nutzt einen einzelnen 20-seitigen Würfel für Aktionen, bei dem jedes Ergebnis die gleiche Chance von 5% hat. Hohe Varianz und Unvorhersehbarkeit sorgen für Nervenkitzel, mindern aber die Planbarkeit.',
90
+ icon: 'mdi:dice-d20',
91
+ highlight: false,
92
+ points: [
93
+ 'Flache Chance von 5% pro Ergebnis',
94
+ 'Hohe Varianz und Schwankung',
95
+ 'Modifikatoren wirken sich linear aus',
96
+ ],
97
+ },
98
+ {
99
+ title: '3d6 System Glockenkurve',
100
+ description: 'Summiert drei 6-seitige Würfel und erzeugt eine Normalverteilung mit dem Mittelpunkt 10.5. Die Ergebnisse sind sehr beständig, was extreme Ausreißer selten macht.',
101
+ icon: 'mdi:chart-bell-curve',
102
+ highlight: true,
103
+ points: [
104
+ 'Mittlere Ergebnisse sind sehr wahrscheinlich',
105
+ 'Extreme Ergebnisse sind äußerst selten',
106
+ 'Modifikatoren haben nicht-lineare Auswirkungen',
107
+ ],
108
+ },
109
+ {
110
+ title: 'Prozentsystem (Unterwürfeln)',
111
+ description: 'Verwendet zwei 10-seitige Würfel für Werte zwischen 1 und 100. Das Ziel ist es, unter dem Wert des Charakters zu bleiben, was die Erfolgsschancen direkt anzeigt.',
112
+ icon: 'mdi:percent-box-outline',
113
+ highlight: false,
114
+ points: [
115
+ 'Direkte Erfolgsquote in Prozent',
116
+ 'Auf den ersten Blick verständlich',
117
+ 'Fortschritt ist mathematisch klar ersichtlich',
118
+ ],
119
+ },
120
+ ],
121
+ columns: 3,
122
+ },
123
+ {
124
+ type: 'diagnostic',
125
+ variant: 'info',
126
+ title: 'Spielerfehlschluss: Warum Würfel kein Gedächtnis haben',
127
+ icon: 'mdi:information-outline',
128
+ badge: 'PROBABILITY TIP',
129
+ html: 'Ein häufiger Irrglaube im Tabletop-Gaming ist, dass vergangene Würfe zukünftige Ergebnisse beeinflussen. Wenn Sie dreimal hintereinander eine "1" auf einem D20 würfeln, haben Sie vielleicht das Gefühl, dass eine hohe Zahl "überfällig" ist. Tatsächlich ist jeder Wurf ein unabhängiges Ereignis. Die Wahrscheinlichkeit, beim nächsten Mal eine 20 zu würfeln, liegt immer noch bei genau 5%. Dies zu wissen hilft Spielern, objektive Entscheidungen zu treffen.',
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Würfel- und Wahrscheinlichkeits-Glossar',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'glossary',
138
+ items: [
139
+ {
140
+ term: 'Vorteil & Nachteil',
141
+ definition: 'Ein Mechanismus, bei dem zwei D20 gewürfelt werden und das höhere (Vorteil) oder das niedrigere (Nachteil) Ergebnis zählt. Vorteil verschiebt den Schnitt von 10.5 auf 13.8.',
142
+ },
143
+ {
144
+ term: 'Glockenkurve (Normalverteilung)',
145
+ definition: 'Eine Verteilung, bei der sich die Ergebnisse um den Mittelwert häufen. Dies tritt beim Summieren mehrerer Würfel auf (wie 3d6 oder 2d10).',
146
+ },
147
+ {
148
+ term: 'Kritischer Treffer',
149
+ definition: 'Ein automatischer Erfolg, der in der Regel durch das Würfeln der maximalen Augenzahl erzielt wird (eine natürliche 20 auf einem D20).',
150
+ },
151
+ {
152
+ term: 'Kritischer Fehler (Patzer)',
153
+ definition: 'Ein automatischer Fehlschlag mit oft humorvollen oder katastrophalen Folgen, ausgelöst durch eine 1 auf einem D20.',
154
+ },
155
+ {
156
+ term: 'Erwartungswert',
157
+ definition: 'Das langfristige durchschnittliche Ergebnis Ihrer Würfe. Für einen einzelnen D6 beträgt der Erwartungswert 3.5, für einen D20 liegt er bei 10.5.',
158
+ },
159
+ {
160
+ term: 'Prozentwürfel',
161
+ definition: 'Zwei D10-Würfel (einer für Zehner, einer für Einer), die zusammen gewürfelt ein Ergebnis von 1 bis 100 liefern.',
162
+ },
163
+ ],
164
+ },
165
+ ],
166
+ faq: [
167
+ {
168
+ question: 'Wie funktioniert der Wahrscheinlichkeits-Simulator?',
169
+ answer: 'Er berechnet die exakte Wahrscheinlichkeitsverteilung für die ausgewählte Würfelkombination und den Modifikator, sodass Sie die prozentuale Chance sehen, über oder unter bestimmten Werten zu liegen.',
170
+ },
171
+ {
172
+ question: 'Welche Würfel werden unterstützt?',
173
+ answer: 'Alle gängigen polyedrischen Würfel für Tabletop-RPGs und Brettspiele: D4, D6, D8, D10, D12, D20 und D100.',
174
+ },
175
+ {
176
+ question: 'Was sind Modifikatoren und wie funktionieren sie?',
177
+ answer: 'Modifikatoren sind feste Werte (+1, -2 usw.), die zum Wurfergebnis hinzugefügt oder abgezogen werden, um Boni oder Abzüge des Charakters darzustellen.',
178
+ },
179
+ {
180
+ question: 'Was bedeutet das Würfeln mit Vorteil oder Nachteil?',
181
+ answer: 'Würfeln mit Vorteil bedeutet, dass Sie zwei D20 werfen und das höhere Ergebnis wählen. Bei Nachteil werfen Sie ebenfalls zwei D20 und nehmen das niedrigere. Dies ist eine bekannte Mechanik in Tabletop-Rollenspielen.',
182
+ },
183
+ {
184
+ question: 'Was sind kritische Treffer und Patzer?',
185
+ answer: 'Ein kritischer Treffer tritt auf, wenn ein Würfel seine maximale Augenzahl zeigt (z. B. eine natürliche 20 auf dem D20), was zu einem automatischen Erfolg führt. Ein Patzer ist eine gewürfelte 1 und bedeutet automatischen Fehlschlag.',
186
+ },
187
+ {
188
+ question: 'Wie berechnet der Simulator die Wurfwahrscheinlichkeiten?',
189
+ answer: 'Der Simulator analysiert mathematisch jede mögliche Kombination Ihrer Würfel und Modifikatoren. Daraus berechnet er den exakten Prozentsatz für jedes Gesamtergebnis.',
190
+ },
191
+ {
192
+ question: 'Warum ist ein Wurf mit 3d6 konstanter als mit einem einzelnen D20?',
193
+ answer: 'Ein D20 bietet für jedes Ergebnis eine flache Chance von 5%. Bei 3d6 bildet sich eine Glockenkurve, wodurch Werte nahe 10.5 sehr wahrscheinlich sind, während extreme Werte extrem selten vorkommen.',
194
+ },
195
+ ],
196
+ bibliography,
197
+ howTo: [
198
+ {
199
+ name: 'Würfel hinzufügen',
200
+ text: 'Klicken Sie auf die Würfel-Symbole, um sie zu Ihrem Wurfpool hinzuzufügen.',
201
+ },
202
+ {
203
+ name: 'Modifikator eingeben',
204
+ text: 'Geben Sie einen positiven oder negativen Wert ein, der zum Gesamtergebnis addiert wird.',
205
+ },
206
+ {
207
+ name: 'Würfeln und Statistik prüfen',
208
+ text: 'Klicken Sie auf Würfeln, um die Animationen, den Verlauf und die Wahrscheinlichkeitsanalyse zu sehen.',
209
+ },
210
+ ],
211
+ schemas: [
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'SoftwareApplication',
215
+ 'name': 'Würfelrechner und Wahrscheinlichkeitssimulator',
216
+ 'operatingSystem': 'All',
217
+ 'applicationCategory': 'UtilitiesApplication',
218
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.'
219
+ },
220
+ {
221
+ '@context': 'https://schema.org',
222
+ '@type': 'FAQPage',
223
+ 'mainEntity': [
224
+ {
225
+ '@type': 'Question',
226
+ 'name': 'Wie funktioniert der Wahrscheinlichkeits-Simulator?',
227
+ 'acceptedAnswer': {
228
+ '@type': 'Answer',
229
+ 'text': 'Er berechnet die exakte Wahrscheinlichkeitsverteilung für die ausgewählte Würfelkombination und den Modifikator, sodass Sie die prozentuale Chance sehen, über oder unter bestimmten Werten zu liegen.'
230
+ }
231
+ },
232
+ {
233
+ '@type': 'Question',
234
+ 'name': 'Welche Würfel werden unterstützt?',
235
+ 'acceptedAnswer': {
236
+ '@type': 'Answer',
237
+ 'text': 'Alle gängigen polyedrischen Würfel für Tabletop-RPGs und Brettspiele: D4, D6, D8, D10, D12, D20 und D100.'
238
+ }
239
+ },
240
+ {
241
+ '@type': 'Question',
242
+ 'name': 'Was sind Modifikatoren und wie funktionieren sie?',
243
+ 'acceptedAnswer': {
244
+ '@type': 'Answer',
245
+ 'text': 'Modifikatoren sind feste Werte (+1, -2 usw.), die zum Wurfergebnis hinzugefügt oder abgezogen werden, um Boni oder Abzüge des Charakters darzustellen.'
246
+ }
247
+ },
248
+ {
249
+ '@type': 'Question',
250
+ 'name': 'Was bedeutet das Würfeln mit Vorteil oder Nachteil?',
251
+ 'acceptedAnswer': {
252
+ '@type': 'Answer',
253
+ 'text': 'Würfeln mit Vorteil bedeutet, dass Sie zwei D20 werfen und das höhere Ergebnis wählen. Bei Nachteil werfen Sie ebenfalls zwei D20 und nehmen das niedrigere. Dies ist eine bekannte Mechanik in Tabletop-Rollenspielen.'
254
+ }
255
+ },
256
+ {
257
+ '@type': 'Question',
258
+ 'name': 'Was sind kritische Treffer und Patzer?',
259
+ 'acceptedAnswer': {
260
+ '@type': 'Answer',
261
+ 'text': 'Ein kritischer Treffer tritt auf, wenn ein Würfel seine maximale Augenzahl zeigt (z. B. eine natürliche 20 auf dem D20), was zu einem automatischen Erfolg führt. Ein Patzer ist eine gewürfelte 1 und bedeutet automatischen Fehlschlag.'
262
+ }
263
+ },
264
+ {
265
+ '@type': 'Question',
266
+ 'name': 'Wie berechnet der Simulator die Wurfwahrscheinlichkeiten?',
267
+ 'acceptedAnswer': {
268
+ '@type': 'Answer',
269
+ 'text': 'Der Simulator analysiert mathematisch jede mögliche Kombination Ihrer Würfel und Modifikatoren. Daraus berechnet er den exakten Prozentsatz für jedes Gesamtergebnis.'
270
+ }
271
+ },
272
+ {
273
+ '@type': 'Question',
274
+ 'name': 'Warum ist ein Wurf mit 3d6 konstanter als mit einem einzelnen D20?',
275
+ 'acceptedAnswer': {
276
+ '@type': 'Answer',
277
+ 'text': 'Ein D20 bietet für jedes Ergebnis eine flache Chance von 5%. Bei 3d6 bildet sich eine Glockenkurve, wodurch Werte nahe 10.5 sehr wahrscheinlich sind, während extreme Werte extrem selten vorkommen.'
278
+ }
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ '@context': 'https://schema.org',
284
+ '@type': 'HowTo',
285
+ 'name': 'How to Use the Dice Roller Simulator',
286
+ 'step': [
287
+ {
288
+ '@type': 'HowToStep',
289
+ 'name': 'Würfel hinzufügen',
290
+ 'text': 'Klicken Sie auf die Würfel-Symbole, um sie zu Ihrem Wurfpool hinzuzufügen.'
291
+ },
292
+ {
293
+ '@type': 'HowToStep',
294
+ 'name': 'Modifikator eingeben',
295
+ 'text': 'Geben Sie einen positiven oder negativen Wert ein, der zum Gesamtergebnis addiert wird.'
296
+ },
297
+ {
298
+ '@type': 'HowToStep',
299
+ 'name': 'Würfeln und Statistik prüfen',
300
+ 'text': 'Klicken Sie auf Würfeln, um die Animationen, den Verlauf und die Wahrscheinlichkeitsanalyse zu sehen.'
301
+ }
302
+ ]
303
+ }
304
+ ],
305
+ };
@@ -0,0 +1,305 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+
4
+ export const content: ToolLocaleContent = {
5
+ slug: 'dice-roller-simulator',
6
+ title: 'Dice Roller & Probability Simulator',
7
+ description: 'Roll virtual polyhedral dice (D4, D6, D8, D10, D12, D20, D100), add modifiers, and view live statistics and rolling probabilities for tabletop and board games.',
8
+ ui: {
9
+ title: 'Dice Roller & Probability Simulator',
10
+ rollButton: 'Roll Dice',
11
+ clearButton: 'Clear History',
12
+ historyTitle: 'Roll History',
13
+ noHistory: 'No rolls recorded yet. Add dice and click Roll to start.',
14
+ totalRolls: 'Total Rolls',
15
+ averageRoll: 'Average Result',
16
+ lastRoll: 'Last Roll Total',
17
+ modifierLabel: 'Modifier (+/-)',
18
+ probabilityTitle: 'Probability Analysis',
19
+ selectDice: 'Select Dice to Roll',
20
+ },
21
+ seo: [
22
+ { type: 'title', text: 'Mastering Tabletop Odds: How Polyhedral Dice Probability Shapes Your Game', level: 2 },
23
+ { type: 'paragraph', html: 'Polyhedral dice are the heart of tabletop roleplaying games and modern board games. Whether you are aiming for a high saving throw in Dungeons & Dragons or rolling for resource production, the outcome is governed by mathematical probability. Understanding how the combination of different dice types affects your odds is crucial for tactical decision-making during gameplay.' },
24
+ {
25
+ type: 'stats',
26
+ items: [
27
+ { value: '5.0%', label: 'Natural 20 Chance' },
28
+ { value: '10.5', label: 'Average 3d6 Roll' },
29
+ { value: '9.75%', label: 'Advantage Nat 20' },
30
+ ],
31
+ columns: 3,
32
+ },
33
+ { type: 'title', text: 'The Math Behind Multiple Dice: Why 3d6 is Safer Than 1d20', level: 2 },
34
+ { type: 'paragraph', html: 'When you roll a single D20, every outcome from 1 to 20 has an equal 5% chance of occurring, resulting in a flat probability distribution. However, when rolling multiple dice like 3d6, the results cluster around the average value of 10.5. This bell curve means you are far more likely to roll a moderate result than extreme values, providing consistency and reducing the swingy nature of single-die checks.' },
35
+ { type: 'title', text: 'D20 Odds Explained: Critical Hits, Fumbles, and Modifier Impact', level: 2 },
36
+ { type: 'paragraph', html: 'A simple modifier of plus two can dramatically swing the probability of success, transforming difficult tasks into manageable challenges. In many gaming systems, a natural 20 represents an automatic critical hit (a 5% chance), while a natural 1 is a critical fumble. Visualizing these outcomes helps demystify the randomness and lets you plan your tactical moves with statistical backing.' },
37
+ {
38
+ type: 'title',
39
+ text: 'Standard Polyhedral Dice Reference Table',
40
+ level: 3,
41
+ },
42
+ {
43
+ type: 'table',
44
+ headers: ['Dice Type', 'Minimum Roll', 'Maximum Roll', 'Average Result', 'Primary Role in Tabletop RPGs'],
45
+ rows: [
46
+ ['D4', '1', '4', '2.5', 'Magic missiles, daggers, minor hazards'],
47
+ ['D6', '1', '6', '3.5', 'Fireballs, standard swords, attribute checks'],
48
+ ['D8', '1', '8', '4.5', 'Longswords, healing spells, medium weapons'],
49
+ ['D10', '1', '10', '5.5', 'Halberds, cantrips, percentile tens'],
50
+ ['D12', '1', '12', '6.5', 'Greataxes, barbarian hit points'],
51
+ ['D20', '1', '20', '10.5', 'Saving throws, attack rolls, skill checks'],
52
+ ['D100', '1', '100', '50.5', 'Percentile tables, wild magic surges'],
53
+ ],
54
+ },
55
+ {
56
+ type: 'tip',
57
+ title: 'Calculating Average Dice Outcomes in Your Head',
58
+ html: 'To find the average of any single die roll, add the minimum (1) and maximum values together, then divide by 2. For example, a D6 average is (1 + 6) / 2 = 3.5. For multiple dice, simply multiply the single average by the number of dice (e.g., 3d6 average is 3 * 3.5 = 10.5). Adding a flat modifier simply adds to this average (e.g., 3d6 + 4 averages 14.5).',
59
+ },
60
+ {
61
+ type: 'title',
62
+ text: 'Comparing Flat vs. Curved Dice Systems',
63
+ level: 3,
64
+ },
65
+ {
66
+ type: 'proscons',
67
+ title: 'D20 System vs. 3d6 Bell Curve System',
68
+ items: [
69
+ {
70
+ pro: 'D20 systems are fast to calculate and have equal 5% odds for criticals and fumbles.',
71
+ con: 'D20 results are highly swingy, making character skill feel less impactful than the roll.',
72
+ },
73
+ {
74
+ pro: '3d6 bell curves prioritize average rolls, ensuring high-skill characters rarely fail simple tasks.',
75
+ con: '3d6 systems require summing three dice and make critical hits (perfect 18s) extremely rare (0.46%).',
76
+ },
77
+ ],
78
+ },
79
+ {
80
+ type: 'title',
81
+ text: 'Understanding Probability Mechanics',
82
+ level: 3,
83
+ },
84
+ {
85
+ type: 'comparative',
86
+ items: [
87
+ {
88
+ title: 'D20 System (Linear)',
89
+ description: 'Uses a single 20-sided die for actions, where every outcome has an equal 5% chance. Highly unpredictable and swingy, which builds dramatic tension but makes character skill less reliable.',
90
+ icon: 'mdi:dice-d20',
91
+ highlight: false,
92
+ points: [
93
+ 'Flat 5% chance per outcome',
94
+ 'High variance and swing',
95
+ 'Modifiers increase success linearly',
96
+ ],
97
+ },
98
+ {
99
+ title: '3d6 System (Bell Curve)',
100
+ description: 'Sums three 6-sided dice, creating a normal distribution centered at 10.5. Results are highly consistent, making extreme failure or success rare and favoring skilled characters.',
101
+ icon: 'mdi:chart-bell-curve',
102
+ highlight: true,
103
+ points: [
104
+ 'Central results are highly likely',
105
+ 'Extreme rolls are extremely rare',
106
+ 'Modifiers have non-linear impact',
107
+ ],
108
+ },
109
+ {
110
+ title: 'Percentile System (Roll Under)',
111
+ description: 'Uses two 10-sided dice to generate a number between 1 and 100. The goal is to roll under your character\'s rating, making success chances immediately transparent to players.',
112
+ icon: 'mdi:percent-box-outline',
113
+ highlight: false,
114
+ points: [
115
+ 'Direct percentage success rate',
116
+ 'Easy to understand at a glance',
117
+ 'Skill progress is mathematically clear',
118
+ ],
119
+ },
120
+ ],
121
+ columns: 3,
122
+ },
123
+ {
124
+ type: 'diagnostic',
125
+ variant: 'info',
126
+ title: 'The Gambler\'s Fallacy: Why Dice Have No Memory',
127
+ icon: 'mdi:information-outline',
128
+ badge: 'PROBABILITY TIP',
129
+ html: 'A common pitfall in tabletop gaming is the belief that past rolls affect future outcomes. If you roll three "1"s in a row on a D20, you might feel that a high roll is "due." In reality, each roll is an independent event. The probability of rolling a 20 on the next roll remains exactly 5%. Knowing this helps players maintain objective tactical choices rather than relying on false luck patterns.',
130
+ },
131
+ {
132
+ type: 'title',
133
+ text: 'Tabletop Dice & Probability Glossary',
134
+ level: 3,
135
+ },
136
+ {
137
+ type: 'glossary',
138
+ items: [
139
+ {
140
+ term: 'Advantage & Disadvantage',
141
+ definition: 'A mechanic where a player rolls two D20s and takes either the higher result (Advantage) or the lower result (Disadvantage). Advantage shifts the average roll from 10.5 to 13.8.',
142
+ },
143
+ {
144
+ term: 'Bell Curve (Normal Distribution)',
145
+ definition: 'A probability distribution shaped like a bell, where results cluster around the central average. This occurs when summing multiple dice (like 3d6 or 2d10).',
146
+ },
147
+ {
148
+ term: 'Critical Hit',
149
+ definition: 'An automatic success, typically achieved by rolling the maximum number on a die (a natural 20 on a D20), which often triggers bonus damage or special effects.',
150
+ },
151
+ {
152
+ term: 'Critical Fumble',
153
+ definition: 'An automatic failure of catastrophic or humorous proportions, triggered by rolling the minimum value on a die (a natural 1 on a D20).',
154
+ },
155
+ {
156
+ term: 'Expected Value',
157
+ definition: 'The long-term average outcome of your rolls. For a single D6, the average result is 3.5; for a single D20, it is 10.5.',
158
+ },
159
+ {
160
+ term: 'Percentile Dice',
161
+ definition: 'A pair of D10s (one representing tens, one representing units) rolled together to produce a number from 1 to 100, common in systems like Call of Cthulhu.',
162
+ },
163
+ ],
164
+ },
165
+ ],
166
+ faq: [
167
+ {
168
+ question: 'How does the probability simulator work?',
169
+ answer: 'It calculates the exact probability distribution for the chosen dice combination and modifier using combinations math, allowing you to see your odds of rolling above or below target values.',
170
+ },
171
+ {
172
+ question: 'What dice are supported?',
173
+ answer: 'Polyhedral dice commonly used in tabletop RPGs and board games, including D4, D6, D8, D10, D12, D20, and D100.',
174
+ },
175
+ {
176
+ question: 'What are modifiers and how do they work?',
177
+ answer: 'Modifiers are flat values (+1, -2, etc.) that you add to or subtract from your roll total to represent character skills, bonuses, or penalties.',
178
+ },
179
+ {
180
+ question: 'What does rolling with Advantage or Disadvantage mean?',
181
+ answer: 'Rolling with Advantage means rolling two D20 dice and taking the higher result. Rolling with Disadvantage means rolling two and taking the lower result. This is a common mechanic in tabletop RPGs to represent favorable or unfavorable conditions.',
182
+ },
183
+ {
184
+ question: 'What are Critical Hits and Critical Fumbles?',
185
+ answer: 'A Critical Hit happens when a die rolls its maximum value (like a natural 20 on a D20), usually resulting in automatic success or double damage. A Critical Fumble happens when a die rolls a 1, resulting in automatic and often chaotic failure.',
186
+ },
187
+ {
188
+ question: 'How does the simulator calculate rolling probabilities?',
189
+ answer: 'The simulator mathematically analyzes every possible outcome of your selected dice pool and modifier. It then presents a percentage breakdown showing how likely you are to roll each specific total, or how likely you are to roll above or below target values.',
190
+ },
191
+ {
192
+ question: 'Why is a 3d6 roll more consistent than rolling a single D20?',
193
+ answer: 'Rolling a single D20 gives every number an equal 5% chance. Rolling 3d6 creates a bell curve where results tend to cluster around the average of 10.5, making extremely high or low results rare and providing more consistent, reliable outcomes.',
194
+ },
195
+ ],
196
+ bibliography,
197
+ howTo: [
198
+ {
199
+ name: 'Add Dice',
200
+ text: 'Click on the dice buttons to add them to your active dice pool.',
201
+ },
202
+ {
203
+ name: 'Add Modifier',
204
+ text: 'Enter a positive or negative modifier value to add to your total.',
205
+ },
206
+ {
207
+ name: 'Roll and View Stats',
208
+ text: 'Click the Roll button to see visual results, history, and probability analysis.',
209
+ },
210
+ ],
211
+ schemas: [
212
+ {
213
+ '@context': 'https://schema.org',
214
+ '@type': 'SoftwareApplication',
215
+ 'name': 'Dice Roller & Probability Simulator',
216
+ 'operatingSystem': 'All',
217
+ 'applicationCategory': 'UtilitiesApplication',
218
+ 'browserRequirements': 'Requires HTML5. Requires JavaScript.'
219
+ },
220
+ {
221
+ '@context': 'https://schema.org',
222
+ '@type': 'FAQPage',
223
+ 'mainEntity': [
224
+ {
225
+ '@type': 'Question',
226
+ 'name': 'How does the probability simulator work?',
227
+ 'acceptedAnswer': {
228
+ '@type': 'Answer',
229
+ 'text': 'It calculates the exact probability distribution for the chosen dice combination and modifier using combinations math, allowing you to see your odds of rolling above or below target values.'
230
+ }
231
+ },
232
+ {
233
+ '@type': 'Question',
234
+ 'name': 'What dice are supported?',
235
+ 'acceptedAnswer': {
236
+ '@type': 'Answer',
237
+ 'text': 'Polyhedral dice commonly used in tabletop RPGs and board games, including D4, D6, D8, D10, D12, D20, and D100.'
238
+ }
239
+ },
240
+ {
241
+ '@type': 'Question',
242
+ 'name': 'What are modifiers and how do they work?',
243
+ 'acceptedAnswer': {
244
+ '@type': 'Answer',
245
+ 'text': 'Modifiers are flat values (+1, -2, etc.) that you add to or subtract from your roll total to represent character skills, bonuses, or penalties.'
246
+ }
247
+ },
248
+ {
249
+ '@type': 'Question',
250
+ 'name': 'What does rolling with Advantage or Disadvantage mean?',
251
+ 'acceptedAnswer': {
252
+ '@type': 'Answer',
253
+ 'text': 'Rolling with Advantage means rolling two D20 dice and taking the higher result. Rolling with Disadvantage means rolling two and taking the lower result. This is a common mechanic in tabletop RPGs to represent favorable or unfavorable conditions.'
254
+ }
255
+ },
256
+ {
257
+ '@type': 'Question',
258
+ 'name': 'What are Critical Hits and Critical Fumbles?',
259
+ 'acceptedAnswer': {
260
+ '@type': 'Answer',
261
+ 'text': 'A Critical Hit happens when a die rolls its maximum value (like a natural 20 on a D20), usually resulting in automatic success or double damage. A Critical Fumble happens when a die rolls a 1, resulting in automatic and often chaotic failure.'
262
+ }
263
+ },
264
+ {
265
+ '@type': 'Question',
266
+ 'name': 'How does the simulator calculate rolling probabilities?',
267
+ 'acceptedAnswer': {
268
+ '@type': 'Answer',
269
+ 'text': 'The simulator mathematically analyzes every possible outcome of your selected dice pool and modifier. It then presents a percentage breakdown showing how likely you are to roll each specific total, or how likely you are to roll above or below target values.'
270
+ }
271
+ },
272
+ {
273
+ '@type': 'Question',
274
+ 'name': 'Why is a 3d6 roll more consistent than rolling a single D20?',
275
+ 'acceptedAnswer': {
276
+ '@type': 'Answer',
277
+ 'text': 'Rolling a single D20 gives every number an equal 5% chance. Rolling 3d6 creates a bell curve where results tend to cluster around the average of 10.5, making extremely high or low results rare and providing more consistent, reliable outcomes.'
278
+ }
279
+ }
280
+ ]
281
+ },
282
+ {
283
+ '@context': 'https://schema.org',
284
+ '@type': 'HowTo',
285
+ 'name': 'How to Use the Dice Roller Simulator',
286
+ 'step': [
287
+ {
288
+ '@type': 'HowToStep',
289
+ 'name': 'Add Dice',
290
+ 'text': 'Click on the dice buttons to add them to your active dice pool.'
291
+ },
292
+ {
293
+ '@type': 'HowToStep',
294
+ 'name': 'Add Modifier',
295
+ 'text': 'Enter a positive or negative modifier value to add to your total.'
296
+ },
297
+ {
298
+ '@type': 'HowToStep',
299
+ 'name': 'Roll and View Stats',
300
+ 'text': 'Click the Roll button to see visual results, history, and probability analysis.'
301
+ }
302
+ ]
303
+ }
304
+ ],
305
+ };