diff --git a/assets/datas/creatures/animals.csv b/assets/datas/creatures/animals.csv new file mode 100644 index 0000000..e69de29 diff --git a/assets/datas/creatures/animals.json b/assets/datas/creatures/animals.json new file mode 100644 index 0000000..5eb038e --- /dev/null +++ b/assets/datas/creatures/animals.json @@ -0,0 +1,36 @@ +{ + "data": [ + { + "name":"Rat", + "level":1, + "size":"tiny", + "trait":"predateur", + "pow1":"", + "pow2":"" + }, + { + "name":"Souris", + "level":1, + "size":"tiny", + "trait":"craintif", + "pow1":"", + "pow2":"" + }, + { + "name":"Chat", + "level":1, + "size":"small", + "trait":"predateur", + "pow1":"", + "pow2":"" + }, + { + "name":"Chien", + "level":1, + "size":"medium", + "trait":"predateur", + "pow1":"Woof: Aboie tout le temps et casse les pieds", + "pow2":"Est-ce que ça se mange ?" + } + ] +} diff --git a/assets/datas/creatures/data.json b/assets/datas/creatures/data.json new file mode 100644 index 0000000..09dfb79 --- /dev/null +++ b/assets/datas/creatures/data.json @@ -0,0 +1,30 @@ +{ + "files": [ + {"title":"Animaux", "file":"animals.json"} + ], + "stats": [ + "tiny":{ + "boost1":["DIS", "FIN"], + "boost2":[], + "malus1":["PHY"], + "malus2":["AUR"], + "VIG":-1, "JET":1, "PSY":1 + } + ], + "traits": [ + "predateur":{"boost1":"PHY", "boost2":"INS", "malus":"FIN"}, + "craintif":{"boost1":"DIS", "boost2":"FIN", "malus":"REL"}, + "domestique":{"boost1":"REL", "boost2":"AUR", } + ], + + "levels": [ + {"base":40, "boost1":15, "boost2":5, "malus1":15, "malus2":10, "dice":2}, + {"base":50, "boost1":20, "boost2":10, "malus1":15, "malus2":10, "dice":2}, + {"base":50, "boost1":20, "boost2":10, "malus1":15, "malus2":10, "dice":2}, + {"base":60, "boost1":20, "boost2":10, "malus1":15, "malus2":10, "dice":2}, + {"base":70, "boost1":20, "boost2":10, "malus1":15, "malus2":10, "dice":2}, + ], + + "dices": ["1D2", "1D4", "1D6", "1D8", "1D12", "1D20"] + +} diff --git a/rules/erratum/lore/magies.md b/rules/erratum/lore/magies.md index fe57ae4..607bdf9 100644 --- a/rules/erratum/lore/magies.md +++ b/rules/erratum/lore/magies.md @@ -12,11 +12,11 @@ Les utilisateurs font un pacte avec certains nombres d'éléments qui pourront e |:--:|:--:|:--:| | Grands élémentaires | Commune | INT, HAB | -### Niveau 0 (pouvoir de base) +### Niveau 0 -| Pacte élémentaire | -|:---:| -| Obtient un élément principal (eau, feu, terre, air) qui devient l’élément principal de l’élémentariste, qui lui confère naturellement une résistance élémentaire (l’élément fait -50 % de dégâts). | +| Compétence | Pouvoir de base | +|:----|:---:| +| -
- | **Pacte élémentaire**
Obtient un élément principal (eau, feu, terre, air) qui devient l’élément principal de l’élémentariste, qui lui confère naturellement une résistance élémentaire (l’élément fait -50 % de dégâts). | ### Niveau 1 (1 xp) diff --git a/static/bestiaire.html b/static/bestiaire.html new file mode 100644 index 0000000..54d9463 --- /dev/null +++ b/static/bestiaire.html @@ -0,0 +1,226 @@ + + + + + + Rulebook + + + + + + + + + + + + + +
+ + +
+ +
+
+

