Commit Graph
25 Commits
Author SHA1 Message Date
alzerandalzer 83542002ed Nettoyage : suppression de fichiers orphelins, activation de wh4_de.js
- Suppression de fr-actor-wfrp4e.js (ancien fork de la classe Actor du
  système, remplacé par Babele), potion-ingredients.js (doublon des
  anciennes données Gaben-der-Rhya déjà migrées vers wfrp4e-risikogruppe)
  et 2 images non référencées.
- wh4_de.js (enregistrement de "de" dans supportedLanguages pour
  wfrp4e/eis) n'était référencé dans aucun esmodule et ne s'exécutait
  donc jamais. Déplacé dans modules/ et ajouté aux esmodules.
2026-08-12 12:37:30 +02:00
alzerandalzer 385d15be66 Suppression de modules/potions (non référencé)
effets.js et ingredients.json n'étaient chargés par aucun esmodule et
faisaient doublon avec le contenu déjà présent dans le pack dons-de-rhya
de wfrp4e-risikogruppe.
2026-08-12 12:05:37 +02:00
alzerandalzer 1ba16fbf24 gasthaus-Chatbefehl nach wfrp4e-risikogruppe verschoben (gehört zum gerichte-gasthaeuser-Pack) 2026-08-12 10:21:55 +02:00
alzerandalzer 53440bbdc8 Scripts neu gepackt 2026-08-07 08:57:26 +02:00
alzer 1b6fe3cefa Fix: Babele-Registrierung in Hooks.once('babele.init', ...) verschoben (Kernursache fuer 'Items werden nicht uebersetzt')
Laut Babele 2.8+ Developer Migration Guide muessen register()/
registerConverters() vor dem Aufbau von Babeles eigener Runtime-Session
erfolgen, ueber einen dedizierten Hook 'babele.init' - nicht in Foundrys
allgemeinem 'init'-Hook. Registrierungen, die zu spaet erfolgen, werden
seit Babele 2.8+ still verworfen ('late calls are rejected'), sobald die
Runtime-Session installiert ist.

Das erklaert das beobachtete Verhalten vollstaendig: Babele las unsere
Uebersetzungsdateien zwar erfolgreich ein (Konsole zeigte 'successfully
loaded'), aber ohne erfolgreiche Registrierung blieb inspectMapping()
fuer betroffene Packs leer (layers: [], effective.mapping: {}), und
isTranslated()/translate() lieferten false/{} zurueck - obwohl die
Match-Daten (id/name) nachweislich korrekt waren. Journals funktionierten
vermutlich ueber eingebaute Babele-Standardmappings, die keine eigene
Registrierung benoetigen.

Fix: game.babele.register(...) und game.babele.registerConverters(...)
laufen jetzt in einem eigenen Hooks.once('babele.init', ...) statt im
bisherigen Hooks.once('init', ...). Ausserdem den fehlerhaften Typ-Check
'game.babele !== "undefined"' (String-Vergleich statt typeof) korrigiert.

Version auf 8.6.15 angehoben.
2026-07-27 19:35:18 +02:00
alzer e0654914a0 Fix: Babele translate() Rueckgabewert-Check reparieren (Items/Bestiary/Talente etc. wurden nicht uebersetzt)
Portiert aus der aktualisierten, v14-verifizierten franzoesischen
Referenzimplementierung (foundryvtt-wh4-lang-fr-fr). Die aktuelle
Babele-Version liefert im Rueckgabewert von game.babele.translate()
offenbar kein .system-Feld mehr zuverlaessig. Unsere bisherigen Checks
(if (trait_fr?.system)) in der bestiary_traits-Converter-Funktion schlugen
deshalb immer fehl und die Uebersetzung von Traits, Skills, Talenten,
Zaubern, Gebeten, Karrieren, Fahrzeugrollen und Ausruestung auf
NPC-Statblaettern wurde stillschweigend uebersprungen - das Item blieb
englisch.

Fix: Pruefung umgestellt auf if (trait_fr?.name && trait_fr?.name != name_en).
Zusaetzlich uebernommen:
- Gefixte Bonus-Formel-Regex (behebt den 'willpower bonus+4' SyntaxError
  bei Zauberformeln, u.a. bei Wolfgang Hollseher aufgetreten)
- \r-Stripping-Bug in Trait-Namen behoben
- Symptom-Namen (Fever, Malaise etc.) werden nicht mehr vom Item-Namen
  ueberschrieben
- 'Inspiring'-Sonderfall fuer Talente ergaenzt

Version auf 8.6.14 angehoben.
2026-07-27 19:10:33 +02:00
alzer 7707c31a9a Translate last remaining French leftover in item-effect scripts
1CeYp5MlPcH68UIw.js mixed English and French skill/talent/trapping
names (Intimidate, Commandement, Menaçant, Arme simple...) in an NPC
statblock-building script. Replaced with the actual German names used
in the core compendium, matching the lookup-by-exact-name convention
used throughout scripts/.

Note: the earlier "1 file left" estimate was right; a follow-up grep
across all of scripts/ that showed ~95 hits was a false alarm caused
by bash's grep doing byte-wise matching against the accented-character
class in this shell's locale, flagging German umlauts/en-dashes as
false positives. Verified with Node's proper Unicode regex instead.

Rebuilt modules/loadScripts.js; all 2114 scripts still parse cleanly.
2026-07-21 16:19:56 +02:00
alzer 69a69e2ce4 Fix 7 pre-existing syntax bugs in item-effect scripts
These predate today's script sync (not among the 621 copied files) --
stale/corrupted copies that had already diverged from FR's own fixed
versions, so a syntax error would have crashed the moment the item's
effect actually ran in Foundry:

- E7D4bxz8gy4e1wL7.js: whole condition had no body/return at all
- FAB12eLcSCAOOQwk.js: "scirptMessage" typo + missing closing paren
- Me1wS5XdqUEy7OGt.js: missing paren/brace in a template literal,
  and a literal "{this.actor.name}" instead of "${this.actor.name}"
- Na7Nanl9YmxZlTo7.js: stray unmatched closing paren
- nGTxNWBUBgTr87wU.js: loose "speaker : {...}" args instead of being
  part of the single options object
- sPvfYQEnyAYNpIhF.js: missing comma between two object properties
- vvVhAqreedtmOR9b.js: missing closing brace before the closing paren

Rebuilt modules/loadScripts.js; all 2114 scripts now parse cleanly.
2026-07-21 15:54:43 +02:00
alzer a7f30267fd Sync 621 missing item-effect scripts from FR and translate to German
scripts/ was missing 621 of FR's 2114 effect scripts (referenced via
game.wfrp4e.config.effectScripts by Foundry item id). Copied them all
over so the registry is complete, then translated the 129 that still
contained French user-facing text: skill/talent/trapping name arrays
in NPC-statblock-building scripts, chat/notification messages, and
dialog prompts. Skill/talent/trait names were cross-checked against
the already-translated core compendium rather than translated ad hoc,
since Foundry looks these up by exact document name.

