diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index d7ec31b..1723f59 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -577,6 +577,10 @@ module.exports = { title: "Création d'objet magique", path: '/creation-d-objet-magique/' }, + { + title: "Calculateur de caractéristiques", + path: '/calculateur-de-caracteristiques/' + }, ] }, {type: 'divider'}, diff --git a/docs/.vuepress/data/abilityScores.js b/docs/.vuepress/data/abilityScores.js index 590dfb1..12835ca 100644 --- a/docs/.vuepress/data/abilityScores.js +++ b/docs/.vuepress/data/abilityScores.js @@ -20,3 +20,9 @@ export const ABILITYSCORES = [ { text: 'Sagesse', value: 'sag' }, { text: 'Charisme', value: 'cha' }, ] + +export const POWERTIERS = [ + { text: 'Courageux', pointBuy: 19, standardArray: [14,12,12,10,10,8] }, + { text: 'Héroïque', pointBuy: 27, standardArray: [15,14,13,12,10,8] }, + { text: 'Légendaire', pointBuy: 36, standardArray: [16,15,13,12,12,10] } +] diff --git a/docs/.vuepress/data/races.js b/docs/.vuepress/data/races.js index b7b6b13..c70f9a9 100644 --- a/docs/.vuepress/data/races.js +++ b/docs/.vuepress/data/races.js @@ -6,5 +6,171 @@ export const races = [ { ability: 'cha', value: 2 } ], freeAbilityBonuses: { qty: 2, value: 1 } + }, + { + key: 'demi-orc', + label: 'Demi-orc', + abilityBonuses: [ + { ability: 'for', value: 2 }, + { ability: 'con', value: 1 } + ], + }, + { + key: 'elfe-d-aether', + label: "Elfe d'aether", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'int', value: 1 } + ] + }, + { + key: 'elfe-de-fer', + label: "Elfe de fer", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'cha', value: 1 } + ] + }, + { + key: 'elfe-des-sylves', + label: "Elfe des sylves", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'sag', value: 1 } + ] + }, + { + key: 'gnome-des-roches', + label: "Gnome des roches", + abilityBonuses: [ + { ability: 'int', value: 2 }, + { ability: 'con', value: 1 } + ] + }, + { + key: 'gnome-des-fees', + label: "Gnome des fées", + abilityBonuses: [ + { ability: 'int', value: 2 }, + { ability: 'dex', value: 1 } + ] + }, + { + key: 'gnome-des-lacs', + label: "Gnome des lacs", + abilityBonuses: [ + { ability: 'int', value: 2 }, + { ability: 'sag', value: 1 } + ] + }, + { + key: 'halfelin-pied-leger', + label: "Halfelin pied-léger", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'cha', value: 1 } + ] + }, + { + key: 'halfelin-grand-sabot', + label: "Halfelin grand-sabot", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'con', value: 1 } + ] + }, + { + key: 'humain', + label: "Humain", + abilityBonuses: [ + { ability: 'for', value: 1 }, + { ability: 'dex', value: 1 }, + { ability: 'con', value: 1 }, + { ability: 'int', value: 1 }, + { ability: 'sag', value: 1 }, + { ability: 'cha', value: 1 } + ] + }, + { + key: 'humain-variante-don', + label: "Humain (variante don)", + freeAbilityBonuses: { qty: 3, value: 1 } + }, + { + key: 'humain-variante-maitrises', + label: "Humain (variante maîtrises)", + freeAbilityBonuses: { qty: 4, value: 1 } + }, + { + key: 'nain-des-tertres', + label: "Nain des tertres", + abilityBonuses: [ + { ability: 'con', value: 2 }, + { ability: 'sag', value: 1 } + ] + }, + { + key: 'nain-des-pierres', + label: "Nain des pierres", + abilityBonuses: [ + { ability: 'con', value: 2 }, + { ability: 'int', value: 1 } + ] + }, + { + key: 'nain-des-laves', + label: "Nain des laves", + abilityBonuses: [ + { ability: 'con', value: 2 }, + { ability: 'for', value: 1 } + ] + }, + { + key: 'aasimar', + label: "Aasimar", + abilityBonuses: [ + { ability: 'cha', value: 2 }, + { ability: 'sag', value: 1 } + ] + }, + { + key: 'demi-ogre', + label: "Demi-ogre", + abilityBonuses: [ + { ability: 'for', value: 1 }, + { ability: 'con', value: 2 } + ] + }, + { + key: 'felys', + label: "Félys", + abilityBonuses: [ + { ability: 'dex', value: 2 }, + { ability: 'sag', value: 1 } + ] + }, + { + key: 'homme-serpent', + label: "Homme-serpent", + abilityBonuses: [ + { ability: 'sag', value: 2 }, + { ability: 'cha', value: 1 } + ] + }, + { + key: 'sangdragon', + label: "Sangdragon", + abilityBonuses: [ + { ability: 'for', value: 2 }, + { ability: 'cha', value: 1 } + ] + }, + { + key: 'tieffelin', + label: "Tieffelin", + abilityBonuses: [ + { ability: 'cha', value: 2 }, + { ability: 'int', value: 1 } + ] } ] diff --git a/docs/.vuepress/theme/components/AbilityCalculator.vue b/docs/.vuepress/theme/components/AbilityCalculator.vue index b6fc15e..967b786 100644 --- a/docs/.vuepress/theme/components/AbilityCalculator.vue +++ b/docs/.vuepress/theme/components/AbilityCalculator.vue @@ -1,38 +1,96 @@ - - + + + + mdi-eraser Réinitialiser + + + + + + + + + + + + + + + + + + + + + + + + + + + + Caractéristique + Base + + Bonus racial + + Total + Mod. + Coût + + + + + {{ ability.label }} + + + + + + + + + + {{ ability.racialBonus }} + = + {{ getTotal(ability) }} + {{ displayBonus(getModifier(getTotal(ability))) }} + {{ getAbilityScoreCost(ability) }} + + Points restants : {{ pointsRemaining }}/{{ powerTier.pointBuy }} + + + + + - - - - - - {{ ability.label }} - - + - {{ ability.racialBonus }} - = - - - diff --git a/docs/.vuepress/theme/components/Breadcrumb.vue b/docs/.vuepress/theme/components/Breadcrumb.vue index 74f0680..16e950a 100644 --- a/docs/.vuepress/theme/components/Breadcrumb.vue +++ b/docs/.vuepress/theme/components/Breadcrumb.vue @@ -53,6 +53,8 @@ crumbs.push({to: page.path, disabled: disabled, text: 'Création de sort'}) } else if (page.path == '/creation-de-monstre-pnj/') { crumbs.push({to: page.path, disabled: disabled, text: 'Création de monstre ou PNJ'}) + } else if (page.path == '/calculateur-de-caracteristiques/') { + crumbs.push({to: page.path, disabled: disabled, text: 'Calculateur de caractéristiques'}) } else { crumbs.push({to: page.path, disabled: disabled, text: page.frontmatter.breadcrumb || page.title}) } diff --git a/docs/.vuepress/theme/layouts/AbilityCalculatorLayout.vue b/docs/.vuepress/theme/layouts/AbilityCalculatorLayout.vue index 9c7828c..8058951 100644 --- a/docs/.vuepress/theme/layouts/AbilityCalculatorLayout.vue +++ b/docs/.vuepress/theme/layouts/AbilityCalculatorLayout.vue @@ -1,12 +1,17 @@ - + + + + +