@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,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: 'Rastreador de Iniciativa',
7
+ addCombatant: 'Adicionar combatente',
8
+ removeCombatant: 'Remover',
9
+ playerLabel: 'Jogador',
10
+ npcLabel: 'PNJ',
11
+ initiativeLabel: 'Iniciativa',
12
+ modifierLabel: 'Modificador',
13
+ namePlaceholder: 'Nome do personagem',
14
+ initiativePlaceholder: 'Iniciativa',
15
+ modifierPlaceholder: 'Modificador',
16
+ addButton: 'Adicionar',
17
+ startCombat: 'Iniciar combate',
18
+ endCombat: 'Encerrar combate',
19
+ nextTurn: 'Próximo turno',
20
+ prevTurn: 'Turno anterior',
21
+ roundLabel: 'Rodada',
22
+ turnLabel: 'Turno',
23
+ noCombatants: 'Nenhum combatente ainda. Adicione personagens para começar.',
24
+ statusInput: 'Estado',
25
+ combatStarted: 'Combate iniciado!',
26
+ combatEnded: 'Combate encerrado',
27
+ yourTurn: 'Turno',
28
+ };
29
+
30
+ export const content: ToolLocaleContent<InitiativeTrackerUI> = {
31
+ slug: 'rastreador-de-iniciativa',
32
+ title: 'Rastreador de Iniciativa RPG: Ordem de Turnos & Gerenciador de Iniciativa',
33
+ description: 'Acompanhe a ordem de iniciativa para qualquer RPG de mesa. Adicione combatentes, role iniciativa, gerencie efeitos de estado e navegue pelos turnos em combate.',
34
+ ui,
35
+ seo: [
36
+ { type: 'title', text: 'Como a Iniciativa Funciona em D&D e Outros RPGs de Mesa', level: 2 },
37
+ { type: 'paragraph', html: 'A iniciativa determina a ordem das ações em combate. Cada participante faz um teste de Destreza no início da luta, e a ordem dos turnos vai do maior para o menor. Um rastreador de iniciativa digital automatiza a classificação, destaca o combatente ativo, acompanha os efeitos de estado em andamento e mantém toda a mesa informada sobre de quem é o próximo turno. Isso é especialmente útil para Mestres de Dungeon que gerenciam encontros complexos com vários tipos de inimigos e personagens jogadores.' },
38
+ {
39
+ type: 'stats',
40
+ items: [
41
+ { value: 'Ilimitados', label: 'Combatentes suportados' },
42
+ { value: 'Ordem auto', label: 'Por rolagem de iniciativa' },
43
+ { value: 'Tempo real', label: 'Acompanhamento de turnos' },
44
+ ],
45
+ columns: 3,
46
+ },
47
+ { type: 'title', text: 'Regras Padrão de Iniciativa para D&D 5e', level: 2 },
48
+ { type: 'paragraph', html: 'Em D&D 5ª Edição, cada participante faz um teste de Destreza no início do combate. Jogadores rolam individualmente. O Mestre de Dungeon rola uma vez para cada grupo de monstros idênticos. A ordem dos turnos vai do maior para o menor, depois volta ao topo para a próxima rodada. Empates são resolvidos pelo valor de Destreza, ou o MD decide. Um rastreador digital lida com tudo isso automaticamente e mostra a ordem completa dos turnos de relance.' },
49
+ {
50
+ type: 'table',
51
+ headers: ['Função', 'Acompanhamento manual', 'Rastreador digital'],
52
+ rows: [
53
+ ['Classificação', 'Reescrever a lista quando a iniciativa mudar', 'Reordenação automática instantânea'],
54
+ ['Turno atual', 'Deve ser acompanhado verbalmente ou com uma ficha', 'Destacado com brilho verde'],
55
+ ['Efeitos de estado', 'Bloco de notas separado ou dado perto do mini', 'Clique para ativar em cada combatente'],
56
+ ['Contagem de rodadas', 'Contar mentalmente ou em papel de rascunho', 'Mostrado automaticamente'],
57
+ ['Adicionar durante combate', 'Apagar e reescrever a ordem', 'Inserido na posição correta'],
58
+ ],
59
+ },
60
+ {
61
+ type: 'tip',
62
+ title: 'Dicas para Gerenciar Iniciativa na Mesa',
63
+ html: 'Role iniciativa para todos os monstros antes da sessão para economizar tempo durante o combate. Adicione efeitos de estado comuns como Atordoado ou Envenenado a um combatente assim que forem aplicados. Isso evita esquecer uma condição quando o turno do personagem afetado chegar. Use o botão Turno anterior para revisar o que aconteceu se precisar verificar uma decisão de uma rodada anterior.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'Efeitos de Estado Comuns em Combate',
68
+ level: 3,
69
+ },
70
+ { type: 'paragraph', html: 'Acompanhar condições durante o combate é uma das tarefas mais frequentemente negligenciadas. Um efeito de estado pode mudar completamente a eficácia de um personagem, e esquecer de removê-lo pode desequilibrar um encontro. O rastreador de iniciativa permite aplicar e remover condições com um único clique para que permaneçam visíveis ao lado do nome do combatente.' },
71
+ {
72
+ type: 'proscons',
73
+ title: 'Gerenciamento digital vs manual de efeitos de estado',
74
+ items: [
75
+ {
76
+ pro: 'As condições ficam visíveis ao lado do nome do personagem, então ninguém esquece um efeito ativo.',
77
+ con: 'Exige lembrar de ativar e desativar os estados conforme são aplicados e removidos.',
78
+ },
79
+ {
80
+ pro: 'Múltiplos estados podem estar ativos no mesmo combatente e são mostrados juntos.',
81
+ con: 'O rastreador não aplica automaticamente os efeitos das regras; o MD ainda precisa gerenciá-los.',
82
+ },
83
+ {
84
+ pro: 'Estados podem ser adicionados durante o combate sem pausar para escrever numa ficha de personagem.',
85
+ con: 'Apenas etiquetas de estado predefinidas estão disponíveis por padrão.',
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 Padrão',
99
+ description: 'Cada combatente rola uma vez no início. A mesma ordem se repete a cada rodada. Simples e previsível, mas a ordem é fixa após a primeira rolagem. Funciona bem para a maioria dos grupos e tamanhos de encontro.',
100
+ icon: 'mdi:swap-vertical',
101
+ highlight: true,
102
+ points: ['Simples de aprender e ensinar', 'Ordem de turnos fixa a cada rodada', 'Funciona para qualquer grupo'],
103
+ },
104
+ {
105
+ title: 'Iniciativa de Grupo',
106
+ description: 'Todos os personagens jogadores agem juntos, depois todos os inimigos juntos. Comum em edições antigas e jogos OSR. Acelera o combate reduzindo o acompanhamento individual mas reduz a profundidade tática.',
107
+ icon: 'mdi:account-group',
108
+ highlight: false,
109
+ points: ['Resolução de combate mais rápida', 'Incentiva a coordenação do grupo', 'Menos variedade em turnos individuais'],
110
+ },
111
+ {
112
+ title: 'Variante de Fator de Velocidade',
113
+ description: 'Cada rodada os participantes declaram ações primeiro, depois rolam iniciativa modificada pela ação escolhida. Usado em conjuntos de regras opcionais. Cria uma ordem de turno imprevisível mas adiciona profundidade à tomada de decisões.',
114
+ icon: 'mdi:run-fast',
115
+ highlight: false,
116
+ points: ['Ordem diferente a cada rodada', 'Escolha de ação afeta o tempo', 'Mais decisões táticas por turno'],
117
+ },
118
+ ],
119
+ columns: 3,
120
+ },
121
+ {
122
+ type: 'title',
123
+ text: 'Glossário do Rastreador de Combate',
124
+ level: 3,
125
+ },
126
+ {
127
+ type: 'glossary',
128
+ items: [
129
+ {
130
+ term: 'Iniciativa',
131
+ definition: 'Um teste de Destreza realizado no início do combate para determinar a sequência dos turnos. Cada participante rola e age em ordem decrescente.',
132
+ },
133
+ {
134
+ term: 'Rodada',
135
+ definition: 'Um ciclo completo onde cada combatente realiza um turno. Após o último combatente, a rodada termina e uma nova rodada começa do topo da ordem.',
136
+ },
137
+ {
138
+ term: 'Efeito de Estado',
139
+ definition: 'Uma condição temporária que modifica as capacidades de um personagem. Exemplos incluem Atordoado (não pode agir), Envenenado (desvantagem nas rolagens) e Cego (ataques com desvantagem).',
140
+ },
141
+ {
142
+ term: 'PNJ',
143
+ definition: 'Personagem Não Jogador controlado pelo Mestre de Dungeon. No rastreamento de iniciativa, PNJs são tipicamente inimigos ou criaturas neutras no encontro.',
144
+ },
145
+ {
146
+ term: 'PJ',
147
+ definition: 'Personagem Jogador controlado por um dos jogadores na mesa. PJs são distintos de PNJs no rastreador para ajudar o MD a identificar alvos aliados.',
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ type: 'diagnostic',
153
+ variant: 'info',
154
+ title: 'Quando Rerrolar a Iniciativa a Cada Rodada',
155
+ icon: 'mdi:information-outline',
156
+ badge: 'DICA DO MD',
157
+ html: 'Alguns MDs preferem rerrolar a iniciativa a cada rodada para imprevisibilidade, enquanto a maioria mantém a mesma ordem por simplicidade. Se um novo combatente entrar no meio da luta, role sua iniciativa e insira-o na posição atual. O rastreador lida com isso automaticamente. Para encontros com chefes, considere dar ao vilão uma iniciativa fixa em um valor específico para tornar o combate mais estruturado.',
158
+ },
159
+ ],
160
+ faq: [
161
+ {
162
+ question: 'Como adiciono combatentes à ordem de iniciativa?',
163
+ answer: 'Insira o nome do personagem, a rolagem de iniciativa e o modificador de iniciativa, depois clique em Adicionar. Alterne entre os tipos Jogador e PNJ para distinguir visualmente os membros do grupo dos inimigos na lista.',
164
+ },
165
+ {
166
+ question: 'O que acontece quando clico em Iniciar combate?',
167
+ answer: 'Todos os combatentes são ordenados por iniciativa do maior para o menor. A ordem dos turnos começa do topo, o contador de rodadas inicia em 1 e o combatente ativo é destacado com um brilho verde.',
168
+ },
169
+ {
170
+ question: 'Como acompanho efeitos de estado durante o combate?',
171
+ answer: 'Clique em uma etiqueta de estado (Atordoado, Envenenado, Cego, etc.) para ativá-la ou desativá-la para o combatente selecionado. Estados ativos aparecem ao lado do nome do personagem. Isso lembra a todos sobre os efeitos em andamento quando o turno daquele combatente chegar.',
172
+ },
173
+ {
174
+ question: 'Meus dados de combate persistem se eu atualizar a página?',
175
+ answer: 'Sim. O rastreador de iniciativa salva o estado do combate no armazenamento local do seu navegador. Seus combatentes, ordem de turnos e efeitos de estado permanecem após recarregar a página. Os dados são limpos quando você clica em Encerrar combate.',
176
+ },
177
+ {
178
+ question: 'Posso voltar ao turno anterior?',
179
+ answer: 'Sim. O botão Turno anterior permite navegar para trás na ordem dos turnos. Isso é útil para revisar o que aconteceu antes na rodada ou corrigir um erro.',
180
+ },
181
+ {
182
+ question: 'Posso adicionar ou remover combatentes durante o combate?',
183
+ answer: 'Sim. Novos combatentes podem ser adicionados a qualquer momento e são automaticamente inseridos na posição correta com base na rolagem de iniciativa. Combatentes existentes podem ser removidos se saírem do encontro.',
184
+ },
185
+ {
186
+ question: 'Funciona com qualquer sistema de RPG?',
187
+ answer: 'Sim. O rastreador funciona com qualquer RPG de mesa que use ordem de turnos baseada em iniciativa. Insira os valores de iniciativa que seu sistema usa, seja uma rolagem de d20 mais Destreza para D&D ou um mecanismo diferente para outros jogos.',
188
+ },
189
+ ],
190
+ bibliography,
191
+ howTo: [
192
+ {
193
+ name: 'Adicione combatentes antes do combate',
194
+ text: 'Insira o nome de cada personagem, sua rolagem de iniciativa e modificador. Marque-os como Jogador ou PNJ. Adicione quantos combatentes seu encontro precisar.',
195
+ },
196
+ {
197
+ name: 'Inicie o combate para travar a ordem',
198
+ text: 'Clique em Iniciar combate para ordenar todos por iniciativa e começar o acompanhamento de turnos. O primeiro combatente na ordem é destacado.',
199
+ },
200
+ {
201
+ name: 'Navegue pelos turnos e acompanhe condições',
202
+ text: 'Use Próximo turno e Turno anterior para percorrer a ordem. Aplique efeitos de estado clicando nas etiquetas de estado para acompanhar condições durante o combate.',
203
+ },
204
+ {
205
+ name: 'Encerre o combate quando terminar',
206
+ text: 'Clique em Encerrar combate para parar o acompanhamento de turnos. Isso limpa o estado ativo e redefine o contador de rodadas enquanto mantém a lista de combatentes para o próximo encontro.',
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': 'Requer HTML5. Requer JavaScript.',
217
+ },
218
+ {
219
+ '@context': 'https://schema.org',
220
+ '@type': 'FAQPage',
221
+ 'mainEntity': [
222
+ {
223
+ '@type': 'Question',
224
+ 'name': 'Como adiciono combatentes?',
225
+ 'acceptedAnswer': {
226
+ '@type': 'Answer',
227
+ 'text': 'Insira o nome do personagem, a rolagem de iniciativa e o modificador de iniciativa, depois clique em Adicionar. Jogadores e PNJs podem ser alternados para distingui-los na lista.',
228
+ },
229
+ },
230
+ {
231
+ '@type': 'Question',
232
+ 'name': 'O que acontece quando clico em Iniciar combate?',
233
+ 'acceptedAnswer': {
234
+ '@type': 'Answer',
235
+ 'text': 'Todos os combatentes são ordenados por iniciativa (do maior primeiro). A ordem dos turnos começa com o primeiro combatente e um contador de rodadas inicia em 1.',
236
+ },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ '@context': 'https://schema.org',
242
+ '@type': 'HowTo',
243
+ 'name': 'Como Usar o Rastreador de Iniciativa',
244
+ 'step': [
245
+ {
246
+ '@type': 'HowToStep',
247
+ 'name': 'Adicionar combatentes',
248
+ 'text': 'Insira os detalhes do personagem: nome, rolagem de iniciativa e modificador. Alterne entre Jogador e PNJ antes de adicionar.',
249
+ },
250
+ {
251
+ '@type': 'HowToStep',
252
+ 'name': 'Iniciar combate',
253
+ 'text': 'Clique em Iniciar combate para ordenar todos os combatentes por iniciativa e começar o acompanhamento da ordem de turnos.',
254
+ },
255
+ {
256
+ '@type': 'HowToStep',
257
+ 'name': 'Gerenciar turnos',
258
+ 'text': 'Use Próximo turno e Turno anterior para navegar pela ordem de turnos. O combatente ativo é destacado com um brilho verde.',
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ };
@@ -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: 'Отслеживание Инициативы',
7
+ addCombatant: 'Добавить Участника',
8
+ removeCombatant: 'Удалить',
9
+ playerLabel: 'Игрок',
10
+ npcLabel: 'NPC',
11
+ initiativeLabel: 'Инициатива',
12
+ modifierLabel: 'Модификатор',
13
+ namePlaceholder: 'Имя персонажа',
14
+ initiativePlaceholder: 'Инициатива',
15
+ modifierPlaceholder: 'Модификатор',
16
+ addButton: 'Добавить',
17
+ startCombat: 'Начать Бой',
18
+ endCombat: '� - авершить Бой',
19
+ nextTurn: 'Следующий Ход',
20
+ prevTurn: 'Предыдущий Ход',
21
+ roundLabel: 'Раунд',
22
+ turnLabel: 'Ход',
23
+ noCombatants: 'Участников пока нет. Добавьте персонажей, чтобы начать.',
24
+ statusInput: 'Статус',
25
+ combatStarted: 'Бой Начат!',
26
+ combatEnded: 'Бой � - авершён',
27
+ yourTurn: 'Ход',
28
+ };
29
+
30
+ export const content: ToolLocaleContent<InitiativeTrackerUI> = {
31
+ slug: 'otslezhivanie-initsiativy',
32
+ title: 'Отслеживание Инициативы RPG: Порядок Ходов и Менеджер Инициативы',
33
+ description: 'Отслеживайте порядок инициативы для любой настольной RPG. Добавляйте участников, совершайте броски инициативы, управляйте эффектами состояний и перемещайтесь по ходам в бою.',
34
+ ui,
35
+ seo: [
36
+ { type: 'title', text: 'Как Работает Инициатива в D&D и Других Настольных RPG', level: 2 },
37
+ { type: 'paragraph', html: 'Инициатива определяет порядок действий в бою. Каждый участник совершает проверку Ловкости в начале сражения, и порядок ходов идёт от высшего к низшему. Цифровой трекер инициативы автоматизирует сортировку, подсвечивает активного участника, отслеживает текущие эффекты состояний и информирует весь стол о том, чей ход следующий. Это особенно полезно для Мастеров Подземелий, ведущих сложные встречи с множеством типов врагов и персонажей игроков.' },
38
+ {
39
+ type: 'stats',
40
+ items: [
41
+ { value: 'Безлимит', label: 'Поддержка Участников' },
42
+ { value: 'Автосортировка', label: 'По Броску Инициативы' },
43
+ { value: 'В Реальном Времени', label: 'Отслеживание Ходов' },
44
+ ],
45
+ columns: 3,
46
+ },
47
+ { type: 'title', text: 'Стандартные Правила Инициативы для D&D 5e', level: 2 },
48
+ { type: 'paragraph', html: 'В D&D 5-й редакции каждый участник совершает проверку Ловкости в начале боя. Игроки бросают индивидуально. Мастер Подземелий бросает один раз для каждой группы одинаковых монстров. Порядок ходов идёт от высшего к низшему, затем возвращается в начало для следующего раунда. Ничьи разрешаются по значению Ловкости или решению МП. Цифровой трекер обрабатывает всё это автоматически и показывает полный порядок ходов с первого взгляда.' },
49
+ {
50
+ type: 'table',
51
+ headers: ['Функция', 'Ручное Отслеживание', 'Цифровой Трекер'],
52
+ rows: [
53
+ ['Сортировка', 'Переписывание списка при изменении инициативы', 'Мгновенная автоматическая пересортировка'],
54
+ ['Текущий Ход', 'Нужно отслеживать устно или с помощью жетона', 'Подсвечивается зелёным свечением'],
55
+ ['Эффекты Состояний', 'Отдельный блокнот или кубик рядом с миниатюрой', 'Клик для включения на каждом участнике'],
56
+ ['Подсчёт Раундов', '� - апоминать или записывать на черновике', 'Отображается автоматически'],
57
+ ['Добавление в Бою', 'Стирать и переписывать порядок', 'Вставляется в правильную позицию'],
58
+ ],
59
+ },
60
+ {
61
+ type: 'tip',
62
+ title: 'Советы по Ведению Инициативы за Столом',
63
+ html: 'Бросайте инициативу для всех монстров до начала сессии, чтобы сэкономить время во время боя. Добавляйте распространённые эффекты состояний, такие как Оглушение или Отравление, участнику сразу после их применения. Это предотвращает забывание о состоянии, когда подходит ход поражённого персонажа. Используйте кнопку Предыдущий Ход, чтобы просмотреть произошедшее, если нужно проверить решение из более ранней части раунда.',
64
+ },
65
+ {
66
+ type: 'title',
67
+ text: 'Эффекты Состояний, Часто Используемые в Бою',
68
+ level: 3,
69
+ },
70
+ { type: 'paragraph', html: 'Отслеживание состояний во время боя - одна из самых часто упускаемых задач. Эффект состояния может полностью изменить эффективность персонажа, а забыв удалить его, можно нарушить баланс встречи. Трекер инициативы позволяет применять и удалять состояния одним кликом, чтобы они оставались видимыми рядом с именем участника.' },
71
+ {
72
+ type: 'proscons',
73
+ title: 'Обработка Эффектов Состояний: Цифровая vs Ручная',
74
+ items: [
75
+ {
76
+ pro: 'Состояния видны прямо рядом с именем персонажа, поэтому никто не забывает об активном эффекте.',
77
+ con: 'Требуется помнить о включении и выключении статусов по мере их применения и удаления.',
78
+ },
79
+ {
80
+ pro: 'Несколько статусов могут быть активны на одном участнике, и все они отображаются вместе.',
81
+ con: 'Трекер не применяет эффекты правил автоматически - МП всё ещё применяет их вручную.',
82
+ },
83
+ {
84
+ pro: 'Статусы можно добавлять в середине боя без остановки для записи на листе персонажа.',
85
+ con: 'По умолчанию доступны только предопределённые теги состояний.',
86
+ },
87
+ ],
88
+ },
89
+ {
90
+ type: 'title',
91
+ text: 'Альтернативные Системы Инициативы',
92
+ level: 3,
93
+ },
94
+ {
95
+ type: 'comparative',
96
+ items: [
97
+ {
98
+ title: 'Стандартная Инициатива',
99
+ description: 'Каждый участник бросает один раз в начале. Тот же порядок повторяется каждый раунд. Просто и предсказуемо, но порядок фиксирован после первого броска. Хорошо работает для большинства групп и размеров встреч.',
100
+ icon: 'mdi:swap-vertical',
101
+ highlight: true,
102
+ points: ['Легко учить и объяснять', 'Фиксированный порядок ходов каждый раунд', 'Работает для групп любого размера'],
103
+ },
104
+ {
105
+ title: 'Инициатива Сторон',
106
+ description: 'Все персонажи игроков действуют вместе, затем все враги действуют вместе. Распространено в старых редакциях и OSR-играх. Ускоряет бой, сокращая индивидуальное отслеживание, но уменьшает тактическую глубину.',
107
+ icon: 'mdi:account-group',
108
+ highlight: false,
109
+ points: ['Самое быстрое разрешение боя', 'Поощряет координацию группы', 'Меньше разнообразия индивидуальных ходов'],
110
+ },
111
+ {
112
+ title: 'Вариант Фактора Скорости',
113
+ description: 'Каждый раунд участники сначала объявляют действия, затем бросают инициативу, модифицированную выбранным действием. Используется в опциональных наборах правил. Создаёт непредсказуемый порядок ходов, но добавляет глубину принятию решений.',
114
+ icon: 'mdi:run-fast',
115
+ highlight: false,
116
+ points: ['Разный порядок каждый раунд', 'Выбор действия влияет на время', 'Больше тактических решений за ход'],
117
+ },
118
+ ],
119
+ columns: 3,
120
+ },
121
+ {
122
+ type: 'title',
123
+ text: 'Глоссарий Боевого Трекера',
124
+ level: 3,
125
+ },
126
+ {
127
+ type: 'glossary',
128
+ items: [
129
+ {
130
+ term: 'Инициатива',
131
+ definition: 'Проверка Ловкости, совершаемая в начале боя для определения последовательности ходов. Каждый участник бросает и действует в порядке убывания.',
132
+ },
133
+ {
134
+ term: 'Раунд',
135
+ definition: 'Полный цикл, в котором каждый участник делает один ход. После действия последнего участника раунд заканчивается, и начинается новый раунд с начала порядка.',
136
+ },
137
+ {
138
+ term: 'Эффект Состояния',
139
+ definition: 'Временное условие, изменяющее возможности персонажа. Примеры включают Оглушение (не может действовать), Отравление (помеха на броски) и Ослепление (атаки с помехой).',
140
+ },
141
+ {
142
+ term: 'NPC',
143
+ definition: 'Неигровой персонаж, управляемый Мастером Подземелий. В отслеживании инициативы NPC обычно являются врагами или нейтральными существами во встрече.',
144
+ },
145
+ {
146
+ term: 'PC',
147
+ definition: 'Персонаж игрока, управляемый одним из игроков за столом. PC отличаются от NPC в трекере, чтобы помочь МП идентифицировать дружественные цели.',
148
+ },
149
+ ],
150
+ },
151
+ {
152
+ type: 'diagnostic',
153
+ variant: 'info',
154
+ title: 'Когда Перебрасывать Инициативу Каждый Раунд',
155
+ icon: 'mdi:information-outline',
156
+ badge: 'СОВЕТ МП',
157
+ html: 'Некоторые МП предпочитают перебрасывать инициативу каждый раунд для непредсказуемости, в то время как большинство сохраняют тот же порядок для простоты. Если новый участник присоединяется в середине боя, бросьте его инициативу и вставьте его в текущую позицию. Трекер обрабатывает это автоматически. Для встреч с боссами рассмотрите возможность дать злодею фиксированную инициативу на определённом значении, чтобы бой казался более структурированным.',
158
+ },
159
+ ],
160
+ faq: [
161
+ {
162
+ question: 'Как добавить участников в порядок инициативы?',
163
+ answer: 'Введите имя персонажа, бросок инициативы и модификатор инициативы, затем нажмите Добавить. Переключайтесь между типами Игрок и NPC, чтобы визуально отличать членов партии от врагов в списке.',
164
+ },
165
+ {
166
+ question: 'Что произойдёт, когда я нажму Начать Бой?',
167
+ answer: 'Все участники сортируются по инициативе от высшего к низшему. Порядок ходов начинается сверху, счётчик раундов стартует с 1, а активный участник подсвечивается зелёным свечением.',
168
+ },
169
+ {
170
+ question: 'Как отслеживать эффекты состояний во время боя?',
171
+ answer: 'Нажмите на тег статуса (Оглушение, Отравление, Ослепление и т.д.), чтобы включить или выключить его для выбранного участника. Активные статусы появляются рядом с именем персонажа. Это напоминает всем о текущих эффектах, когда подходит ход этого участника.',
172
+ },
173
+ {
174
+ question: 'Сохраняются ли мои боевые данные после обновления страницы?',
175
+ answer: 'Да. Трекер инициативы сохраняет состояние боя в локальном хранилище вашего браузера. Ваши участники, порядок ходов и эффекты состояний остаются после перезагрузки страницы. Данные очищаются при нажатии � - авершить Бой.',
176
+ },
177
+ {
178
+ question: 'Могу ли я вернуться к предыдущему ходу?',
179
+ answer: 'Да. Кнопка Предыдущий Ход позволяет перемещаться назад по порядку ходов. Это полезно для просмотра того, что произошло ранее в раунде, или для исправления ошибки.',
180
+ },
181
+ {
182
+ question: 'Могу ли я добавлять или удалять участников во время боя?',
183
+ answer: 'Да. Новые участники могут быть добавлены в любое время и автоматически вставляются в правильную позицию на основе их броска инициативы. Существующие участники могут быть удалены, если они покидают встречу.',
184
+ },
185
+ {
186
+ question: 'Работает ли это с любой RPG-системой?',
187
+ answer: 'Да. Трекер работает с любой настольной RPG, использующей порядок ходов на основе инициативы. Введите любые значения инициативы, которые использует ваша система, будь то бросок к20 плюс Лв для D&D или другой механик для других игр.',
188
+ },
189
+ ],
190
+ bibliography,
191
+ howTo: [
192
+ {
193
+ name: 'Добавьте Участников Перед Боем',
194
+ text: 'Введите имя каждого персонажа, его бросок инициативы и модификатор. Отметьте их как Игрок или NPC. Добавьте столько участников, сколько требует ваша встреча.',
195
+ },
196
+ {
197
+ name: 'Начните Бой, чтобы � - афиксировать Порядок',
198
+ text: 'Нажмите Начать Бой, чтобы отсортировать всех по инициативе и начать отслеживание ходов. Первый участник в порядке подсвечивается.',
199
+ },
200
+ {
201
+ name: 'Перемещайтесь по Ходам и Отслеживайте Состояния',
202
+ text: 'Используйте Следующий Ход и Предыдущий Ход для перемещения по порядку. Применяйте эффекты состояний, нажимая на теги статусов, чтобы отслеживать условия во время боя.',
203
+ },
204
+ {
205
+ name: '� - авершите Бой После Окончания',
206
+ text: 'Нажмите � - авершить Бой, чтобы остановить отслеживание ходов. Это очищает активное состояние и сбрасывает счётчик раундов, сохраняя список участников для следующей встречи.',
207
+ },
208
+ ],
209
+ schemas: [
210
+ {
211
+ '@context': 'https://schema.org',
212
+ '@type': 'SoftwareApplication',
213
+ 'name': 'Отслеживание Инициативы RPG',
214
+ 'operatingSystem': 'Все',
215
+ 'applicationCategory': 'UtilitiesApplication',
216
+ 'browserRequirements': 'Требуется HTML5. Требуется JavaScript.',
217
+ },
218
+ {
219
+ '@context': 'https://schema.org',
220
+ '@type': 'FAQPage',
221
+ 'mainEntity': [
222
+ {
223
+ '@type': 'Question',
224
+ 'name': 'Как добавить участников?',
225
+ 'acceptedAnswer': {
226
+ '@type': 'Answer',
227
+ 'text': 'Введите имя персонажа, бросок инициативы и модификатор инициативы, затем нажмите Добавить. Игроков и NPC можно переключать, чтобы помочь различать их в списке.',
228
+ },
229
+ },
230
+ {
231
+ '@type': 'Question',
232
+ 'name': 'Что произойдёт, когда я нажму Начать Бой?',
233
+ 'acceptedAnswer': {
234
+ '@type': 'Answer',
235
+ 'text': 'Все участники сортируются по инициативе (высшая первая). Порядок ходов начинается с первого участника, а счётчик раундов стартует с 1.',
236
+ },
237
+ },
238
+ ],
239
+ },
240
+ {
241
+ '@context': 'https://schema.org',
242
+ '@type': 'HowTo',
243
+ 'name': 'Как Использовать Трекер Инициативы',
244
+ 'step': [
245
+ {
246
+ '@type': 'HowToStep',
247
+ 'name': 'Добавьте Участников',
248
+ 'text': 'Введите данные персонажа, включая имя, бросок инициативы и модификатор. Переключайтесь между типами Игрок и NPC перед добавлением.',
249
+ },
250
+ {
251
+ '@type': 'HowToStep',
252
+ 'name': 'Начните Бой',
253
+ 'text': 'Нажмите Начать Бой, чтобы отсортировать всех участников по инициативе и начать отслеживание порядка ходов.',
254
+ },
255
+ {
256
+ '@type': 'HowToStep',
257
+ 'name': 'Управляйте Ходами',
258
+ 'text': 'Используйте Следующий Ход и Предыдущий Ход для навигации по порядку ходов. Активный участник подсвечивается зелёным свечением.',
259
+ },
260
+ ],
261
+ },
262
+ ],
263
+ };
264
+