Also fixed real bugs found along the way (present in FR's originals
too, just inherited via the copy):
- Two "let x / let x" duplicate-declaration scripts (SyntaxError)
- A "0rgs.actor" typo (ReferenceError) for "args.actor"
- Two "effet.update(...)" typos for "effect.update(...)"
- A corrupted ui.notifications.warn(...) template literal in 3 of the
  NPC-statblock scripts, mangled into stray leftover code text
- 19 scripts across the whole scripts/ folder (not just the 621) using
  the wrong game.i18n.localize() key (NAME.Résistance/Démoniaque/
  Mort-vivant instead of the actual English key names NAME.Endurance/
  Daemonic/Undead), which silently failed to resolve in any language

Rebuilt modules/loadScripts.js via `npm run build` (2114 scripts).

Known follow-up (out of scope here, pre-existing in the scripts DE
already had before this sync): 7 scripts elsewhere in scripts/ have
unrelated syntax bugs, and one has a lingering French accent.
2026-07-20 23:43:47 +02:00
alzer 5e2c91c3d4 Fix Foundry v13/v14 and Babele 2.8+ compatibility breaks
- Remove dead import of babele/script/translated-compendium.js (404,
  MIME-type block on load) and its unused TranslatedCompendium usage
- Replace broken game.babele.converters.X() cross-calls (career_skills,
  career_careergroup, tableResults) with direct function references,
  since Babele 2.8+ wraps converters as objects
- Rename RollTable fields data.text/results[].text -> .description and
  documentCollection -> documentUuid to match Babele's current schema
- Migrate ActiveEffect label -> name (Foundry v13 requires name) with
  legacy fallback in process_effects, bestiary_traits, effects and
  diseases_effects converters
- Fix stray bare duplicate() call and a syntax typo in the infighting
  effect script in config-patch.js
- Bump module.json compatibility to minimum 13 / verified 14
2026-07-20 21:54:57 +02:00
alzer 7f355bf1b8 Trappings konsistent in Ausrüstung geändert 2025-10-01 11:11:32 +02:00
alzer b56b6e04cc .. 2025-05-16 10:05:29 +02:00
alzer 635d9e7525 Scripts zusammengefügt 2025-05-16 09:32:25 +02:00
alzer b327aa5c23 .. 2025-05-14 15:51:42 +02:00
alzer fdccd1859f typos 2025-05-14 15:08:46 +02:00
alzer 94eaeb0cbe Packs-test 2025-05-11 15:34:05 +02:00
alzerandalzer d8ebfc1e43 addon-register 2025-05-11 15:13:20 +02:00
alzerandalzer 01b58b5c62 packs entfernt 2025-05-11 15:10:21 +02:00
alzer 0fc2ae31ce addon-register fertig 2025-05-09 14:35:09 +02:00
alzer 4b51f8970f core-tables 2025-05-09 09:59:36 +02:00
alzer 881ca2f6e5 config-patch WIP 2025-05-08 21:38:19 +02:00
alzer dcd48348c2 Pfad ersetzt 2025-05-07 16:23:45 +02:00
alzer 3f74b8dfdd Neuanfang mit französischem Modul 2025-05-05 23:25:00 +02:00
alzer a8d64c3f53 .. 2025-05-03 14:54:23 +02:00
alzer 39e925cc1b .. 2025-05-02 12:24:44 +02:00