@jjlmoya/utils-tabletop 1.4.0 → 1.5.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 (123) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +11 -1
  3. package/src/index.ts +1 -0
  4. package/src/tests/locale_completeness.test.ts +1 -1
  5. package/src/tests/tool_validation.test.ts +1 -1
  6. package/src/tool/decision-wheel/audio.ts +78 -0
  7. package/src/tool/decision-wheel/bibliography.astro +16 -0
  8. package/src/tool/decision-wheel/bibliography.ts +8 -0
  9. package/src/tool/decision-wheel/client.ts +226 -0
  10. package/src/tool/decision-wheel/component.astro +48 -0
  11. package/src/tool/decision-wheel/components/SegmentEditor.astro +22 -0
  12. package/src/tool/decision-wheel/components/SpinHistory.astro +17 -0
  13. package/src/tool/decision-wheel/components/SpinResult.astro +13 -0
  14. package/src/tool/decision-wheel/components/WheelCanvas.astro +23 -0
  15. package/src/tool/decision-wheel/decision-wheel.css +632 -0
  16. package/src/tool/decision-wheel/drawing.ts +144 -0
  17. package/src/tool/decision-wheel/entry.ts +48 -0
  18. package/src/tool/decision-wheel/i18n/de.ts +97 -0
  19. package/src/tool/decision-wheel/i18n/en.ts +251 -0
  20. package/src/tool/decision-wheel/i18n/es.ts +93 -0
  21. package/src/tool/decision-wheel/i18n/fr.ts +93 -0
  22. package/src/tool/decision-wheel/i18n/id.ts +93 -0
  23. package/src/tool/decision-wheel/i18n/it.ts +93 -0
  24. package/src/tool/decision-wheel/i18n/ja.ts +93 -0
  25. package/src/tool/decision-wheel/i18n/ko.ts +93 -0
  26. package/src/tool/decision-wheel/i18n/nl.ts +93 -0
  27. package/src/tool/decision-wheel/i18n/pl.ts +93 -0
  28. package/src/tool/decision-wheel/i18n/pt.ts +93 -0
  29. package/src/tool/decision-wheel/i18n/ru.ts +75 -0
  30. package/src/tool/decision-wheel/i18n/sv.ts +93 -0
  31. package/src/tool/decision-wheel/i18n/tr.ts +93 -0
  32. package/src/tool/decision-wheel/i18n/zh.ts +93 -0
  33. package/src/tool/decision-wheel/index.ts +9 -0
  34. package/src/tool/decision-wheel/logic.test.ts +163 -0
  35. package/src/tool/decision-wheel/logic.ts +145 -0
  36. package/src/tool/decision-wheel/seo.astro +16 -0
  37. package/src/tool/decision-wheel/types.ts +14 -0
  38. package/src/tool/decision-wheel/ui.ts +121 -0
  39. package/src/tool/fantasy-runes-translator/bibliography.astro +16 -0
  40. package/src/tool/fantasy-runes-translator/bibliography.ts +16 -0
  41. package/src/tool/fantasy-runes-translator/client.ts +205 -0
  42. package/src/tool/fantasy-runes-translator/component.astro +95 -0
  43. package/src/tool/fantasy-runes-translator/entry.ts +56 -0
  44. package/src/tool/fantasy-runes-translator/fantasy-runes-translator.css +712 -0
  45. package/src/tool/fantasy-runes-translator/i18n/de.ts +139 -0
  46. package/src/tool/fantasy-runes-translator/i18n/en.ts +139 -0
  47. package/src/tool/fantasy-runes-translator/i18n/es.ts +139 -0
  48. package/src/tool/fantasy-runes-translator/i18n/fr.ts +139 -0
  49. package/src/tool/fantasy-runes-translator/i18n/id.ts +139 -0
  50. package/src/tool/fantasy-runes-translator/i18n/it.ts +139 -0
  51. package/src/tool/fantasy-runes-translator/i18n/ja.ts +139 -0
  52. package/src/tool/fantasy-runes-translator/i18n/ko.ts +139 -0
  53. package/src/tool/fantasy-runes-translator/i18n/nl.ts +139 -0
  54. package/src/tool/fantasy-runes-translator/i18n/pl.ts +139 -0
  55. package/src/tool/fantasy-runes-translator/i18n/pt.ts +139 -0
  56. package/src/tool/fantasy-runes-translator/i18n/ru.ts +139 -0
  57. package/src/tool/fantasy-runes-translator/i18n/sv.ts +139 -0
  58. package/src/tool/fantasy-runes-translator/i18n/tr.ts +139 -0
  59. package/src/tool/fantasy-runes-translator/i18n/zh.ts +139 -0
  60. package/src/tool/fantasy-runes-translator/index.ts +9 -0
  61. package/src/tool/fantasy-runes-translator/logic.ts +174 -0
  62. package/src/tool/fantasy-runes-translator/seo.astro +16 -0
  63. package/src/tool/fantasy-runes-translator/types.ts +26 -0
  64. package/src/tool/rpg-initiative-tracker/bibliography.astro +16 -0
  65. package/src/tool/rpg-initiative-tracker/bibliography.ts +12 -0
  66. package/src/tool/rpg-initiative-tracker/client.ts +201 -0
  67. package/src/tool/rpg-initiative-tracker/component.astro +23 -0
  68. package/src/tool/rpg-initiative-tracker/components/AddForm.astro +49 -0
  69. package/src/tool/rpg-initiative-tracker/components/CombatantList.astro +16 -0
  70. package/src/tool/rpg-initiative-tracker/components/TurnControls.astro +28 -0
  71. package/src/tool/rpg-initiative-tracker/entry.ts +50 -0
  72. package/src/tool/rpg-initiative-tracker/i18n/de.ts +266 -0
  73. package/src/tool/rpg-initiative-tracker/i18n/en.ts +263 -0
  74. package/src/tool/rpg-initiative-tracker/i18n/es.ts +264 -0
  75. package/src/tool/rpg-initiative-tracker/i18n/fr.ts +263 -0
  76. package/src/tool/rpg-initiative-tracker/i18n/id.ts +263 -0
  77. package/src/tool/rpg-initiative-tracker/i18n/it.ts +263 -0
  78. package/src/tool/rpg-initiative-tracker/i18n/ja.ts +263 -0
  79. package/src/tool/rpg-initiative-tracker/i18n/ko.ts +263 -0
  80. package/src/tool/rpg-initiative-tracker/i18n/nl.ts +263 -0
  81. package/src/tool/rpg-initiative-tracker/i18n/pl.ts +264 -0
  82. package/src/tool/rpg-initiative-tracker/i18n/pt.ts +263 -0
  83. package/src/tool/rpg-initiative-tracker/i18n/ru.ts +264 -0
  84. package/src/tool/rpg-initiative-tracker/i18n/sv.ts +263 -0
  85. package/src/tool/rpg-initiative-tracker/i18n/tr.ts +263 -0
  86. package/src/tool/rpg-initiative-tracker/i18n/zh.ts +263 -0
  87. package/src/tool/rpg-initiative-tracker/index.ts +9 -0
  88. package/src/tool/rpg-initiative-tracker/logic.test.ts +121 -0
  89. package/src/tool/rpg-initiative-tracker/logic.ts +122 -0
  90. package/src/tool/rpg-initiative-tracker/rpg-initiative-tracker.css +617 -0
  91. package/src/tool/rpg-initiative-tracker/seo.astro +16 -0
  92. package/src/tool/rpg-initiative-tracker/types.ts +15 -0
  93. package/src/tool/score-tracker/bibliography.astro +16 -0
  94. package/src/tool/score-tracker/bibliography.ts +12 -0
  95. package/src/tool/score-tracker/client.ts +248 -0
  96. package/src/tool/score-tracker/component.astro +34 -0
  97. package/src/tool/score-tracker/components/Leaderboard.astro +19 -0
  98. package/src/tool/score-tracker/components/PlayerSetup.astro +32 -0
  99. package/src/tool/score-tracker/components/RoundScoring.astro +22 -0
  100. package/src/tool/score-tracker/components/ScoreHistory.astro +25 -0
  101. package/src/tool/score-tracker/entry.ts +57 -0
  102. package/src/tool/score-tracker/i18n/de.ts +278 -0
  103. package/src/tool/score-tracker/i18n/en.ts +278 -0
  104. package/src/tool/score-tracker/i18n/es.ts +251 -0
  105. package/src/tool/score-tracker/i18n/fr.ts +278 -0
  106. package/src/tool/score-tracker/i18n/id.ts +278 -0
  107. package/src/tool/score-tracker/i18n/it.ts +278 -0
  108. package/src/tool/score-tracker/i18n/ja.ts +278 -0
  109. package/src/tool/score-tracker/i18n/ko.ts +278 -0
  110. package/src/tool/score-tracker/i18n/nl.ts +278 -0
  111. package/src/tool/score-tracker/i18n/pl.ts +278 -0
  112. package/src/tool/score-tracker/i18n/pt.ts +278 -0
  113. package/src/tool/score-tracker/i18n/ru.ts +278 -0
  114. package/src/tool/score-tracker/i18n/sv.ts +278 -0
  115. package/src/tool/score-tracker/i18n/tr.ts +278 -0
  116. package/src/tool/score-tracker/i18n/zh.ts +278 -0
  117. package/src/tool/score-tracker/index.ts +9 -0
  118. package/src/tool/score-tracker/logic.test.ts +83 -0
  119. package/src/tool/score-tracker/logic.ts +122 -0
  120. package/src/tool/score-tracker/score-tracker.css +1029 -0
  121. package/src/tool/score-tracker/seo.astro +16 -0
  122. package/src/tool/score-tracker/types.ts +17 -0
  123. package/src/tools.ts +8 -0