Retour

+
+ + + + + + + + + + + + + + + + + + + +
NomPVPEFORCONHABINTSAGVOLCHADISRELPER
+
+ +
+ +
+
+ +
+ + + + + + diff --git a/static/bestiaire.js b/static/bestiaire.js new file mode 100644 index 0000000..5e6bc68 --- /dev/null +++ b/static/bestiaire.js @@ -0,0 +1,85 @@ +let data = { + "files": [ + {"title":"Animaux", "file":"animals.json"} + ], + "archetypes": { + "tiny":{ + "pv":10, "pe":20, + "FOR":30, "INT":50, "CHA":40, + "CON":20, "SAG":80, "DIS":80, + "HAB":90, "VOL":40, "REL":50, + "PER":50, + "PHY":0, "SPE":0, "MEN":0, + "VIG":-2, "JET":1, "PSY":1 + }, + "small":{ + "pv":15, "pe":20, + "FOR":40, "INT":50, "CHA":35, + "CON":30, "SAG":50, "DIS":70, + "HAB":80, "VOL":45, "REL":50, + "PER":50, + "VIG":0, "JET":0, "PSY":0 + }, + "medium":{ + "pv":35, "pe":20, + "FOR":50, "INT":40, "CHA":50, + "CON":40, "SAG":40, "DIS":50, + "HAB":60, "VOL":50, "REL":50, + "PER":50, + "VIG":1, "JET":0, "PSY":0 + }, + }, + "traits": { + "predateur":{"boost1":"PHY", "boost2":"INS", "malus":"FIN", "pv":0, "pe":0}, + "craintif":{"boost1":"DIS", "boost2":"FIN", "malus":"", "pv":10, "pe":-10}, + "domestique":{"boost1":"REL", "boost2":"AUR", "malus":"INS", "pv":-10, "pe":0} + }, + + "levels": [ + {"base":0, "min":10, "max":70, "boost1":15, "boost2":5, "malus":-15, "dice":2, "pv":1}, + {"base":10, "min":10, "max":70, "boost1":20, "boost2":10, "malus":-15, "dice":2, "pv":1.25}, + {"base":10, "min":10, "max":70, "boost1":20, "boost2":10, "malus":-15, "dice":3, "pv":1.5}, + {"base":20, "min":10, "max":70, "boost1":20, "boost2":10, "malus":-15, "dice":3, "pv":2}, + {"base":20, "min":10, "max":70, "boost1":20, "boost2":10, "malus":-15, "dice":3, "pv":3} + ], + + "dices": ["1D2", "1D4", "1D6", "1D8", "1D12", "1D20"] +} + +function getPV(level, size, trait) { + var levelData = getLevelData(level); + var sizeData = getSizeData(size); + var traitData = getTraitData(trait); + return Math.floor((sizeData.pv + traitData.pv) * levelData.pv); +} + +function getPE(level, size, trait) { + var levelData = getLevelData(level); + var sizeData = getSizeData(size); + var traitData = getTraitData(trait); + return Math.floor((sizeData.pe + traitData.pe) * levelData.pv); +} + +function getLevelData(level) { + var levelValue = Math.min(Math.max(0, level - 1), 4) + var allLevelsData = data["levels"] + return allLevelsData[levelValue] +} + +function getSizeData(size) { + var allSizeData = data["stats"] + return allSizeData[size] +} + +function getTraitData(trait) { + var allTraitsData = data["traits"] + return allTraitsData[trait] +} + + +function getStat(type, level, size, trait) { + var levelData = getLevelData(level); + var sizeData = getSizeData(size); + var traitData = getTraitData(trait); + return sizeData[type] + levelData.base; +} diff --git a/static/includes/_links.html b/static/includes/_links.html index c7706f7..8718da8 100644 --- a/static/includes/_links.html +++ b/static/includes/_links.html @@ -6,6 +6,8 @@ + +