Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ae99aadb0 | |||
| c1a9bfbb04 |
@@ -0,0 +1,125 @@
|
|||||||
|
# Agents pour le système JDR Ecryme (FoundryVTT)
|
||||||
|
|
||||||
|
Ce fichier documente les commandes et workflows pour les agents (automatisations, scripts, outils externes) utilisés dans le développement et la maintenance du système Ecryme pour FoundryVTT.
|
||||||
|
|
||||||
|
## Commandes de développement
|
||||||
|
|
||||||
|
### Linting et validation
|
||||||
|
```bash
|
||||||
|
# Vérification du code TypeScript
|
||||||
|
npm run lint
|
||||||
|
|
||||||
|
# Vérification des types
|
||||||
|
npm run typecheck
|
||||||
|
|
||||||
|
# Construction du projet
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
```bash
|
||||||
|
# Exécution des tests unitaires
|
||||||
|
npm test
|
||||||
|
|
||||||
|
# Exécution des tests avec couverture
|
||||||
|
npm run test:coverage
|
||||||
|
```
|
||||||
|
|
||||||
|
### Déploiement
|
||||||
|
```bash
|
||||||
|
# Construction pour la production
|
||||||
|
npm run build:prod
|
||||||
|
|
||||||
|
# Génération du package pour FoundryVTT
|
||||||
|
npm run package
|
||||||
|
```
|
||||||
|
|
||||||
|
## Workflows recommandés
|
||||||
|
|
||||||
|
### Avant de soumettre une PR
|
||||||
|
1. Exécuter les tests unitaires
|
||||||
|
2. Vérifier le linting (`npm run lint`)
|
||||||
|
3. Vérifier les types (`npm run typecheck`)
|
||||||
|
4. Construire le projet (`npm run build`)
|
||||||
|
5. Tester manuellement dans FoundryVTT avec les scénarios de test fournis dans `/test-scenarios/`
|
||||||
|
|
||||||
|
### Pour ajouter une nouvelle fonctionnalité
|
||||||
|
1. Créer une branche `feature/<nom-de-la-fonctionnalité>`
|
||||||
|
2. Ajouter les tests dans `/tests/`
|
||||||
|
3. Implémenter la fonctionnalité
|
||||||
|
4. Mettre à jour la documentation dans `/docs/` si nécessaire
|
||||||
|
5. Soumettre une PR avec une description claire des changements
|
||||||
|
|
||||||
|
## Structure du projet
|
||||||
|
```
|
||||||
|
/
|
||||||
|
├── src/ # Code source principal
|
||||||
|
│ ├── module/ # Définition du module FoundryVTT
|
||||||
|
│ ├── systems/ # Systèmes de règles spécifiques à Ecryme
|
||||||
|
│ ├── actors/ # Logique des acteurs (PJs, PNJs, créatures)
|
||||||
|
│ ├── items/ # Logique des objets (armes, sorts, équipements)
|
||||||
|
│ └── utils/ # Utilitaires partagés
|
||||||
|
├── tests/ # Tests unitaires et d'intégration
|
||||||
|
├── docs/ # Documentation technique et utilisateur
|
||||||
|
├── templates/ # Templates Handlebar pour les feuilles de personnage
|
||||||
|
└── test-scenarios/ # Scénarios de test pour FoundryVTT
|
||||||
|
```
|
||||||
|
|
||||||
|
## Conventions de codage
|
||||||
|
- **TypeScript strict** : Toujours utiliser les types les plus précis possibles
|
||||||
|
- **Noms de fichiers** :
|
||||||
|
- PascalCase pour les classes (`CharacterSheet.ts`)
|
||||||
|
- kebab-case pour les templates (`character-sheet.hbs`)
|
||||||
|
- camelCase pour les utilitaires (`diceRoller.ts`)
|
||||||
|
- **Tests** :
|
||||||
|
- Un fichier de test par fichier source (`characterSheet.test.ts`)
|
||||||
|
- Couverture minimale de 80% requise pour les PR
|
||||||
|
|
||||||
|
## Outils spécifiques à FoundryVTT
|
||||||
|
|
||||||
|
### Génération des templates
|
||||||
|
```bash
|
||||||
|
# Recompiler les templates Handlebar après modification
|
||||||
|
npm run build:templates
|
||||||
|
```
|
||||||
|
|
||||||
|
### Validation des données
|
||||||
|
```bash
|
||||||
|
# Valider la structure des données contre le schéma
|
||||||
|
npm run validate:schema
|
||||||
|
```
|
||||||
|
|
||||||
|
### Déploiement pour test local
|
||||||
|
```bash
|
||||||
|
# Lier le module en développement à FoundryVTT (nécessite le module "Module Developer")
|
||||||
|
npx foundryvtt-link
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dépannage
|
||||||
|
|
||||||
|
### Problèmes courants
|
||||||
|
1. **Les changements ne s'affichent pas dans Foundry** :
|
||||||
|
- Vérifier que le module est bien lié (`npm run link`)
|
||||||
|
- Redémarrer FoundryVTT
|
||||||
|
- Vider le cache du navigateur (Ctrl+F5)
|
||||||
|
|
||||||
|
2. **Erreurs de type dans les templates** :
|
||||||
|
- Exécuter `npm run validate:templates`
|
||||||
|
- Vérifier les annotations JSDoc dans les fichiers `.ts`
|
||||||
|
|
||||||
|
3. **Problèmes de performance** :
|
||||||
|
- Utiliser le profiler de Foundry (F12 > Performance)
|
||||||
|
- Vérifier les boucles dans les templates Handlebar
|
||||||
|
|
||||||
|
## Ressources utiles
|
||||||
|
- [Documentation FoundryVTT](https://foundryvtt.com/article/api/)
|
||||||
|
- [Guide des systèmes personnalisés](https://foundryvtt.com/article/system-development/)
|
||||||
|
- [Référence Handlebar](https://handlebarsjs.com/guide/)
|
||||||
|
- [TypeScript pour Foundry](https://github.com/League-of-Foundry-Developers/foundry-vtt-types)
|
||||||
|
|
||||||
|
## Contribution
|
||||||
|
Les contributions sont les bienvenues ! Veuillez :
|
||||||
|
1. Ouvrir une issue pour discuter des changements majeurs
|
||||||
|
2. Suivre les conventions de codage ci-dessus
|
||||||
|
3. Inclure des tests pour les nouvelles fonctionnalités
|
||||||
|
4. Mettre à jour la documentation si nécessaire
|
||||||
@@ -28,6 +28,7 @@ import { EcrymeItem } from "./items/ecryme-item.js";
|
|||||||
import { EcrymeHotbar } from "./app/ecryme-hotbar.js"
|
import { EcrymeHotbar } from "./app/ecryme-hotbar.js"
|
||||||
import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js"
|
import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js"
|
||||||
import { ECRYME_CONFIG } from "./common/ecryme-config.js"
|
import { ECRYME_CONFIG } from "./common/ecryme-config.js"
|
||||||
|
import * as models from "./models/_module.js"
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
@@ -36,10 +37,7 @@ import { ECRYME_CONFIG } from "./common/ecryme-config.js"
|
|||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
Hooks.once("init", async function () {
|
Hooks.once("init", async function () {
|
||||||
|
|
||||||
console.log(`Initializing Ecryme RPG`);
|
console.log(`Initializing Ecryme RPG System`);
|
||||||
|
|
||||||
// Import DataModels dynamically to avoid timing issues
|
|
||||||
const models = await import("./models/_module.js");
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// preload handlebars templates
|
// preload handlebars templates
|
||||||
@@ -166,11 +164,11 @@ Hooks.once("ready", function () {
|
|||||||
})
|
})
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
Hooks.once('babele.init', (babele) => {
|
Hooks.once("babele.init", (babele) => {
|
||||||
|
console.log("Initializing Babele translations")
|
||||||
babele.setSystemTranslationsDir("translated");
|
babele.setSystemTranslationsDir("translated");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000303
|
MANIFEST-000379
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/04/01-22:22:33.307143 7f3054fed6c0 Recovering log #301
|
2026/05/25-23:08:24.585664 7fe4cbfff6c0 Recovering log #377
|
||||||
2026/04/01-22:22:33.317732 7f3054fed6c0 Delete type=3 #299
|
2026/05/25-23:08:24.596183 7fe4cbfff6c0 Delete type=3 #375
|
||||||
2026/04/01-22:22:33.317793 7f3054fed6c0 Delete type=0 #301
|
2026/05/25-23:08:24.596270 7fe4cbfff6c0 Delete type=0 #377
|
||||||
2026/04/01-22:25:20.279569 7f303effd6c0 Level-0 table #306: started
|
2026/05/25-23:08:42.305844 7fe4c9ffb6c0 Level-0 table #382: started
|
||||||
2026/04/01-22:25:20.279591 7f303effd6c0 Level-0 table #306: 0 bytes OK
|
2026/05/25-23:08:42.305858 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK
|
||||||
2026/04/01-22:25:20.285397 7f303effd6c0 Delete type=0 #304
|
2026/05/25-23:08:42.311644 7fe4c9ffb6c0 Delete type=0 #380
|
||||||
2026/04/01-22:25:20.301474 7f303effd6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.324476 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/03/29-20:29:06.206172 7f4fbbfff6c0 Recovering log #297
|
2026/05/25-23:06:37.876581 7fe4cbfff6c0 Recovering log #373
|
||||||
2026/03/29-20:29:06.261102 7f4fbbfff6c0 Delete type=3 #295
|
2026/05/25-23:06:37.885990 7fe4cbfff6c0 Delete type=3 #371
|
||||||
2026/03/29-20:29:06.261170 7f4fbbfff6c0 Delete type=0 #297
|
2026/05/25-23:06:37.886037 7fe4cbfff6c0 Delete type=0 #373
|
||||||
2026/03/29-20:29:46.891306 7f4fb9fff6c0 Level-0 table #302: started
|
2026/05/25-23:07:52.694183 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/03/29-20:29:46.891333 7f4fb9fff6c0 Level-0 table #302: 0 bytes OK
|
2026/05/25-23:07:52.694213 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/03/29-20:29:46.898508 7f4fb9fff6c0 Delete type=0 #300
|
2026/05/25-23:07:52.700676 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/03/29-20:29:46.908209 7f4fb9fff6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.700785 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!1GrTlI1xWvaxdKRI' @ 72057594037927935 : 1 .. '!items!zs7krgXhDRndtqbl' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
+1
-1
@@ -1 +1 @@
|
|||||||
MANIFEST-000240
|
MANIFEST-000312
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2026/04/01-22:22:33.362867 7f303ffff6c0 Recovering log #238
|
2026/05/25-23:08:24.638383 7fe4cb7fe6c0 Recovering log #310
|
||||||
2026/04/01-22:22:33.372518 7f303ffff6c0 Delete type=3 #236
|
2026/05/25-23:08:24.648627 7fe4cb7fe6c0 Delete type=3 #308
|
||||||
2026/04/01-22:22:33.372575 7f303ffff6c0 Delete type=0 #238
|
2026/05/25-23:08:24.648688 7fe4cb7fe6c0 Delete type=0 #310
|
||||||
2026/04/01-22:25:20.317434 7f303effd6c0 Level-0 table #243: started
|
2026/05/25-23:08:42.324943 7fe4c9ffb6c0 Level-0 table #315: started
|
||||||
2026/04/01-22:25:20.317467 7f303effd6c0 Level-0 table #243: 0 bytes OK
|
2026/05/25-23:08:42.324976 7fe4c9ffb6c0 Level-0 table #315: 0 bytes OK
|
||||||
2026/04/01-22:25:20.323626 7f303effd6c0 Delete type=0 #241
|
2026/05/25-23:08:42.331359 7fe4c9ffb6c0 Delete type=0 #313
|
||||||
2026/04/01-22:25:20.329928 7f303effd6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.359806 7fe4c9ffb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
2026/04/01-22:25:20.329961 7f303effd6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.380057 7fe4c9ffb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2026/03/29-20:29:06.471558 7f4fbbfff6c0 Recovering log #234
|
2026/05/25-23:06:37.927773 7fe4cb7fe6c0 Recovering log #306
|
||||||
2026/03/29-20:29:06.518113 7f4fbbfff6c0 Delete type=3 #232
|
2026/05/25-23:06:37.937509 7fe4cb7fe6c0 Delete type=3 #304
|
||||||
2026/03/29-20:29:06.518198 7f4fbbfff6c0 Delete type=0 #234
|
2026/05/25-23:06:37.937560 7fe4cb7fe6c0 Delete type=0 #306
|
||||||
2026/03/29-20:29:46.931946 7f4fb9fff6c0 Level-0 table #239: started
|
2026/05/25-23:07:52.707381 7fe4c9ffb6c0 Level-0 table #311: started
|
||||||
2026/03/29-20:29:46.931970 7f4fb9fff6c0 Level-0 table #239: 0 bytes OK
|
2026/05/25-23:07:52.707409 7fe4c9ffb6c0 Level-0 table #311: 0 bytes OK
|
||||||
2026/03/29-20:29:46.939018 7f4fb9fff6c0 Delete type=0 #237
|
2026/05/25-23:07:52.713201 7fe4c9ffb6c0 Delete type=0 #309
|
||||||
2026/03/29-20:29:46.939221 7f4fb9fff6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.733614 7fe4c9ffb6c0 Manual compaction at level-0 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
2026/03/29-20:29:46.939255 7f4fb9fff6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.733638 7fe4c9ffb6c0 Manual compaction at level-1 from '!journal!wooTFYjEwh83FwgT' @ 72057594037927935 : 1 .. '!journal.pages!wooTFYjEwh83FwgT.xhc7hqoL8kdW6lrD' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000303
|
MANIFEST-000377
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/04/01-22:22:33.346957 7f303f7fe6c0 Recovering log #301
|
2026/05/25-23:08:24.625469 7fe4cbfff6c0 Recovering log #375
|
||||||
2026/04/01-22:22:33.357630 7f303f7fe6c0 Delete type=3 #299
|
2026/05/25-23:08:24.635881 7fe4cbfff6c0 Delete type=3 #373
|
||||||
2026/04/01-22:22:33.357703 7f303f7fe6c0 Delete type=0 #301
|
2026/05/25-23:08:24.635933 7fe4cbfff6c0 Delete type=0 #375
|
||||||
2026/04/01-22:25:20.310663 7f303effd6c0 Level-0 table #306: started
|
2026/05/25-23:08:42.317961 7fe4c9ffb6c0 Level-0 table #380: started
|
||||||
2026/04/01-22:25:20.310684 7f303effd6c0 Level-0 table #306: 0 bytes OK
|
2026/05/25-23:08:42.317972 7fe4c9ffb6c0 Level-0 table #380: 0 bytes OK
|
||||||
2026/04/01-22:25:20.317275 7f303effd6c0 Delete type=0 #304
|
2026/05/25-23:08:42.324427 7fe4c9ffb6c0 Delete type=0 #378
|
||||||
2026/04/01-22:25:20.329915 7f303effd6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.324891 7fe4c9ffb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/03/29-20:29:06.396102 7f50089fe6c0 Recovering log #297
|
2026/05/25-23:06:37.915238 7fe4ca7fc6c0 Recovering log #371
|
||||||
2026/03/29-20:29:06.450000 7f50089fe6c0 Delete type=3 #295
|
2026/05/25-23:06:37.925308 7fe4ca7fc6c0 Delete type=3 #369
|
||||||
2026/03/29-20:29:06.454938 7f50089fe6c0 Delete type=0 #297
|
2026/05/25-23:06:37.925365 7fe4ca7fc6c0 Delete type=0 #371
|
||||||
2026/03/29-20:29:46.925606 7f4fb9fff6c0 Level-0 table #302: started
|
2026/05/25-23:07:52.700870 7fe4c9ffb6c0 Level-0 table #376: started
|
||||||
2026/03/29-20:29:46.925637 7f4fb9fff6c0 Level-0 table #302: 0 bytes OK
|
2026/05/25-23:07:52.701331 7fe4c9ffb6c0 Level-0 table #376: 0 bytes OK
|
||||||
2026/03/29-20:29:46.931692 7f4fb9fff6c0 Delete type=0 #300
|
2026/05/25-23:07:52.707294 7fe4c9ffb6c0 Delete type=0 #374
|
||||||
2026/03/29-20:29:46.939210 7f4fb9fff6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.733595 7fe4c9ffb6c0 Manual compaction at level-0 from '!items!13IYF6BPUTivFZzB' @ 72057594037927935 : 1 .. '!items!oSutlbe9wyBZccmf' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000190
|
MANIFEST-000264
|
||||||
|
|||||||
+8
-15
@@ -1,15 +1,8 @@
|
|||||||
2026/04/01-22:22:33.334622 7f3054fed6c0 Recovering log #187
|
2026/05/25-23:08:24.610750 7fe4ca7fc6c0 Recovering log #262
|
||||||
2026/04/01-22:22:33.344318 7f3054fed6c0 Delete type=3 #185
|
2026/05/25-23:08:24.621300 7fe4ca7fc6c0 Delete type=3 #260
|
||||||
2026/04/01-22:22:33.344375 7f3054fed6c0 Delete type=0 #187
|
2026/05/25-23:08:24.621336 7fe4ca7fc6c0 Delete type=0 #262
|
||||||
2026/04/01-22:25:20.285604 7f303effd6c0 Level-0 table #193: started
|
2026/05/25-23:08:42.311679 7fe4c9ffb6c0 Level-0 table #267: started
|
||||||
2026/04/01-22:25:20.288857 7f303effd6c0 Level-0 table #193: 1790 bytes OK
|
2026/05/25-23:08:42.311691 7fe4c9ffb6c0 Level-0 table #267: 0 bytes OK
|
||||||
2026/04/01-22:25:20.295385 7f303effd6c0 Delete type=0 #191
|
2026/05/25-23:08:42.317830 7fe4c9ffb6c0 Delete type=0 #265
|
||||||
2026/04/01-22:25:20.301484 7f303effd6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.324483 7fe4c9ffb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
2026/04/01-22:25:20.301515 7f303effd6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 25 : 1
|
2026/05/25-23:08:42.324930 7fe4c9ffb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
2026/04/01-22:25:20.301522 7f303effd6c0 Compacting 1@1 + 1@2 files
|
|
||||||
2026/04/01-22:25:20.304593 7f303effd6c0 Generated table #194@1: 4 keys, 1790 bytes
|
|
||||||
2026/04/01-22:25:20.304612 7f303effd6c0 Compacted 1@1 + 1@2 files => 1790 bytes
|
|
||||||
2026/04/01-22:25:20.310413 7f303effd6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
|
||||||
2026/04/01-22:25:20.310505 7f303effd6c0 Delete type=2 #189
|
|
||||||
2026/04/01-22:25:20.310609 7f303effd6c0 Delete type=2 #193
|
|
||||||
2026/04/01-22:25:20.329887 7f303effd6c0 Manual compaction at level-1 from '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 25 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
|
||||||
|
|||||||
+8
-15
@@ -1,15 +1,8 @@
|
|||||||
2026/03/29-20:29:06.332960 7f50091ff6c0 Recovering log #183
|
2026/05/25-23:06:37.900889 7fe4caffd6c0 Recovering log #258
|
||||||
2026/03/29-20:29:06.388262 7f50091ff6c0 Delete type=3 #181
|
2026/05/25-23:06:37.911257 7fe4caffd6c0 Delete type=3 #256
|
||||||
2026/03/29-20:29:06.388321 7f50091ff6c0 Delete type=0 #183
|
2026/05/25-23:06:37.911321 7fe4caffd6c0 Delete type=0 #258
|
||||||
2026/03/29-20:29:46.898664 7f4fb9fff6c0 Level-0 table #188: started
|
2026/05/25-23:07:52.688262 7fe4c9ffb6c0 Level-0 table #263: started
|
||||||
2026/03/29-20:29:46.901825 7f4fb9fff6c0 Level-0 table #188: 1776 bytes OK
|
2026/05/25-23:07:52.688293 7fe4c9ffb6c0 Level-0 table #263: 0 bytes OK
|
||||||
2026/03/29-20:29:46.907962 7f4fb9fff6c0 Delete type=0 #186
|
2026/05/25-23:07:52.694093 7fe4c9ffb6c0 Delete type=0 #261
|
||||||
2026/03/29-20:29:46.908219 7f4fb9fff6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.700777 7fe4c9ffb6c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
2026/03/29-20:29:46.908247 7f4fb9fff6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 21 : 1
|
2026/05/25-23:07:52.700805 7fe4c9ffb6c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
2026/03/29-20:29:46.908252 7f4fb9fff6c0 Compacting 1@1 + 1@2 files
|
|
||||||
2026/03/29-20:29:46.911456 7f4fb9fff6c0 Generated table #189@1: 4 keys, 1776 bytes
|
|
||||||
2026/03/29-20:29:46.911490 7f4fb9fff6c0 Compacted 1@1 + 1@2 files => 1776 bytes
|
|
||||||
2026/03/29-20:29:46.917990 7f4fb9fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
|
||||||
2026/03/29-20:29:46.918113 7f4fb9fff6c0 Delete type=2 #90
|
|
||||||
2026/03/29-20:29:46.918250 7f4fb9fff6c0 Delete type=2 #188
|
|
||||||
2026/03/29-20:29:46.939181 7f4fb9fff6c0 Manual compaction at level-1 from '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 21 : 1 .. '!scenes.levels!zvY1RwBhTfwdZIBa.defaultLevel0000' @ 0 : 0; will stop at (end)
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000303
|
MANIFEST-000375
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/04/01-22:22:33.292826 7f303f7fe6c0 Recovering log #301
|
2026/05/25-23:08:24.571661 7fe4cb7fe6c0 Recovering log #373
|
||||||
2026/04/01-22:22:33.303240 7f303f7fe6c0 Delete type=3 #299
|
2026/05/25-23:08:24.583242 7fe4cb7fe6c0 Delete type=3 #371
|
||||||
2026/04/01-22:22:33.303305 7f303f7fe6c0 Delete type=0 #301
|
2026/05/25-23:08:24.583309 7fe4cb7fe6c0 Delete type=0 #373
|
||||||
2026/04/01-22:25:20.273517 7f303effd6c0 Level-0 table #306: started
|
2026/05/25-23:08:42.299898 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/04/01-22:25:20.273562 7f303effd6c0 Level-0 table #306: 0 bytes OK
|
2026/05/25-23:08:42.299954 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/04/01-22:25:20.279479 7f303effd6c0 Delete type=0 #304
|
2026/05/25-23:08:42.305788 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/04/01-22:25:20.301462 7f303effd6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.324469 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/03/29-20:29:06.137584 7f50089fe6c0 Recovering log #297
|
2026/05/25-23:06:37.865486 7fe4cbfff6c0 Recovering log #369
|
||||||
2026/03/29-20:29:06.194124 7f50089fe6c0 Delete type=3 #295
|
2026/05/25-23:06:37.874724 7fe4cbfff6c0 Delete type=3 #367
|
||||||
2026/03/29-20:29:06.194207 7f50089fe6c0 Delete type=0 #297
|
2026/05/25-23:06:37.874744 7fe4cbfff6c0 Delete type=0 #369
|
||||||
2026/03/29-20:29:46.885007 7f4fb9fff6c0 Level-0 table #302: started
|
2026/05/25-23:07:52.682178 7fe4c9ffb6c0 Level-0 table #374: started
|
||||||
2026/03/29-20:29:46.885035 7f4fb9fff6c0 Level-0 table #302: 0 bytes OK
|
2026/05/25-23:07:52.682203 7fe4c9ffb6c0 Level-0 table #374: 0 bytes OK
|
||||||
2026/03/29-20:29:46.891162 7f4fb9fff6c0 Delete type=0 #300
|
2026/05/25-23:07:52.688174 7fe4c9ffb6c0 Delete type=0 #372
|
||||||
2026/03/29-20:29:46.908195 7f4fb9fff6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.700766 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!00Hn2nNarlL7b0DR' @ 72057594037927935 : 1 .. '!items!yozTUjNuc2rEGjFK' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000002
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
2026/05/06-14:41:23.043596 7f0aceffd6c0 Delete type=3 #1
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000303
|
MANIFEST-000379
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/04/01-22:22:33.321647 7f303f7fe6c0 Recovering log #301
|
2026/05/25-23:08:24.598700 7fe4caffd6c0 Recovering log #377
|
||||||
2026/04/01-22:22:33.331315 7f303f7fe6c0 Delete type=3 #299
|
2026/05/25-23:08:24.608566 7fe4caffd6c0 Delete type=3 #375
|
||||||
2026/04/01-22:22:33.331375 7f303f7fe6c0 Delete type=0 #301
|
2026/05/25-23:08:24.608604 7fe4caffd6c0 Delete type=0 #377
|
||||||
2026/04/01-22:25:20.295489 7f303effd6c0 Level-0 table #306: started
|
2026/05/25-23:08:42.331497 7fe4c9ffb6c0 Level-0 table #382: started
|
||||||
2026/04/01-22:25:20.295522 7f303effd6c0 Level-0 table #306: 0 bytes OK
|
2026/05/25-23:08:42.331525 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK
|
||||||
2026/04/01-22:25:20.301347 7f303effd6c0 Delete type=0 #304
|
2026/05/25-23:08:42.338312 7fe4c9ffb6c0 Delete type=0 #380
|
||||||
2026/04/01-22:25:20.301502 7f303effd6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
2026/05/25-23:08:42.359828 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/03/29-20:29:06.273975 7f4fbb7fe6c0 Recovering log #297
|
2026/05/25-23:06:37.888245 7fe4cb7fe6c0 Recovering log #373
|
||||||
2026/03/29-20:29:06.324534 7f4fbb7fe6c0 Delete type=3 #295
|
2026/05/25-23:06:37.898117 7fe4cb7fe6c0 Delete type=3 #371
|
||||||
2026/03/29-20:29:06.324646 7f4fbb7fe6c0 Delete type=0 #297
|
2026/05/25-23:06:37.898159 7fe4cb7fe6c0 Delete type=0 #373
|
||||||
2026/03/29-20:29:46.878666 7f4fb9fff6c0 Level-0 table #302: started
|
2026/05/25-23:07:52.675131 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/03/29-20:29:46.878739 7f4fb9fff6c0 Level-0 table #302: 0 bytes OK
|
2026/05/25-23:07:52.675198 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/03/29-20:29:46.884892 7f4fb9fff6c0 Delete type=0 #300
|
2026/05/25-23:07:52.682088 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/03/29-20:29:46.908174 7f4fb9fff6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
2026/05/25-23:07:52.700749 7fe4c9ffb6c0 Manual compaction at level-0 from '!folders!DiwHbtGAkTYxtshX' @ 72057594037927935 : 1 .. '!items!zgNI2haxhBxBDBdl' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000002
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
2026/05/06-14:41:23.014318 7f0acffff6c0 Delete type=3 #1
|
||||||
Binary file not shown.
+1
-2
@@ -73,8 +73,7 @@ button,
|
|||||||
background: rgba(0, 0, 0, 0.75);
|
background: rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-app.sheet .window-content,
|
.fvtt-ecryme .window-content {
|
||||||
.application.sheet .window-content {
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
overflow: hidden auto;
|
overflow: hidden auto;
|
||||||
|
|||||||
+21
-26
@@ -1,30 +1,35 @@
|
|||||||
// ============================================================
|
// ============================================================
|
||||||
// Sheet styles (actor + item, AppV1 + AppV2)
|
// Sheet styles (actor + item, AppV1 + AppV2)
|
||||||
|
// Scoped to .fvtt-ecryme to avoid overriding core Foundry UI
|
||||||
// ============================================================
|
// ============================================================
|
||||||
|
|
||||||
// Sheet header background
|
// Sheet window-content + header background
|
||||||
.window-app.sheet .window-content .sheet-header,
|
.fvtt-ecryme .window-content,
|
||||||
.application.sheet .window-content .sheet-header {
|
.fvtt-ecryme .window-content .sheet-body {
|
||||||
|
font-size: 0.8rem;
|
||||||
|
background: @background-image;
|
||||||
|
color: @color-text-dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fvtt-ecryme .window-content .sheet-header {
|
||||||
color: @color-text-dark;
|
color: @color-text-dark;
|
||||||
background: @background-image;
|
background: @background-image;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Input / select base (light background)
|
// Inputs & selects inside Ecryme sheets
|
||||||
input[type="text"],
|
.fvtt-ecryme .window-content {
|
||||||
input[type="number"],
|
input[type="text"],
|
||||||
select[type="text"] {
|
input[type="number"],
|
||||||
|
select[type="text"] {
|
||||||
background: @color-input-bg;
|
background: @color-input-bg;
|
||||||
color: @color-input-text;
|
color: @color-input-text;
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
background: @color-input-bg;
|
background: @color-input-bg;
|
||||||
color: @color-input-text;
|
color: @color-input-text;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sheet content inputs & selects — dark text
|
|
||||||
.window-app.sheet .window-content,
|
|
||||||
.application.sheet .window-content {
|
|
||||||
.sheet-header,
|
.sheet-header,
|
||||||
.sheet-body {
|
.sheet-body {
|
||||||
select[type="text"],
|
select[type="text"],
|
||||||
@@ -53,16 +58,6 @@ select {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sheet body + window-content background
|
|
||||||
.window-app .window-content,
|
|
||||||
.window-app.sheet .window-content .sheet-body,
|
|
||||||
.application .window-content,
|
|
||||||
.application.sheet .window-content .sheet-body {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
background: @background-image;
|
|
||||||
color: @color-text-dark;
|
|
||||||
}
|
|
||||||
|
|
||||||
section.sheet-body {
|
section.sheet-body {
|
||||||
padding: 0.25rem 0.5rem;
|
padding: 0.25rem 0.5rem;
|
||||||
|
|
||||||
@@ -73,7 +68,7 @@ section.sheet-body {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet {
|
.fvtt-ecryme {
|
||||||
header.sheet-header {
|
header.sheet-header {
|
||||||
.profile-img {
|
.profile-img {
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
@@ -135,8 +130,8 @@ nav.sheet-tabs {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Tooltip
|
// Tooltip (scoped to Ecryme sheets)
|
||||||
.window-app.sheet .window-content {
|
.fvtt-ecryme .window-content {
|
||||||
.tooltip:hover .tooltiptext {
|
.tooltip:hover .tooltiptext {
|
||||||
top: 2rem;
|
top: 2rem;
|
||||||
left: 2rem;
|
left: 2rem;
|
||||||
|
|||||||
+20
@@ -103,6 +103,20 @@
|
|||||||
"minimum": "13",
|
"minimum": "13",
|
||||||
"verified": "14"
|
"verified": "14"
|
||||||
},
|
},
|
||||||
|
"documentTypes": {
|
||||||
|
"Actor": {
|
||||||
|
"pc": {"htmlFields": ["description", "gmnotes"]},
|
||||||
|
"npc": {"htmlFields": ["description", "gmnotes"]},
|
||||||
|
"annency": {"htmlFields": ["description", "enhancements"]}
|
||||||
|
},
|
||||||
|
"Item": {
|
||||||
|
"equipment": {"htmlFields": ["description"]},
|
||||||
|
"trait": {"htmlFields": ["description"]},
|
||||||
|
"weapon": {"htmlFields": ["description"]},
|
||||||
|
"specialization": {"htmlFields": ["description"]},
|
||||||
|
"maneuver": {"htmlFields": ["description"]}
|
||||||
|
}
|
||||||
|
},
|
||||||
"id": "fvtt-ecryme",
|
"id": "fvtt-ecryme",
|
||||||
"primaryTokenAttribute": "secondary.health",
|
"primaryTokenAttribute": "secondary.health",
|
||||||
"secondaryTokenAttribute": "secondary.delirium",
|
"secondaryTokenAttribute": "secondary.delirium",
|
||||||
@@ -116,7 +130,13 @@
|
|||||||
"id": "babele",
|
"id": "babele",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"compatibility": {}
|
"compatibility": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "lib-wrapper",
|
||||||
|
"type": "module",
|
||||||
|
"compatibility": {}
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"title": "Ecryme, le Jeu de Rôles",
|
"title": "Ecryme, le Jeu de Rôles",
|
||||||
|
|||||||
@@ -0,0 +1,331 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DEPRECATED - This template.json is kept for reference only. The system now uses DataModels (see modules/models/). Do not edit this file.",
|
||||||
|
"Actor": {
|
||||||
|
"types": [
|
||||||
|
"pc","annency", "npc"
|
||||||
|
],
|
||||||
|
"templates": {
|
||||||
|
"biodata": {
|
||||||
|
"biodata": {
|
||||||
|
"age": "",
|
||||||
|
"size": "",
|
||||||
|
"lieunaissance": "",
|
||||||
|
"nationalite": "",
|
||||||
|
"profession": "",
|
||||||
|
"residence": "",
|
||||||
|
"milieusocial": "",
|
||||||
|
"poids": "",
|
||||||
|
"cheveux": "",
|
||||||
|
"sexe": "",
|
||||||
|
"yeux": "",
|
||||||
|
"enfance": "",
|
||||||
|
"description": "",
|
||||||
|
"gmnotes": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"core": {
|
||||||
|
"subactors": [],
|
||||||
|
"equipmentfree": "",
|
||||||
|
"skills": {
|
||||||
|
"physical": {
|
||||||
|
"name": "ECRY.ui.physical",
|
||||||
|
"pnjvalue": 0,
|
||||||
|
"skilllist": {
|
||||||
|
"athletics": {
|
||||||
|
"key": "athletics",
|
||||||
|
"name": "ECRY.ui.athletics",
|
||||||
|
"max": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"driving": {
|
||||||
|
"key": "driving",
|
||||||
|
"name": "ECRY.ui.driving",
|
||||||
|
"max": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"fencing": {
|
||||||
|
"key": "fencing",
|
||||||
|
"name": "ECRY.ui.fencing",
|
||||||
|
"max": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"brawling": {
|
||||||
|
"key": "brawling",
|
||||||
|
"name": "ECRY.ui.brawling",
|
||||||
|
"max": 0,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"shooting": {
|
||||||
|
"key": "shooting",
|
||||||
|
"name": "ECRY.ui.shooting",
|
||||||
|
"max": 0,
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mental": {
|
||||||
|
"name": "ECRY.ui.mental",
|
||||||
|
"pnjvalue": 0,
|
||||||
|
"skilllist": {
|
||||||
|
"anthropomecanology": {
|
||||||
|
"key": "anthropomecanology",
|
||||||
|
"name": "ECRY.ui.anthropomecanology",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"ecrymology": {
|
||||||
|
"key": "ecrymology",
|
||||||
|
"name": "ECRY.ui.ecrymology",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"traumatology": {
|
||||||
|
"key": "traumatology",
|
||||||
|
"name": "ECRY.ui.traumatology",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"traversology": {
|
||||||
|
"key": "traversology",
|
||||||
|
"name": "ECRY.ui.traversology",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"urbatechnology": {
|
||||||
|
"key": "urbatechnology",
|
||||||
|
"name": "ECRY.ui.urbatechnology",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"social": {
|
||||||
|
"name": "ECRY.ui.social",
|
||||||
|
"pnjvalue": 0,
|
||||||
|
"skilllist": {
|
||||||
|
"quibbling": {
|
||||||
|
"key": "quibbling",
|
||||||
|
"name": "ECRY.ui.quibbling",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"creativity": {
|
||||||
|
"key": "creativity",
|
||||||
|
"name": "ECRY.ui.creativity",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"loquacity": {
|
||||||
|
"key": "loquacity",
|
||||||
|
"name": "ECRY.ui.loquacity",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"guile": {
|
||||||
|
"key": "guile",
|
||||||
|
"name": "ECRY.ui.guile",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"performance": {
|
||||||
|
"key": "performance",
|
||||||
|
"name": "ECRY.ui.performance",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"impacts": {
|
||||||
|
"physical": {
|
||||||
|
"superficial": 0,
|
||||||
|
"light": 0,
|
||||||
|
"serious": 0,
|
||||||
|
"major": 0
|
||||||
|
},
|
||||||
|
"mental": {
|
||||||
|
"superficial": 0,
|
||||||
|
"light": 0,
|
||||||
|
"serious": 0,
|
||||||
|
"major": 0
|
||||||
|
},
|
||||||
|
"social": {
|
||||||
|
"superficial": 0,
|
||||||
|
"light": 0,
|
||||||
|
"serious": 0,
|
||||||
|
"major": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cephaly": {
|
||||||
|
"name": "ECRY.ui.cephaly",
|
||||||
|
"skilllist": {
|
||||||
|
"elegy": {
|
||||||
|
"name": "ECRY.ui.elegy",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"entelechy": {
|
||||||
|
"name": "ECRY.ui.entelechy",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"mekany": {
|
||||||
|
"name": "ECRY.ui.mekany",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"psyche": {
|
||||||
|
"name": "ECRY.ui.psyche",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"scoria": {
|
||||||
|
"name": "ECRY.ui.scoria",
|
||||||
|
"value": 0,
|
||||||
|
"max": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"internals": {
|
||||||
|
"confrontbonus": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npccore": {
|
||||||
|
"npctype": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"annency": {
|
||||||
|
"base": {
|
||||||
|
"iscollective": false,
|
||||||
|
"ismultiple": false,
|
||||||
|
"characters": [],
|
||||||
|
"location": {"1": "", "2": "", "3":"", "4":"", "5":"" },
|
||||||
|
"description": "",
|
||||||
|
"enhancements": ""
|
||||||
|
},
|
||||||
|
"boheme": {
|
||||||
|
"name": "",
|
||||||
|
"ideals": "",
|
||||||
|
"politic": "",
|
||||||
|
"description": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"annency": {
|
||||||
|
"templates": [
|
||||||
|
"annency"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"npc": {
|
||||||
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"pc": {
|
||||||
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Item": {
|
||||||
|
"types": [
|
||||||
|
"equipment",
|
||||||
|
"trait",
|
||||||
|
"weapon",
|
||||||
|
"specialization",
|
||||||
|
"maneuver"
|
||||||
|
],
|
||||||
|
"templates": {
|
||||||
|
"common": {
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"equipement": {
|
||||||
|
"weight": 0,
|
||||||
|
"cost": 0,
|
||||||
|
"costunit": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"maneuver": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"confrontation": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"attackerId": "",
|
||||||
|
"defenserId": "",
|
||||||
|
"rolllist": [],
|
||||||
|
"bonusexecution": 0,
|
||||||
|
"bonuspreservation": 0
|
||||||
|
},
|
||||||
|
"equipment": {
|
||||||
|
"templates": [
|
||||||
|
"common",
|
||||||
|
"equipement"
|
||||||
|
],
|
||||||
|
"quantity": 1,
|
||||||
|
"weight": 0
|
||||||
|
},
|
||||||
|
"trait": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"traitype": "normal",
|
||||||
|
"level": 1
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"templates": [
|
||||||
|
"common",
|
||||||
|
"equipement"
|
||||||
|
],
|
||||||
|
"weapontype": "melee",
|
||||||
|
"effect": 0
|
||||||
|
},
|
||||||
|
"specialization": {
|
||||||
|
"bonus": 2,
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"skillkey": ""
|
||||||
|
},
|
||||||
|
"scar": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"skillcategory": [
|
||||||
|
"physical",
|
||||||
|
"mental",
|
||||||
|
"social",
|
||||||
|
"cephalie"
|
||||||
|
],
|
||||||
|
"scarLevel": 1
|
||||||
|
},
|
||||||
|
"annency": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"collective": false,
|
||||||
|
"multiple": false,
|
||||||
|
"improvements": ""
|
||||||
|
},
|
||||||
|
"boheme": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"ideals": "",
|
||||||
|
"political": ""
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"templates": [
|
||||||
|
"common"
|
||||||
|
],
|
||||||
|
"attitude": "neutral",
|
||||||
|
"organization": "",
|
||||||
|
"location": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
-22
@@ -1,31 +1,19 @@
|
|||||||
<div class="chat-message-header">
|
<div class="chat-message-header">
|
||||||
<img class="actor-icon" src="systems/fvtt-ecryme/images/icons/logo-ecryme.webp" alt="Écryme" />
|
<img
|
||||||
|
class="actor-icon"
|
||||||
|
src="systems/fvtt-ecryme/images/icons/logo-ecryme.webp"
|
||||||
|
alt="Écryme"
|
||||||
|
/>
|
||||||
<h4 class="chat-actor-name">Écryme RPG</h4>
|
<h4 class="chat-actor-name">Écryme RPG</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ecryme-chat-body">
|
<div class="ecryme-chat-body">
|
||||||
|
|
||||||
<h3 class="welcome-message-h3">⚙ Bonjour à tous !</h3>
|
<h3 class="welcome-message-h3">⚙ Bonjour à tous !</h3>
|
||||||
|
|
||||||
<div class="welcome-section">
|
|
||||||
👋 Juste un petit message pour vous informer que :
|
|
||||||
<br />
|
|
||||||
<strong>⚠️ Le nouveau financement participatif pour la prochaine extension
|
|
||||||
d'Écryme, LES SECRETS DE L'ÉCRYME ouvre le 21 octobre !</strong>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="welcome-section">
|
|
||||||
⚠️ Suivez la page de pré-lancement ici pour être sûr de ne pas manquer le
|
|
||||||
lancement :<br />
|
|
||||||
<a href="https://shorturl.at/qDjg7">https://shorturl.at/qDjg7</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<div class="welcome-section">
|
<div class="welcome-section">
|
||||||
Nous avons aussi un nouveau Discord pour ceux ou celles qui souhaiteraient
|
Nous avons aussi un nouveau Discord pour ceux ou celles qui souhaiteraient
|
||||||
participer plus activement à la communauté des jeux d'Open Sesame Games, avec
|
participer plus activement à la communauté des jeux d'Open Sesame Games,
|
||||||
un espace dédié aux écrymiens !<br />
|
avec un espace dédié aux écrymiens !<br />
|
||||||
Nouveaux joueurs comme vétérans sont les bienvenus, n'hésitez pas à passer
|
Nouveaux joueurs comme vétérans sont les bienvenus, n'hésitez pas à passer
|
||||||
pour papoter, profiter de nos ressources, ou suivre les nouvelles d'OSG plus
|
pour papoter, profiter de nos ressources, ou suivre les nouvelles d'OSG plus
|
||||||
directement.<br />
|
directement.<br />
|
||||||
@@ -35,13 +23,14 @@
|
|||||||
<div class="welcome-section">
|
<div class="welcome-section">
|
||||||
Ce système vous est proposé par <strong>Open Sesame Games</strong>.<br />
|
Ce système vous est proposé par <strong>Open Sesame Games</strong>.<br />
|
||||||
Vous trouverez de l'aide dans
|
Vous trouverez de l'aide dans
|
||||||
@UUID[Compendium.fvtt-ecryme.help.JournalEntry.wooTFYjEwh83FwgT]{Aide pour Écryme}<br />
|
@UUID[Compendium.fvtt-ecryme.help.JournalEntry.wooTFYjEwh83FwgT]{Aide pour
|
||||||
|
Écryme}<br />
|
||||||
ainsi que sur le Discord de Foundry FR :<br />
|
ainsi que sur le Discord de Foundry FR :<br />
|
||||||
<a href="https://discord.gg/pPSDNJk">Discord Foundry FR</a>
|
<a href="https://discord.gg/pPSDNJk">Discord Foundry FR</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="welcome-footer">
|
<div class="welcome-footer">
|
||||||
⚙ Merci pour votre attention et à très bientôt ! — L'équipe Open Sesame Games
|
⚙ Merci pour votre attention et à très bientôt ! — L'équipe Open Sesame
|
||||||
|
Games
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user