@@ -0,0 +1,264 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { InitiativeTrackerUI } from '../entry';
4
+
5
+ const ui: InitiativeTrackerUI = {
6
+ title: 'Rastreador de Iniciativa',
7
+ addCombatant: 'Agregar combatiente',
8
+ removeCombatant: 'Eliminar',
9
+ playerLabel: 'Jugador',
10
+ npcLabel: 'PNJ',
11
+ initiativeLabel: 'Iniciativa',
12
+ modifierLabel: 'Modificador',
13
+ namePlaceholder: 'Nombre del personaje',
14
+ initiativePlaceholder: 'Iniciativa',
15
+ modifierPlaceholder: 'Modificador',
16
+ addButton: 'Agregar',
17
+ startCombat: 'Iniciar combate',
18
+ endCombat: 'Finalizar combate',
19
+ nextTurn: 'Siguiente turno',
20
+ prevTurn: 'Turno anterior',
21
+ roundLabel: 'Ronda',
22
+ turnLabel: 'Turno',
23
+ noCombatants: 'Aún no hay combatientes. Agrega personajes para comenzar.',
24
+ statusInput: 'Estado',
25
+ combatStarted: '¡Combate iniciado!',
26
+ combatEnded: 'Combate finalizado',
27
+ yourTurn: 'Turno',
28
+ };
29
+
30
+ export const content: ToolLocaleContent<InitiativeTrackerUI> = {
31
+ slug: 'seguidor-de-iniciativa',
32
+ title: 'Rastreador de Iniciativa RPG: Orden de Turno y Gestor de Iniciativa',
33
+ description: 'Sigue el orden de iniciativa para cualquier juego de rol de mesa. Agrega combatientes, tira iniciativa, gestiona efectos de estado y navega entre turnos en combate.',
34
+ ui,
35
+ seo: [
36
+ { type: 'title', text: 'Cómo funciona la Iniciativa en D&D y otros Juegos de Rol de Mesa', level: 2 },
37
+ { type: 'paragraph', html: 'La iniciativa determina el orden de las acciones en combate. Cada participante realiza una prueba de Destreza al inicio del combate, y el orden de turnos va del más alto al más bajo. Un rastreador de iniciativa digital automatiza la clasificación, resalta al combatiente activo, rastrea los efectos de estado en curso y mantiene a toda la mesa informada sobre el próximo turno. Esto es especialmente útil para Dungeon Masters que gestionan encuentros complejos con múltiples tipos de enemigos y personajes jugadores.' },
38
+ {
39
+ type: 'stats',
40
+ items: [
41
+ { value: 'Ilimitados', label: 'Combatientes soportados' },
42
+ { value: 'Orden auto', label: 'Por tirada de iniciativa' },
43
+ { value: 'Tiempo real', label: 'Seguimiento de turnos' },
44
+ ],
45
+ columns: 3,
46
+ },
47
+ { type: 'title', text: 'Reglas de Iniciativa Estándar para D&D 5e', level: 2 },
48
+ { type: 'paragraph', html: 'En D&D 5ª Edición, cada participante realiza una prueba de Destreza al inicio del combate. Los jugadores tiran individualmente. El Dungeon Master tira una vez por cada grupo de monstruos idénticos. El orden de turnos va del más alto al más bajo, luego vuelve al principio para la siguiente ronda. Los empates se resuelven por puntuación de Destreza o decide el DM. Un rastreador digital maneja todo esto automáticamente y muestra el orden completo de turnos de un vistazo.' },
49
+ {
50
+ type: 'table',
51
+ headers: ['Función', 'Seguimiento manual', 'Rastreador digital'],
52
+ rows: [
53
+ ['Clasificación', 'Reescribir la lista cuando cambie la iniciativa', 'Reordenamiento automático instantáneo'],
54
+ ['Turno actual', 'Debe seguirse verbalmente o con una ficha', 'Resaltado con brillo verde'],
55
+ ['Efectos de estado', 'Bloc de notas aparte o dado junto a la miniatura', 'Haz clic para activar en cada combatiente'],
56
+ ['Conteo de rondas', 'Llevar la cuenta mentalmente o en un papel', 'Mostrado automáticamente'],
57
+ ['Añadir en combate', 'Borrar y reescribir el orden', 'Insertado en la posición correcta'],
58
+ ],
59
+ },
60
+ {
61
+ type: 'tip',
62
+ title: 'Consejos para dirigir la Iniciativa en la mesa',
63
+ html: 'Tira la iniciativa para todos los monstruos antes de la sesión para ahorrar tiempo durante el combate. Agrega efectos de estado comunes como Aturdido o Envenenado a un combatiente tan pronto como se apliquen. Esto evita olvidar una condición cuando llegue el turno del personaje afectado. Usa el botón Turno anterior para revisar lo que sucedió si necesitas verificar una decisión de una ronda anterior.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'Efectos de Estado Comunes en Combate',
68
+ level: 3,
69
+ },
70
+ { type: 'paragraph', html: 'El seguimiento de condiciones durante el combate es una de las tareas que más se pasan por alto. Un efecto de estado puede cambiar completamente la eficacia de un personaje, y olvidarse de eliminarlo puede desequilibrar un encuentro. El rastreador de iniciativa te permite aplicar y eliminar condiciones con un solo clic para que permanezcan visibles junto al nombre del combatiente.' },
71
+ {
72
+ type: 'proscons',
73
+ title: 'Gestión digital vs manual de efectos de estado',
74
+ items: [
75
+ {
76
+ pro: 'Las condiciones son visibles junto al nombre del personaje, así que nadie olvida un efecto activo.',
77
+ con: 'Requiere recordar activar y desactivar los estados según se aplican y eliminan.',
78
+ },
79
+ {
80
+ pro: 'Varios estados pueden estar activos en el mismo combatiente y se muestran todos juntos.',
81
+ con: 'El rastreador no aplica automáticamente los efectos de las reglas; el DM aún debe gestionarlos.',
82
+ },
83
+ {
84
+ pro: 'Los estados pueden agregarse durante el combate sin detenerse a escribir en una hoja de personaje.',
85
+ con: 'Solo las etiquetas de estado predefinidas están disponibles por defecto.',
86
+ },
87
+ ],
88
+ },
89
+ {
90
+ type: 'title',
91
+ text: 'Sistemas de Iniciativa Alternativos',
92
+ level: 3,
93
+ },
94
+ {
95
+ type: 'comparative',
96
+ items: [
97
+ {
98
+ title: 'Iniciativa Estándar',
99
+ description: 'Cada combatiente tira una vez al inicio. El mismo orden se repite cada ronda. Simple y predecible, pero el orden es fijo después de la primera tirada. Funciona bien para la mayoría de grupos y tamaños de encuentro.',
100
+ icon: 'mdi:swap-vertical',
101
+ highlight: true,
102
+ points: ['Simple de aprender y enseñar', 'Orden de turnos fijo cada ronda', 'Funciona para cualquier grupo'],
103
+ },
104
+ {
105
+ title: 'Iniciativa de Grupo',
106
+ description: 'Todos los personajes jugadores actúan juntos, luego todos los enemigos juntos. Común en ediciones antiguas y juegos OSR. Acelera el combate reduciendo el seguimiento individual pero reduce la profundidad táctica.',
107
+ icon: 'mdi:account-group',
108
+ highlight: false,
109
+ points: ['Resolución de combate más rápida', 'Fomenta la coordinación del grupo', 'Menos variedad en turnos individuales'],
110
+ },
111
+ {
112
+ title: 'Variante de Factor de Velocidad',
113
+ description: 'Cada ronda los participantes declaran acciones primero, luego tiran iniciativa modificada por la acción elegida. Usado en conjuntos de reglas opcionales. Crea un orden de turno impredecible pero añade profundidad a la toma de decisiones.',
114
+ icon: 'mdi:run-fast',
115
+ highlight: false,
116
+ points: ['Orden diferente cada ronda', 'La elección de acción afecta el tiempo', 'Más decisiones tácticas por turno'],
117
+ },
118
+ ],
119
+ columns: 3,
120
+ },
121
+ {
122
+ type: 'title',
123
+ text: 'Glosario del Rastreador de Combate',
124
+ level: 3,
125
+ },
126
+ {
127
+ type: 'glossary',
128
+ items: [
129
+ {
130
+ term: 'Iniciativa',
131
+ definition: 'Una prueba de Destreza realizada al inicio del combate para determinar la secuencia de turnos. Cada participante tira y actúa en orden descendente.',
132
+ },
133
+ {
134
+ term: 'Ronda',
135
+ definition: 'Un ciclo completo en el que cada combatiente realiza un turno. Después del último combatiente, la ronda termina y comienza una nueva desde el principio del orden.',
136
+ },
137
+ {
138
+ term: 'Efecto de Estado',
139
+ definition: 'Una condición temporal que modifica las capacidades de un personaje. Ejemplos incluyen Aturdido (no puede actuar), Envenenado (desventaja en tiradas) y Cegado (ataques con desventaja).',
140
+ },
141
+ {
142
+ term: 'PNJ',
143
+ definition: 'Personaje No Jugador controlado por el Dungeon Master. En el seguimiento de iniciativa, los PNJ son típicamente enemigos o criaturas neutrales en el encuentro.',
144
+ },
145
+ {
146
+ term: 'PJ',
147
+ definition: 'Personaje Jugador controlado por uno de los jugadores en la mesa. Los PJ se distinguen de los PNJ en el rastreador para ayudar al DM a identificar objetivos aliados.',
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ type: 'diagnostic',
153
+ variant: 'info',
154
+ title: 'Cuándo relanzar la Iniciativa cada ronda',
155
+ icon: 'mdi:information-outline',
156
+ badge: 'CONSEJO DM',
157
+ html: 'Algunos DM prefieren relanzar la iniciativa cada ronda para mayor imprevisibilidad, mientras que la mayoría mantiene el mismo orden por simplicidad. Si un nuevo combatiente se une a la pelea, tira su iniciativa e insértalo en la posición actual. El rastreador maneja esto automáticamente. Para encuentros con jefes, considera dar al villano una iniciativa fija en un valor específico para que el combate se sienta más estructurado.',
158
+ },
159
+ ],
160
+ faq: [
161
+ {
162
+ question: '¿Cómo agrego combatientes al orden de iniciativa?',
163
+ answer: 'Ingresa el nombre del personaje, la tirada de iniciativa y el modificador de iniciativa, luego haz clic en Agregar. Alterna entre los tipos Jugador y PNJ para distinguir visualmente a los miembros del grupo de los enemigos en la lista.',
164
+ },
165
+ {
166
+ question: '¿Qué sucede cuando hago clic en Iniciar combate?',
167
+ answer: 'Todos los combatientes se ordenan por iniciativa de mayor a menor. El orden de turnos comienza desde arriba, el contador de rondas empieza en 1 y el combatiente activo se resalta con un brillo verde.',
168
+ },
169
+ {
170
+ question: '¿Cómo rastreo los efectos de estado durante el combate?',
171
+ answer: 'Haz clic en una etiqueta de estado (Aturdido, Envenenado, Cegado, etc.) para activarla o desactivarla para el combatiente seleccionado. Los estados activos aparecen junto al nombre del personaje. Esto recuerda a todos los efectos en curso cuando llegue el turno de ese combatiente.',
172
+ },
173
+ {
174
+ question: '¿Mis datos de combate persisten si actualizo la página?',
175
+ answer: 'Sí. El rastreador de iniciativa guarda el estado del combate en el almacenamiento local de tu navegador. Tus combatientes, orden de turnos y efectos de estado permanecen después de recargar la página. Los datos se borran cuando haces clic en Finalizar combate.',
176
+ },
177
+ {
178
+ question: '¿Puedo volver al turno anterior?',
179
+ answer: 'Sí. El botón Turno anterior te permite navegar hacia atrás en el orden de turnos. Esto es útil para revisar lo que sucedió antes en la ronda o corregir un error.',
180
+ },
181
+ {
182
+ question: '¿Puedo agregar o eliminar combatientes durante el combate?',
183
+ answer: 'Sí. Se pueden agregar nuevos combatientes en cualquier momento y se insertan automáticamente en la posición correcta según su tirada de iniciativa. Los combatientes existentes se pueden eliminar si abandonan el encuentro.',
184
+ },
185
+ {
186
+ question: '¿Funciona con cualquier sistema de juego de rol?',
187
+ answer: 'Sí. El rastreador funciona con cualquier juego de rol de mesa que use un orden de turnos basado en iniciativa. Ingresa los valores de iniciativa que use tu sistema, ya sea una tirada de d20 más Destreza para D&D o un mecanismo diferente para otros juegos.',
188
+ },
189
+ ],
190
+ bibliography,
191
+ howTo: [
192
+ {
193
+ name: 'Agrega combatientes antes del combate',
194
+ text: 'Ingresa el nombre de cada personaje, su tirada de iniciativa y su modificador. Márcalos como Jugador o PNJ. Agrega tantos combatientes como necesite tu encuentro.',
195
+ },
196
+ {
197
+ name: 'Inicia el combate para fijar el orden',
198
+ text: 'Haz clic en Iniciar combate para ordenar a todos por iniciativa y comenzar el seguimiento de turnos. El primer combatiente en el orden se resalta.',
199
+ },
200
+ {
201
+ name: 'Navega entre turnos y rastrea condiciones',
202
+ text: 'Usa Siguiente turno y Turno anterior para moverte por el orden. Aplica efectos de estado haciendo clic en las etiquetas de estado para rastrear condiciones durante el combate.',
203
+ },
204
+ {
205
+ name: 'Finaliza el combate cuando termines',
206
+ text: 'Haz clic en Finalizar combate para detener el seguimiento de turnos. Esto limpia el estado activo y reinicia el contador de rondas mientras mantiene la lista de combatientes para el próximo encuentro.',
207
+ },
208
+ ],
209
+ schemas: [
210
+ {
211
+ '@context': 'https://schema.org',
212
+ '@type': 'SoftwareApplication',
213
+ 'name': 'Rastreador de Iniciativa RPG',
214
+ 'operatingSystem': 'Todos',
215
+ 'applicationCategory': 'UtilitiesApplication',
216
+ 'browserRequirements': 'Requiere HTML5. Requiere JavaScript.',
217
+ },
218
+ {
219
+ '@context': 'https://schema.org',
220
+ '@type': 'FAQPage',
221
+ 'mainEntity': [
222
+ {
223
+ '@type': 'Question',
224
+ 'name': '¿Cómo agrego combatientes?',
225
+ 'acceptedAnswer': {
226
+ '@type': 'Answer',
227
+ 'text': 'Ingresa el nombre del personaje, la tirada de iniciativa y el modificador de iniciativa, luego haz clic en Agregar. Puedes alternar entre Jugador y PNJ para distinguirlos en la lista.',
228
+ },
229
+ },
230
+ {
231
+ '@type': 'Question',
232
+ 'name': '¿Qué sucede cuando hago clic en Iniciar combate?',
233
+ 'acceptedAnswer': {
234
+ '@type': 'Answer',
235
+ 'text': 'Todos los combatientes se ordenan por iniciativa (del más alto primero). El orden de turnos comienza con el primer combatiente y un contador de rondas empieza en 1.',
236
+ },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ '@context': 'https://schema.org',
242
+ '@type': 'HowTo',
243
+ 'name': 'Cómo usar el Rastreador de Iniciativa',
244
+ 'step': [
245
+ {
246
+ '@type': 'HowToStep',
247
+ 'name': 'Agregar combatientes',
248
+ 'text': 'Ingresa los detalles del personaje: nombre, tirada de iniciativa y modificador. Alterna entre Jugador y PNJ antes de agregar.',
249
+ },
250
+ {
251
+ '@type': 'HowToStep',
252
+ 'name': 'Iniciar combate',
253
+ 'text': 'Haz clic en Iniciar combate para ordenar todos los combatientes por iniciativa y comenzar el seguimiento del orden de turnos.',
254
+ },
255
+ {
256
+ '@type': 'HowToStep',
257
+ 'name': 'Gestionar turnos',
258
+ 'text': 'Usa Siguiente turno y Turno anterior para navegar el orden de turnos. El combatiente activo se resalta con un brillo verde.',
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ };
264
+
@@ -0,0 +1,263 @@
1
+ import { bibliography } from '../bibliography';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { InitiativeTrackerUI } from '../entry';
4
+
5
+ const ui: InitiativeTrackerUI = {
6
+ title: 'Suivi d\'Initiative',
7
+ addCombatant: 'Ajouter un combattant',
8
+ removeCombatant: 'Retirer',
9
+ playerLabel: 'Joueur',
10
+ npcLabel: 'PNJ',
11
+ initiativeLabel: 'Initiative',
12
+ modifierLabel: 'Modificateur',
13
+ namePlaceholder: 'Nom du personnage',
14
+ initiativePlaceholder: 'Initiative',
15
+ modifierPlaceholder: 'Modificateur',
16
+ addButton: 'Ajouter',
17
+ startCombat: 'Commencer le combat',
18
+ endCombat: 'Terminer le combat',
19
+ nextTurn: 'Tour suivant',
20
+ prevTurn: 'Tour précédent',
21
+ roundLabel: 'Round',
22
+ turnLabel: 'Tour',
23
+ noCombatants: 'Pas encore de combattants. Ajoutez des personnages pour commencer.',
24
+ statusInput: 'Statut',
25
+ combatStarted: 'Combat commencé !',
26
+ combatEnded: 'Combat terminé',
27
+ yourTurn: 'Tour',
28
+ };
29
+
30
+ export const content: ToolLocaleContent<InitiativeTrackerUI> = {
31
+ slug: 'suivi-initiative',
32
+ title: 'Suivi d\'Initiative RPG : Ordre des Tours & Gestionnaire d\'Initiative',
33
+ description: 'Suivez l\'ordre d\'initiative pour tout RPG de table. Ajoutez des combattants, lancez l\'initiative, gérez les effets de statut et naviguez dans les tours de combat.',
34
+ ui,
35
+ seo: [
36
+ { type: 'title', text: 'Comment fonctionne l\'Initiative dans D&D et autres RPG de table', level: 2 },
37
+ { type: 'paragraph', html: 'L\'initiative détermine l\'ordre des actions au combat. Chaque participant effectue un jet de Dextérité au début du combat, et l\'ordre des tours va du plus élevé au plus bas. Un suivi d\'initiative numérique automatise le tri, met en évidence le combattant actif, suit les effets de statut en cours et tient toute la table informée du prochain tour. C\'est particulièrement utile pour les Maîtres du Donjon qui gèrent des rencontres complexes avec plusieurs types d\'ennemis et personnages joueurs.' },
38
+ {
39
+ type: 'stats',
40
+ items: [
41
+ { value: 'Illimité', label: 'Combattants supportés' },
42
+ { value: 'Tri auto', label: 'Par jet d\'initiative' },
43
+ { value: 'Temps réel', label: 'Suivi des tours' },
44
+ ],
45
+ columns: 3,
46
+ },
47
+ { type: 'title', text: 'Règles d\'Initiative Standard pour D&D 5e', level: 2 },
48
+ { type: 'paragraph', html: 'Dans D&D 5e, chaque participant effectue un jet de Dextérité au début du combat. Les joueurs lancent individuellement. Le Maître du Donjon lance une fois pour chaque groupe de monstres identiques. L\'ordre des tours va du plus élevé au plus bas, puis revient au début pour le round suivant. Les égalités sont départagées par le score de Dextérité, ou le MD décide. Un suivi numérique gère tout cela automatiquement et affiche l\'ordre complet des tours en un coup d\'œil.' },
49
+ {
50
+ type: 'table',
51
+ headers: ['Fonctionnalité', 'Suivi manuel', 'Suivi numérique'],
52
+ rows: [
53
+ ['Tri', 'Réécrire la liste quand l\'initiative change', 'Réorganisation automatique instantanée'],
54
+ ['Tour actuel', 'Doit être suivi verbalement ou avec un pion', 'Mis en évidence avec un halo vert'],
55
+ ['Effets de statut', 'Bloc-notes séparé ou dé près du mini', 'Cliquer pour activer sur chaque combattant'],
56
+ ['Compteur de rounds', 'Compter dans sa tête ou sur un brouillon', 'Affiché automatiquement'],
57
+ ['Ajout en cours de combat', 'Effacer et réécrire l\'ordre', 'Inséré à la bonne position'],
58
+ ],
59
+ },
60
+ {
61
+ type: 'tip',
62
+ title: 'Conseils pour gérer l\'Initiative à la table',
63
+ html: 'Lancez l\'initiative pour tous les monstres avant la session pour gagner du temps pendant le combat. Ajoutez des effets de statut courants comme Étourdi ou Empoisonné à un combattant dès qu\'ils sont appliqués. Cela évite d\'oublier un état quand le personnage affecté joue son tour. Utilisez le bouton Tour précédent pour revoir ce qui s\'est passé si vous devez vérifier une règle plus tôt dans le round.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'Effets de Statut Courants au Combat',
68
+ level: 3,
69
+ },
70
+ { type: 'paragraph', html: 'Le suivi des états pendant le combat est l\'une des tâches les plus souvent négligées. Un effet de statut peut complètement changer l\'efficacité d\'un personnage, et oublier de le retirer peut faire basculer l\'équilibre d\'une rencontre. Le suivi d\'initiative vous permet d\'appliquer et de retirer des états en un seul clic pour qu\'ils restent visibles à côté du nom du combattant.' },
71
+ {
72
+ type: 'proscons',
73
+ title: 'Gestion numérique vs manuelle des effets de statut',
74
+ items: [
75
+ {
76
+ pro: 'Les états sont visibles juste à côté du nom du personnage, donc personne n\'oublie un effet actif.',
77
+ con: 'Nécessite de penser à activer et désactiver les statuts au fur et à mesure.',
78
+ },
79
+ {
80
+ pro: 'Plusieurs statuts peuvent être actifs sur le même combattant et sont tous affichés ensemble.',
81
+ con: 'Le suivi n\'applique pas automatiquement les effets des règles, le MD doit toujours les gérer.',
82
+ },
83
+ {
84
+ pro: 'Les statuts peuvent être ajoutés en plein combat sans s\'arrêter pour écrire sur une feuille de personnage.',
85
+ con: 'Seules les étiquettes de statut prédéfinies sont disponibles par défaut.',
86
+ },
87
+ ],
88
+ },
89
+ {
90
+ type: 'title',
91
+ text: 'Systèmes d\'Initiative Alternatifs',
92
+ level: 3,
93
+ },
94
+ {
95
+ type: 'comparative',
96
+ items: [
97
+ {
98
+ title: 'Initiative Standard',
99
+ description: 'Chaque combattant lance une fois au début. Le même ordre se répète chaque round. Simple et prévisible, mais l\'ordre est fixe après le premier jet. Fonctionne bien pour la plupart des groupes et tailles de rencontres.',
100
+ icon: 'mdi:swap-vertical',
101
+ highlight: true,
102
+ points: ['Simple à apprendre et enseigner', 'Ordre fixe des tours chaque round', 'Fonctionne pour tout groupe'],
103
+ },
104
+ {
105
+ title: 'Initiative de Camp',
106
+ description: 'Tous les personnages joueurs agissent ensemble, puis tous les ennemis ensemble. Courant dans les éditions plus anciennes et les jeux OSR. Accélère le combat en réduisant le suivi individuel mais réduit la nuance tactique.',
107
+ icon: 'mdi:account-group',
108
+ highlight: false,
109
+ points: ['Résolution de combat la plus rapide', 'Favorise la coordination du groupe', 'Moins de variété de tours individuels'],
110
+ },
111
+ {
112
+ title: 'Variante Facteur de Vitesse',
113
+ description: 'Chaque round, les participants déclarent d\'abord leurs actions, puis lancent l\'initiative modifiée par l\'action choisie. Utilisé dans des ensembles de règles optionnelles. Crée un ordre de tour imprévisible mais ajoute de la profondeur à la prise de décision.',
114
+ icon: 'mdi:run-fast',
115
+ highlight: false,
116
+ points: ['Ordre différent à chaque round', 'Le choix de l\'action affecte le timing', 'Plus de décisions tactiques par tour'],
117
+ },
118
+ ],
119
+ columns: 3,
120
+ },
121
+ {
122
+ type: 'title',
123
+ text: 'Glossaire du Suivi de Combat',
124
+ level: 3,
125
+ },
126
+ {
127
+ type: 'glossary',
128
+ items: [
129
+ {
130
+ term: 'Initiative',
131
+ definition: 'Un jet de Dextérité effectué au début du combat pour déterminer la séquence des tours. Chaque participant lance les dés et agit par ordre décroissant.',
132
+ },
133
+ {
134
+ term: 'Round',
135
+ definition: 'Un cycle complet où chaque combattant joue un tour. Après le dernier combattant, le round se termine et un nouveau round commence depuis le début de l\'ordre.',
136
+ },
137
+ {
138
+ term: 'Effet de Statut',
139
+ definition: 'Un état temporaire qui modifie les capacités d\'un personnage. Exemples : Étourdi (ne peut pas agir), Empoisonné (désavantage aux jets), et Aveuglé (attaques désavantagées).',
140
+ },
141
+ {
142
+ term: 'PNJ',
143
+ definition: 'Personnage Non Joueur contrôlé par le Maître du Donjon. Dans le suivi d\'initiative, les PNJ sont généralement des ennemis ou des créatures neutres dans la rencontre.',
144
+ },
145
+ {
146
+ term: 'PJ',
147
+ definition: 'Personnage Joueur contrôlé par l\'un des joueurs à la table. Les PJ sont distincts des PNJ dans le suivi pour aider le MD à identifier les cibles alliées.',
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ type: 'diagnostic',
153
+ variant: 'info',
154
+ title: 'Quand relancer l\'Initiative chaque round',
155
+ icon: 'mdi:information-outline',
156
+ badge: 'CONSEIL MD',
157
+ html: 'Certains MD préfèrent relancer l\'initiative chaque round pour plus d\'imprévisibilité, tandis que la plupart gardent le même ordre par simplicité. Si un nouveau combattant rejoint la mêlée, lancez son initiative et insérez-le à la position actuelle. Le suivi gère cela automatiquement. Pour les rencontres de boss, envisagez de donner au vilain une initiative fixe à un compte précis pour rendre le combat plus structuré.',
158
+ },
159
+ ],
160
+ faq: [
161
+ {
162
+ question: 'Comment ajouter des combattants à l\'ordre d\'initiative ?',
163
+ answer: 'Entrez le nom du personnage, le jet d\'initiative et le modificateur d\'initiative, puis cliquez sur Ajouter. Alternez entre les types Joueur et PNJ pour distinguer visuellement les membres du groupe des ennemis dans la liste.',
164
+ },
165
+ {
166
+ question: 'Que se passe-t-il quand je clique sur Commencer le combat ?',
167
+ answer: 'Tous les combattants sont triés par initiative du plus élevé au plus bas. L\'ordre des tours commence en haut, le compteur de rounds démarre à 1, et le combattant actif est mis en évidence avec un halo vert.',
168
+ },
169
+ {
170
+ question: 'Comment suivre les effets de statut pendant le combat ?',
171
+ answer: 'Cliquez sur une étiquette de statut (Étourdi, Empoisonné, Aveuglé, etc.) pour l\'activer ou la désactiver pour le combattant sélectionné. Les statuts actifs apparaissent à côté du nom du personnage. Cela rappelle à tout le monde les effets en cours quand le tour de ce combattant arrive.',
172
+ },
173
+ {
174
+ question: 'Mes données de combat persistent-elles si je rafraîchis la page ?',
175
+ answer: 'Oui. Le suivi d\'initiative sauvegarde l\'état du combat dans le stockage local de votre navigateur. Vos combattants, l\'ordre des tours et les effets de statut restent après un rechargement. Les données sont effacées quand vous cliquez sur Terminer le combat.',
176
+ },
177
+ {
178
+ question: 'Puis-je revenir au tour précédent ?',
179
+ answer: 'Oui. Le bouton Tour précédent vous permet de naviguer en arrière dans l\'ordre des tours. C\'est utile pour revoir ce qui s\'est passé plus tôt dans le round ou corriger une erreur.',
180
+ },
181
+ {
182
+ question: 'Puis-je ajouter ou retirer des combattants pendant le combat ?',
183
+ answer: 'Oui. De nouveaux combattants peuvent être ajoutés à tout moment et sont automatiquement insérés à la bonne position selon leur jet d\'initiative. Les combattants existants peuvent être retirés s\'ils quittent la rencontre.',
184
+ },
185
+ {
186
+ question: 'Cela fonctionne-t-il avec n\'importe quel système de RPG ?',
187
+ answer: 'Oui. Le suivi fonctionne avec tout RPG de table qui utilise un ordre de tour basé sur l\'initiative. Entrez simplement les valeurs d\'initiative que votre système utilise, que ce soit un jet de d20 plus Dex pour D&D ou une mécanique différente pour d\'autres jeux.',
188
+ },
189
+ ],
190
+ bibliography,
191
+ howTo: [
192
+ {
193
+ name: 'Ajouter des combattants avant le combat',
194
+ text: 'Entrez le nom de chaque personnage, son jet d\'initiative et son modificateur. Marquez-les comme Joueur ou PNJ. Ajoutez autant de combattants que votre rencontre le nécessite.',
195
+ },
196
+ {
197
+ name: 'Commencer le combat pour verrouiller l\'ordre',
198
+ text: 'Cliquez sur Commencer le combat pour trier tout le monde par initiative et démarrer le suivi des tours. Le premier combattant dans l\'ordre est mis en évidence.',
199
+ },
200
+ {
201
+ name: 'Naviguer entre les tours et suivre les états',
202
+ text: 'Utilisez Tour suivant et Tour précédent pour vous déplacer dans l\'ordre. Appliquez des effets de statut en cliquant sur les étiquettes de statut pour suivre les états pendant le combat.',
203
+ },
204
+ {
205
+ name: 'Terminer le combat quand c\'est fini',
206
+ text: 'Cliquez sur Terminer le combat pour arrêter le suivi des tours. Cela efface l\'état actif et réinitialise le compteur de rounds tout en conservant la liste des combattants pour la prochaine rencontre.',
207
+ },
208
+ ],
209
+ schemas: [
210
+ {
211
+ '@context': 'https://schema.org',
212
+ '@type': 'SoftwareApplication',
213
+ 'name': 'Suivi d\'Initiative RPG',
214
+ 'operatingSystem': 'Tous',
215
+ 'applicationCategory': 'UtilitiesApplication',
216
+ 'browserRequirements': 'Nécessite HTML5. Nécessite JavaScript.',
217
+ },
218
+ {
219
+ '@context': 'https://schema.org',
220
+ '@type': 'FAQPage',
221
+ 'mainEntity': [
222
+ {
223
+ '@type': 'Question',
224
+ 'name': 'Comment ajouter des combattants ?',
225
+ 'acceptedAnswer': {
226
+ '@type': 'Answer',
227
+ 'text': 'Entrez le nom du personnage, le jet d\'initiative et le modificateur d\'initiative, puis cliquez sur Ajouter. Joueurs et PNJ peuvent être basculés pour les distinguer dans la liste.',
228
+ },
229
+ },
230
+ {
231
+ '@type': 'Question',
232
+ 'name': 'Que se passe-t-il quand je clique sur Commencer le combat ?',
233
+ 'acceptedAnswer': {
234
+ '@type': 'Answer',
235
+ 'text': 'Tous les combattants sont triés par initiative (plus élevé d\'abord). L\'ordre des tours commence avec le premier combattant et un compteur de rounds démarre à 1.',
236
+ },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ '@context': 'https://schema.org',
242
+ '@type': 'HowTo',
243
+ 'name': 'Comment utiliser le Suivi d\'Initiative',
244
+ 'step': [
245
+ {
246
+ '@type': 'HowToStep',
247
+ 'name': 'Ajouter des combattants',
248
+ 'text': 'Entrez les détails du personnage : nom, jet d\'initiative et modificateur. Basculez entre Joueur et PNJ avant d\'ajouter.',
249
+ },
250
+ {
251
+ '@type': 'HowToStep',
252
+ 'name': 'Commencer le combat',
253
+ 'text': 'Cliquez sur Commencer le combat pour trier tous les combattants par initiative et démarrer le suivi de l\'ordre des tours.',
254
+ },
255
+ {
256
+ '@type': 'HowToStep',
257
+ 'name': 'Gérer les tours',
258
+ 'text': 'Utilisez Tour suivant et Tour précédent pour naviguer dans l\'ordre des tours. Le combattant actif est mis en évidence avec un halo vert.',
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ };