Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ae99aadb0 | |||
| c1a9bfbb04 | |||
| 0fec217528 |
@@ -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-000291
|
MANIFEST-000379
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/02/26-13:35:49.720275 7f821e7fc6c0 Recovering log #289
|
2026/05/25-23:08:24.585664 7fe4cbfff6c0 Recovering log #377
|
||||||
2026/02/26-13:35:49.730573 7f821e7fc6c0 Delete type=0 #289
|
2026/05/25-23:08:24.596183 7fe4cbfff6c0 Delete type=3 #375
|
||||||
2026/02/26-13:35:49.730637 7f821e7fc6c0 Delete type=3 #287
|
2026/05/25-23:08:24.596270 7fe4cbfff6c0 Delete type=0 #377
|
||||||
2026/02/26-13:45:04.206270 7f821d8d46c0 Level-0 table #294: started
|
2026/05/25-23:08:42.305844 7fe4c9ffb6c0 Level-0 table #382: started
|
||||||
2026/02/26-13:45:04.206300 7f821d8d46c0 Level-0 table #294: 0 bytes OK
|
2026/05/25-23:08:42.305858 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK
|
||||||
2026/02/26-13:45:04.212252 7f821d8d46c0 Delete type=0 #292
|
2026/05/25-23:08:42.311644 7fe4c9ffb6c0 Delete type=0 #380
|
||||||
2026/02/26-13:45:04.225396 7f821d8d46c0 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/02/25-15:53:13.691886 7f821effd6c0 Recovering log #285
|
2026/05/25-23:06:37.876581 7fe4cbfff6c0 Recovering log #373
|
||||||
2026/02/25-15:53:13.751659 7f821effd6c0 Delete type=3 #283
|
2026/05/25-23:06:37.885990 7fe4cbfff6c0 Delete type=3 #371
|
||||||
2026/02/25-15:53:13.751724 7f821effd6c0 Delete type=0 #285
|
2026/05/25-23:06:37.886037 7fe4cbfff6c0 Delete type=0 #373
|
||||||
2026/02/25-15:53:35.823463 7f821d8d46c0 Level-0 table #290: started
|
2026/05/25-23:07:52.694183 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/02/25-15:53:35.823484 7f821d8d46c0 Level-0 table #290: 0 bytes OK
|
2026/05/25-23:07:52.694213 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/02/25-15:53:35.829592 7f821d8d46c0 Delete type=0 #288
|
2026/05/25-23:07:52.700676 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/02/25-15:53:35.836554 7f821d8d46c0 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-000228
|
MANIFEST-000312
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2026/02/26-13:35:49.774903 7f821ffff6c0 Recovering log #226
|
2026/05/25-23:08:24.638383 7fe4cb7fe6c0 Recovering log #310
|
||||||
2026/02/26-13:35:49.785514 7f821ffff6c0 Delete type=0 #226
|
2026/05/25-23:08:24.648627 7fe4cb7fe6c0 Delete type=3 #308
|
||||||
2026/02/26-13:35:49.785596 7f821ffff6c0 Delete type=3 #224
|
2026/05/25-23:08:24.648688 7fe4cb7fe6c0 Delete type=0 #310
|
||||||
2026/02/26-13:45:04.243562 7f821d8d46c0 Level-0 table #231: started
|
2026/05/25-23:08:42.324943 7fe4c9ffb6c0 Level-0 table #315: started
|
||||||
2026/02/26-13:45:04.243597 7f821d8d46c0 Level-0 table #231: 0 bytes OK
|
2026/05/25-23:08:42.324976 7fe4c9ffb6c0 Level-0 table #315: 0 bytes OK
|
||||||
2026/02/26-13:45:04.249861 7f821d8d46c0 Delete type=0 #229
|
2026/05/25-23:08:42.331359 7fe4c9ffb6c0 Delete type=0 #313
|
||||||
2026/02/26-13:45:04.250001 7f821d8d46c0 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/02/26-13:45:04.250031 7f821d8d46c0 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/02/25-15:53:13.932310 7f821ffff6c0 Recovering log #222
|
2026/05/25-23:06:37.927773 7fe4cb7fe6c0 Recovering log #306
|
||||||
2026/02/25-15:53:13.985670 7f821ffff6c0 Delete type=3 #220
|
2026/05/25-23:06:37.937509 7fe4cb7fe6c0 Delete type=3 #304
|
||||||
2026/02/25-15:53:13.985727 7f821ffff6c0 Delete type=0 #222
|
2026/05/25-23:06:37.937560 7fe4cb7fe6c0 Delete type=0 #306
|
||||||
2026/02/25-15:53:35.850326 7f821d8d46c0 Level-0 table #227: started
|
2026/05/25-23:07:52.707381 7fe4c9ffb6c0 Level-0 table #311: started
|
||||||
2026/02/25-15:53:35.850379 7f821d8d46c0 Level-0 table #227: 0 bytes OK
|
2026/05/25-23:07:52.707409 7fe4c9ffb6c0 Level-0 table #311: 0 bytes OK
|
||||||
2026/02/25-15:53:35.856311 7f821d8d46c0 Delete type=0 #225
|
2026/05/25-23:07:52.713201 7fe4c9ffb6c0 Delete type=0 #309
|
||||||
2026/02/25-15:53:35.863092 7f821d8d46c0 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/02/25-15:53:35.863120 7f821d8d46c0 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-000291
|
MANIFEST-000377
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/02/26-13:35:49.760218 7f821f7fe6c0 Recovering log #289
|
2026/05/25-23:08:24.625469 7fe4cbfff6c0 Recovering log #375
|
||||||
2026/02/26-13:35:49.771084 7f821f7fe6c0 Delete type=0 #289
|
2026/05/25-23:08:24.635881 7fe4cbfff6c0 Delete type=3 #373
|
||||||
2026/02/26-13:35:49.771134 7f821f7fe6c0 Delete type=3 #287
|
2026/05/25-23:08:24.635933 7fe4cbfff6c0 Delete type=0 #375
|
||||||
2026/02/26-13:45:04.225531 7f821d8d46c0 Level-0 table #294: started
|
2026/05/25-23:08:42.317961 7fe4c9ffb6c0 Level-0 table #380: started
|
||||||
2026/02/26-13:45:04.225558 7f821d8d46c0 Level-0 table #294: 0 bytes OK
|
2026/05/25-23:08:42.317972 7fe4c9ffb6c0 Level-0 table #380: 0 bytes OK
|
||||||
2026/02/26-13:45:04.231385 7f821d8d46c0 Delete type=0 #292
|
2026/05/25-23:08:42.324427 7fe4c9ffb6c0 Delete type=0 #378
|
||||||
2026/02/26-13:45:04.249963 7f821d8d46c0 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/02/25-15:53:13.876847 7f821e7fc6c0 Recovering log #285
|
2026/05/25-23:06:37.915238 7fe4ca7fc6c0 Recovering log #371
|
||||||
2026/02/25-15:53:13.930449 7f821e7fc6c0 Delete type=3 #283
|
2026/05/25-23:06:37.925308 7fe4ca7fc6c0 Delete type=3 #369
|
||||||
2026/02/25-15:53:13.930523 7f821e7fc6c0 Delete type=0 #285
|
2026/05/25-23:06:37.925365 7fe4ca7fc6c0 Delete type=0 #371
|
||||||
2026/02/25-15:53:35.829708 7f821d8d46c0 Level-0 table #290: started
|
2026/05/25-23:07:52.700870 7fe4c9ffb6c0 Level-0 table #376: started
|
||||||
2026/02/25-15:53:35.829729 7f821d8d46c0 Level-0 table #290: 0 bytes OK
|
2026/05/25-23:07:52.701331 7fe4c9ffb6c0 Level-0 table #376: 0 bytes OK
|
||||||
2026/02/25-15:53:35.836306 7f821d8d46c0 Delete type=0 #288
|
2026/05/25-23:07:52.707294 7fe4c9ffb6c0 Delete type=0 #374
|
||||||
2026/02/25-15:53:35.836570 7f821d8d46c0 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-000177
|
MANIFEST-000264
|
||||||
|
|||||||
+8
-8
@@ -1,8 +1,8 @@
|
|||||||
2026/02/26-13:35:49.748189 7f821e7fc6c0 Recovering log #175
|
2026/05/25-23:08:24.610750 7fe4ca7fc6c0 Recovering log #262
|
||||||
2026/02/26-13:35:49.757710 7f821e7fc6c0 Delete type=0 #175
|
2026/05/25-23:08:24.621300 7fe4ca7fc6c0 Delete type=3 #260
|
||||||
2026/02/26-13:35:49.757752 7f821e7fc6c0 Delete type=3 #173
|
2026/05/25-23:08:24.621336 7fe4ca7fc6c0 Delete type=0 #262
|
||||||
2026/02/26-13:45:04.218556 7f821d8d46c0 Level-0 table #180: started
|
2026/05/25-23:08:42.311679 7fe4c9ffb6c0 Level-0 table #267: started
|
||||||
2026/02/26-13:45:04.218583 7f821d8d46c0 Level-0 table #180: 0 bytes OK
|
2026/05/25-23:08:42.311691 7fe4c9ffb6c0 Level-0 table #267: 0 bytes OK
|
||||||
2026/02/26-13:45:04.225239 7f821d8d46c0 Delete type=0 #178
|
2026/05/25-23:08:42.317830 7fe4c9ffb6c0 Delete type=0 #265
|
||||||
2026/02/26-13:45:04.225420 7f821d8d46c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 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/02/26-13:45:04.225458 7f821d8d46c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
|
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)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2026/02/25-15:53:13.816260 7f821ffff6c0 Recovering log #171
|
2026/05/25-23:06:37.900889 7fe4caffd6c0 Recovering log #258
|
||||||
2026/02/25-15:53:13.873719 7f821ffff6c0 Delete type=3 #169
|
2026/05/25-23:06:37.911257 7fe4caffd6c0 Delete type=3 #256
|
||||||
2026/02/25-15:53:13.873802 7f821ffff6c0 Delete type=0 #171
|
2026/05/25-23:06:37.911321 7fe4caffd6c0 Delete type=0 #258
|
||||||
2026/02/25-15:53:35.810175 7f821d8d46c0 Level-0 table #176: started
|
2026/05/25-23:07:52.688262 7fe4c9ffb6c0 Level-0 table #263: started
|
||||||
2026/02/25-15:53:35.810225 7f821d8d46c0 Level-0 table #176: 0 bytes OK
|
2026/05/25-23:07:52.688293 7fe4c9ffb6c0 Level-0 table #263: 0 bytes OK
|
||||||
2026/02/25-15:53:35.817237 7f821d8d46c0 Delete type=0 #174
|
2026/05/25-23:07:52.694093 7fe4c9ffb6c0 Delete type=0 #261
|
||||||
2026/02/25-15:53:35.836504 7f821d8d46c0 Manual compaction at level-0 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 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/02/25-15:53:35.836580 7f821d8d46c0 Manual compaction at level-1 from '!scenes!DDibQQLAvyIq9y09' @ 72057594037927935 : 1 .. '!scenes!zvY1RwBhTfwdZIBa' @ 0 : 0; will stop at (end)
|
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)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
MANIFEST-000291
|
MANIFEST-000375
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
2026/02/26-13:35:49.707150 7f821ffff6c0 Recovering log #289
|
2026/05/25-23:08:24.571661 7fe4cb7fe6c0 Recovering log #373
|
||||||
2026/02/26-13:35:49.716871 7f821ffff6c0 Delete type=0 #289
|
2026/05/25-23:08:24.583242 7fe4cb7fe6c0 Delete type=3 #371
|
||||||
2026/02/26-13:35:49.716971 7f821ffff6c0 Delete type=3 #287
|
2026/05/25-23:08:24.583309 7fe4cb7fe6c0 Delete type=0 #373
|
||||||
2026/02/26-13:45:04.212361 7f821d8d46c0 Level-0 table #294: started
|
2026/05/25-23:08:42.299898 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/02/26-13:45:04.212394 7f821d8d46c0 Level-0 table #294: 0 bytes OK
|
2026/05/25-23:08:42.299954 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/02/26-13:45:04.218471 7f821d8d46c0 Delete type=0 #292
|
2026/05/25-23:08:42.305788 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/02/26-13:45:04.225409 7f821d8d46c0 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/02/25-15:53:13.612255 7f821ffff6c0 Recovering log #285
|
2026/05/25-23:06:37.865486 7fe4cbfff6c0 Recovering log #369
|
||||||
2026/02/25-15:53:13.689314 7f821ffff6c0 Delete type=3 #283
|
2026/05/25-23:06:37.874724 7fe4cbfff6c0 Delete type=3 #367
|
||||||
2026/02/25-15:53:13.689394 7f821ffff6c0 Delete type=0 #285
|
2026/05/25-23:06:37.874744 7fe4cbfff6c0 Delete type=0 #369
|
||||||
2026/02/25-15:53:35.836645 7f821d8d46c0 Level-0 table #290: started
|
2026/05/25-23:07:52.682178 7fe4c9ffb6c0 Level-0 table #374: started
|
||||||
2026/02/25-15:53:35.836668 7f821d8d46c0 Level-0 table #290: 0 bytes OK
|
2026/05/25-23:07:52.682203 7fe4c9ffb6c0 Level-0 table #374: 0 bytes OK
|
||||||
2026/02/25-15:53:35.843158 7f821d8d46c0 Delete type=0 #288
|
2026/05/25-23:07:52.688174 7fe4c9ffb6c0 Delete type=0 #372
|
||||||
2026/02/25-15:53:35.863066 7f821d8d46c0 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-000291
|
MANIFEST-000379
|
||||||
|
|||||||
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
2026/02/26-13:35:49.734045 7f821f7fe6c0 Recovering log #289
|
2026/05/25-23:08:24.598700 7fe4caffd6c0 Recovering log #377
|
||||||
2026/02/26-13:35:49.744259 7f821f7fe6c0 Delete type=0 #289
|
2026/05/25-23:08:24.608566 7fe4caffd6c0 Delete type=3 #375
|
||||||
2026/02/26-13:35:49.744317 7f821f7fe6c0 Delete type=3 #287
|
2026/05/25-23:08:24.608604 7fe4caffd6c0 Delete type=0 #377
|
||||||
2026/02/26-13:45:04.200106 7f821d8d46c0 Level-0 table #294: started
|
2026/05/25-23:08:42.331497 7fe4c9ffb6c0 Level-0 table #382: started
|
||||||
2026/02/26-13:45:04.200155 7f821d8d46c0 Level-0 table #294: 0 bytes OK
|
2026/05/25-23:08:42.331525 7fe4c9ffb6c0 Level-0 table #382: 0 bytes OK
|
||||||
2026/02/26-13:45:04.206134 7f821d8d46c0 Delete type=0 #292
|
2026/05/25-23:08:42.338312 7fe4c9ffb6c0 Delete type=0 #380
|
||||||
2026/02/26-13:45:04.225380 7f821d8d46c0 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/02/25-15:53:13.754329 7f821e7fc6c0 Recovering log #285
|
2026/05/25-23:06:37.888245 7fe4cb7fe6c0 Recovering log #373
|
||||||
2026/02/25-15:53:13.814025 7f821e7fc6c0 Delete type=3 #283
|
2026/05/25-23:06:37.898117 7fe4cb7fe6c0 Delete type=3 #371
|
||||||
2026/02/25-15:53:13.814092 7f821e7fc6c0 Delete type=0 #285
|
2026/05/25-23:06:37.898159 7fe4cb7fe6c0 Delete type=0 #373
|
||||||
2026/02/25-15:53:35.817353 7f821d8d46c0 Level-0 table #290: started
|
2026/05/25-23:07:52.675131 7fe4c9ffb6c0 Level-0 table #378: started
|
||||||
2026/02/25-15:53:35.817380 7f821d8d46c0 Level-0 table #290: 0 bytes OK
|
2026/05/25-23:07:52.675198 7fe4c9ffb6c0 Level-0 table #378: 0 bytes OK
|
||||||
2026/02/25-15:53:35.823347 7f821d8d46c0 Delete type=0 #288
|
2026/05/25-23:07:52.682088 7fe4c9ffb6c0 Delete type=0 #376
|
||||||
2026/02/25-15:53:35.836533 7f821d8d46c0 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;
|
||||||
|
|||||||
+15
-20
@@ -1,15 +1,23 @@
|
|||||||
// ============================================================
|
// ============================================================
|
||||||
// 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
|
||||||
|
.fvtt-ecryme .window-content {
|
||||||
input[type="text"],
|
input[type="text"],
|
||||||
input[type="number"],
|
input[type="number"],
|
||||||
select[type="text"] {
|
select[type="text"] {
|
||||||
@@ -22,9 +30,6 @@ select {
|
|||||||
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;
|
||||||
|
|||||||
+22
-2
@@ -100,8 +100,22 @@
|
|||||||
"license": "LICENSE.txt",
|
"license": "LICENSE.txt",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ecryme/raw/branch/master/system.json",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "11",
|
"minimum": "13",
|
||||||
"verified": "13"
|
"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",
|
||||||
@@ -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