Skip to content

Feature/excel import combat equipment#280

Open
Rright7 wants to merge 5 commits into
AnimaBeyondDevelop:mainfrom
Rright7:feature/excel-import-combat-equipment
Open

Feature/excel import combat equipment#280
Rright7 wants to merge 5 commits into
AnimaBeyondDevelop:mainfrom
Rright7:feature/excel-import-combat-equipment

Conversation

@Rright7
Copy link
Copy Markdown

@Rright7 Rright7 commented May 22, 2026

Extiende la importación desde Excel para que el bloque de combate del PJ ya quede relleno automáticamente:

  • Armas equipadas con su calidad, modo de empuñadura y tipo de conocimiento.
  • Armaduras equipadas con calidad, separando cabeza y cuerpo.
  • Munición sin duplicados (varias armas pueden compartirla).
  • Vínculo arma → munición: las armas de proyectil aparecen ya con su munición seleccionada en el dropdown, sin tener que tocarlo a mano.

Los items se buscan en el compendio del sistema (animabf.weapons, animabf.armors) por nombre. Si el Excel usa un nombre que no coincide exactamente con el compendio, se hace match difuso (sin tildes, plural→singular) y hay una pequeña tabla de sinónimos para casos puntuales (p. ej. "Espada a dos manos" → "Mandoble"). Si aún así no hay match, el item se crea con los datos del Excel como fallback y se avisa al player

Configuración

Nuevo setting NOTIFY_ON_MISSING_EXCEL_MATCH (default ON): muestra la lista de armas/armaduras/munición del Excel que no se han encontrado en el compendio, para añadir alias o reportarlas.

Tests

37 tests cubren los anclajes del Excel (Named Range Tabla_Combate, header Armadura, layout 17×10) y el vínculo arma → munición. Si en una futura versión del Excel comunitario cambia algún anclaje del excel, los tests fallan con un mensaje concreto indicando qué tocar.

Rright7 added 5 commits May 22, 2026 13:11
readExcelData now returns { rows, workbook }. parseExcelToActor accepts
an options.workbook arg; when present, downstream parsers can read named
ranges and other sheets that the flat NamedRangesList does not expose.
Modular parsers under excelImporter/combatEquipment/. Read Tabla_Combate
named range and the Armadura block, fuzzy-match against the system
compendium, and link each ranged weapon to its ammo via system.ammoId.
New world setting NOTIFY_ON_MISSING_EXCEL_MATCH (default ON) plus i18n
in es/en/fr. Items without a compendium match are still created from
Excel data as fallback.
37 tests across 4 suites. In-memory workbooks built with xlsx.utils so
future Excel layout changes (renamed sheet, moved Armadura header) fail
with a clear message instead of breaking silently in production.
Setting NOTIFY_ON_MISSING_EXCEL_MATCH already applies to whoever runs
the import. Updates es/en/fr strings and a code comment that wrongly
implied a GM-only audience.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant