Finalisation complète du système Vermine2047 pour FoundryVTT v14

Implémentations majeures:
- Classe GroupLink pour synchronisation bidirectionnelle acteurs↔groupes
- Configuration complète des totems, PNJ et créatures
- Redesign du RollDialog avec interface compacte et sélecteurs
- Bonus/malus par domaine de totem
- Réussites automatiques et seuils auto basés sur niveau de maîtrise
- Choix du totem à garder avec recalcul des réussites
- Conversion tous templates chat cards en .hbs
- Fiches PNJ et Créature avec sélecteurs pour tous les niveaux
- Documentation technique (ARCHITECTURE.md) et utilisateur (GUIDE_UTILISATEUR.md)
- Mise à jour system.json pour compatibilité v14
- Tous les TODOs du README.md complétés

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-06-04 11:46:40 +02:00
parent c35e93975b
commit 716c1b49ae
44 changed files with 4008 additions and 631 deletions
+136
View File
@@ -68,6 +68,142 @@ VERMINE.PackLevels = {
3: { "attack": 5, "damage": 5, "minorWound": 3, "majorWound": 3, "deadlyWound": 3 }
}
/**
* Domains of influence for each totem
* Each totem provides bonus to certain skill categories
*/
VERMINE.totemDomains = {
"human": {
"label": "TOTEMS.human.name",
"domains": ["man", "world"],
"bonus": +1,
"description": "Le totem humain favorise les compétences liées à l'humanité et au monde civilisé"
},
"predator": {
"label": "TOTEMS.predator.name",
"domains": ["animal", "survival"],
"bonus": +1,
"description": "Le totem prédateur favorise la chasse et la survie"
},
"scavenger": {
"label": "TOTEMS.scavenger.name",
"domains": ["tool", "world"],
"bonus": +1,
"description": "Le totem charognard favorise la récupération et l'utilisation d'outils"
},
"symbiote": {
"label": "TOTEMS.symbiote.name",
"domains": ["man", "social"],
"bonus": +1,
"description": "Le totem symbiote favorise les interactions sociales"
},
"parasite": {
"label": "TOTEMS.parasite.name",
"domains": ["animal", "survival"],
"bonus": +1,
"description": "Le totem parasite favorise la discrétion et la survie"
},
"builder": {
"label": "TOTEMS.builder.name",
"domains": ["tool", "world"],
"bonus": +1,
"description": "Le totem bâtisseur favorise la construction et la manipulation"
},
"horde": {
"label": "TOTEMS.horde.name",
"domains": ["animal", "survival"],
"bonus": +1,
"description": "Le totem horde favorise le combat en groupe"
},
"hive": {
"label": "TOTEMS.hive.name",
"domains": ["man", "social"],
"bonus": +1,
"description": "Le totem ruche favorise l'organisation collective"
},
"loner": {
"label": "TOTEMS.loner.name",
"domains": ["survival", "world"],
"bonus": +1,
"description": "Le totem solitaire favorise l'autonomie"
},
"adapted": {
"label": "TOTEMS.adapted.name",
"domains": ["animal", "survival"],
"bonus": +1,
"description": "Le totem adapté favorise l'adaptation à l'environnement"
}
}
/**
* NPC Threat Levels configuration
*/
VERMINE.npcThreatLevels = {
1: { "label": "THREAT_LEVELS.minor", "attack": 3, "vigor": 1, "minorWound": 1, "majorWound": 1, "deadlyWound": 1 },
2: { "label": "THREAT_LEVELS.serious", "attack": 4, "vigor": 2, "minorWound": 2, "majorWound": 1, "deadlyWound": 1 },
3: { "label": "THREAT_LEVELS.major", "attack": 5, "vigor": 3, "minorWound": 2, "majorWound": 1, "deadlyWound": 1 },
4: { "label": "THREAT_LEVELS.deadly", "attack": 6, "vigor": 4, "minorWound": 2, "majorWound": 2, "deadlyWound": 2 }
}
/**
* NPC Experience Levels configuration
*/
VERMINE.npcExperienceLevels = {
1: { "label": "SKILL_LEVELS.beginner", "action": 3, "specialties": 4, "rerolls": 0, "contact": "7" },
2: { "label": "SKILL_LEVELS.proficient", "action": 3, "specialties": 5, "rerolls": 0, "contact": "5 ou 7" },
3: { "label": "SKILL_LEVELS.expert", "action": 4, "specialties": 6, "rerolls": 1, "contact": "5,7 ou 9" },
4: { "label": "SKILL_LEVELS.master", "action": 4, "specialties": 6, "rerolls": 2, "contact": "3,5,7 ou 9" }
}
/**
* NPC Role Levels configuration
*/
VERMINE.npcRoleLevels = {
1: { "label": "ROLE_LEVELS.minor", "reaction": 3, "reaction_bonus": 0, "pools": 0, "gear": 9, "gear_hindrance": 0, "protection": 1 },
2: { "label": "ROLE_LEVELS.secondary", "reaction": 3, "reaction_bonus": 1, "pools": 1, "gear": 9, "gear_hindrance": 1, "protection": 2 },
3: { "label": "ROLE_LEVELS.important", "reaction": 3, "reaction_bonus": 2, "pools": 2, "gear": 9, "gear_hindrance": 2, "protection": 3 },
4: { "label": "ROLE_LEVELS.major", "reaction": 4, "reaction_bonus": 2, "pools": 4, "gear": 10, "gear_hindrance": 2, "protection": 3 }
}
/**
* Creature Pattern Levels configuration
*/
VERMINE.creaturePatternLevels = {
1: { "label": "PATTERN_LEVELS.insect", "attack": 2, "damage": 0, "minorWound": 0, "majorWound": 0, "deadlyWound": 1 },
2: { "label": "PATTERN_LEVELS.rat", "attack": 3, "damage": 1, "minorWound": 0, "majorWound": 1, "deadlyWound": 1 },
3: { "label": "PATTERN_LEVELS.dog", "attack": 4, "damage": 3, "minorWound": 1, "majorWound": 1, "deadlyWound": 1 },
4: { "label": "PATTERN_LEVELS.bear", "attack": 6, "damage": 6, "minorWound": 2, "majorWound": 2, "deadlyWound": 2 }
}
/**
* Creature Size Levels configuration
*/
VERMINE.creatureSizeLevels = {
1: { "attack": 2, "vigor": 1, "minorWound": 0, "majorWound": 0, "deadlyWound": 1 },
2: { "attack": 3, "vigor": 2, "minorWound": 0, "majorWound": 1, "deadlyWound": 1 },
3: { "attack": 4, "vigor": 3, "minorWound": 1, "majorWound": 1, "deadlyWound": 1 }
}
/**
* Creature Pack Levels configuration
*/
VERMINE.creaturePackLevels = {
0: { "attack": 0, "damage": 0, "minorWound": 0, "majorWound": 0, "deadlyWound": 0 },
1: { "attack": 1, "damage": 1, "minorWound": 0, "majorWound": 0, "deadlyWound": 1 },
2: { "attack": 2, "damage": 2, "minorWound": 2, "majorWound": 2, "deadlyWound": 2 },
3: { "attack": 5, "damage": 5, "minorWound": 3, "majorWound": 3, "deadlyWound": 3 }
}
/**
* Creature Role Levels configuration (same as NPC roles)
*/
VERMINE.creatureRoleLevels = {
1: { "label": "ROLE_LEVELS.minor", "reaction": 3, "reaction_bonus": 0, "pools": 0, "gear": 9, "gear_hindrance": 0, "protection": 1 },
2: { "label": "ROLE_LEVELS.secondary", "reaction": 3, "reaction_bonus": 1, "pools": 1, "gear": 9, "gear_hindrance": 1, "protection": 2 },
3: { "label": "ROLE_LEVELS.important", "reaction": 3, "reaction_bonus": 2, "pools": 2, "gear": 9, "gear_hindrance": 2, "protection": 3 },
4: { "label": "ROLE_LEVELS.major", "reaction": 4, "reaction_bonus": 2, "pools": 4, "gear": 10, "gear_hindrance": 2, "protection": 3 }
}
VERMINE.abilityCategories = {
"physical": {
"label": "VERMINE.ability_category.physical"