diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..7528e74 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,32 @@ +kind: pipeline +name: production +when: + event: [ push ] + branch: [ main ] + +clone: + git: + image: plugins/git + pull: true + +steps: + - name: build + image: node:latest + commands: + - npm i + - npx @11ty/eleventy + + - name: deploy + image: drillster/drone-rsync + settings: + hosts: + from_secret: deploy_host + target: /var/www/erratum.kazhnuz.space + source: _site/* + user: + from_secret: deploy_user + key: + from_secret: deploy_key + when: + branch: main + delete: true diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a8fe7ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Generated files +package/generated* + +# Ignore installed npm modules +node_modules/ + +# Ignore build tool output, e.g. code coverage +.nyc_output/ +coverage/ + +# Ignore API documentation +api-docs/ + +# Ignore folders from source code editors +.vscode +.idea + +# Ignore eleventy output when doing manual tests +_site/ + +package-lock.json + +# Ignore test files +.cache +test/stubs-layout-cache/_includes/*.js \ No newline at end of file diff --git a/_data/metadata.js b/_data/metadata.js new file mode 100644 index 0000000..da78ea4 --- /dev/null +++ b/_data/metadata.js @@ -0,0 +1,11 @@ +module.exports = { + title: "Erratum", + url: "https://erratum.kazhnuz.space/", + language: "fr", + description: "Un petit JDR de fantasy urbaine", + author: { + name: "Kazhnuz", + email: "kazhnuz@kobold.cafe", + url: "https://kazhnuz.space/" + } +} diff --git a/_includes/layouts/base.njk b/_includes/layouts/base.njk new file mode 100644 index 0000000..5279e22 --- /dev/null +++ b/_includes/layouts/base.njk @@ -0,0 +1,15 @@ +--- +layout: layouts/parent.njk +--- +
+
+ {{ content | safe }} +
+
+ + diff --git a/_includes/layouts/home.njk b/_includes/layouts/home.njk new file mode 100644 index 0000000..b30f7c2 --- /dev/null +++ b/_includes/layouts/home.njk @@ -0,0 +1,8 @@ +--- +layout: layouts/parent.njk +--- +
+
+ {{ content | safe }} +
+
diff --git a/_includes/layouts/model.njk b/_includes/layouts/model.njk new file mode 100644 index 0000000..4213a1f --- /dev/null +++ b/_includes/layouts/model.njk @@ -0,0 +1,34 @@ +--- +layout: layouts/parent.njk +--- +
+ + +
+ {{ content | safe }} +
+
+ + diff --git a/_includes/layouts/parent.njk b/_includes/layouts/parent.njk new file mode 100644 index 0000000..7eb8ea4 --- /dev/null +++ b/_includes/layouts/parent.njk @@ -0,0 +1,54 @@ + + + + + + {{ title or metadata.title }} + + + {#- Atom and JSON feeds included by default #} + + + + + {#- Uncomment this if you’d like folks to know that you used Eleventy to build your site! #} + + + {%- css %}{% include "public/css/index.css" %}{% endcss %} + + + + + Skip to main content + +
+

+ {{ metadata.title }} +

+ + +
+
+ + + {{ content | safe }} +
+ + + + + + diff --git a/_includes/layouts/post.njk b/_includes/layouts/post.njk new file mode 100644 index 0000000..ad83414 --- /dev/null +++ b/_includes/layouts/post.njk @@ -0,0 +1,28 @@ +--- +layout: layouts/parent.njk +--- +{# Only include the syntax highlighter CSS on blog posts #} +{%- css %}{% include "node_modules/prismjs/themes/prism-okaidia.css" %}{% endcss %} +{%- css %}{% include "public/css/prism-diff.css" %}{%- endcss %} +

{{ title }}

+ + + +{{ content | safe }} + +{%- if collections.posts %} +{%- set previousPost = collections.posts | getPreviousCollectionItem %} +{%- set nextPost = collections.posts | getNextCollectionItem %} +{%- if nextPost or previousPost %} + +{%- endif %} +{%- endif %} diff --git a/_includes/postslist.njk b/_includes/postslist.njk new file mode 100644 index 0000000..99272c5 --- /dev/null +++ b/_includes/postslist.njk @@ -0,0 +1,9 @@ +{%- css %}.postlist { counter-reset: start-from {{ (postslistCounter or postslist.length) + 1 }} }{% endcss %} +
    +{% for post in postslist | reverse %} +
  1. + {% if post.data.title %}{{ post.data.title }}{% else %}{{ post.url }}{% endif %} + +
  2. +{% endfor %} +
diff --git a/_navbar.md b/_navbar.md deleted file mode 100644 index 849e54c..0000000 --- a/_navbar.md +++ /dev/null @@ -1,5 +0,0 @@ -* [Accueil](/ "Accueil") - -* [Changelog](/changelog.md "Changelog") - -* [Source](http://git.kobold.cafe/jdr/danseronce/) diff --git a/changelog.md b/changelog.md index 35daf32..7290e09 100644 --- a/changelog.md +++ b/changelog.md @@ -1,12 +1,18 @@ # Changelog -## 2.3.x - -### [2.3.1] - 2023-05-22 +## [2.3.1] - 2023-0?-?? - Séparation de DanseRonce en un JDR à part -#### Corrections +### Site web + +- Refonte du site web sous Eleventy + +### Ajouts + +- Ajout d'une page sur la bienveillance + +### Corrections - Remise de la Télékinésie, oubliée entre les versions - Fusion de l'onde psy et de l'echo psychique @@ -14,23 +20,22 @@ - La situation de crise a repris son bon nom ! - Petites corrections autour des Malédictions antiques - -### [2.3.0] - 2020-07-01 +## [2.3.0] - 2020-07-01 - Nouvelle adresse git -#### Corrections +### Corrections - [erratum/espace] Corrections de quelques confusions -#### Ajoutés +### Ajoutés - [organisation] Nouvelles sous-catégories (amélioration perso, objets). - [organisation] Ajout d'une page pour les campagnes - [organisation] Ajout d'une page pour l'exploration et les déplacement - [talents] Ajout de talents perspectif supplémentaire -#### Modifié +### Modifié - [organisation] Extraction en page à part des postures - [organisation] Extraction en page à part des confrontations sociales @@ -42,11 +47,9 @@ - [forme] Réécriture page création des personnages - [talent] Meilleurs organisation des talents -## 2.2.x +## [2.2.0] - 2020-03-01 -### [2.2.0] - 2020-03-01 - -#### Ajoutés +### Ajoutés - [core] Ajouts des septs malédictions antiques - [core] Ajout des pseudo-éléments @@ -58,26 +61,24 @@ - [core] Ajout explosions - [core] Ajout objets génériques -#### Modifié +### Modifié - [core] Séparation métaphysique et paradoxe - [core] Amélioration afflictions métaphysiques - [core] Rééquilibrage faiblesses élémentaires -## 2.1.x +## [2.1.1] - 2020-02-25 -### [2.1.1] - 2020-02-25 - -#### Ajoutés +### Ajoutés - [tout] Support emojis -#### Modifiés +### Modifiés - [tout] Nouveau style pour les informations annexes. - [coeur] Meilleurs titre afflictions. -#### Corrigés +### Corrigés - [erratum] Correction sceptre du cancer - [coeur] Correction erreur nom robe sacrée @@ -85,9 +86,9 @@ - [coeur] Ajout prix boucliers - [coeur] Réparation tableau bouclier niveau 3 -### [2.1.0] - 2020-02-23 +## [2.1.0] - 2020-02-23 -#### Ajouté +### Ajouté - [erratum] Rulebook Erratum - [meta] Site d'accueil directement dans les sources @@ -99,21 +100,19 @@ - [coeur] Ajout du niveau des armes - [coeur] Ajout de quelques objets -#### Modifié +### Modifié - [meta] Fusion de tout les rulebook en un seul site - [meta] Fusion des pages Anomie, Afflictions et jets spéciaux - [coeur] Refonte système de faiblesses élémentaires -#### Corrigés +### Corrigés - [coeur] Utilisation de la bonne description pour l'élément végétal - [coeur] Correction d'un ordre en chaos - [coeur] La rage à 25% d'attaquer les alliers, par les ennemis - [coeur] Desactivation du cache -## 2.0.x - -### [2.0.0] - 2020-01-07 +## [2.0.0] - 2020-01-07 Version initiale contenant tout l'équivalent de la version papier originelle. \ No newline at end of file diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..3126e0a --- /dev/null +++ b/content/about.md @@ -0,0 +1,25 @@ +--- +layout: layouts/home.njk +--- + +# À propos + +Ce site est un petit site de présentation de mon JDR {{ metadata.title }}. Il a pour but de vous présenter les différents éléments qui le composent, les différentes règles. + +Pourquoi cette page ? Et bien, faisant des parties de ma campagne DanseRonce avec mes amis, je me suis retrouvé comme beaucoup de MJ avec une situation qui peut être parfois casse-pied... Devoir gérer 300 versions du livre de règles différentes parce que le fichier .odt a été passé à plusieurs personnes, modifié sur le tas, etc. Étant particulièrement feinéant, j'ai commensé à me dire que toute possibilité de moins bosser étant la plus belle chose qui pouvait m'arriver. Du coup, voici le site du rulebook ! Un petit eleventy, quelques fichiers markdown sur des branches d'un dépot. + +Cette page vous donne accès au lore de l'univers et aux différents set de règle que j'ai fait pour mes différentes campagnes. + +## Infos de copyright + +Cet univers et ses JDRs associés sont mis à disposition selon les termes de la [licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/). Vous êtes libre d'utiliser cet univers, ainsi que les règles de jeux, comme base pour ce que vous voulez, à condition de repartager dans les mêmes conditions les contenus qui seraient basé sur cet univers. Il est à noter que cette licence ne couvre pas l'inspiration : vous pouvez vous inspirer de certains concepts ou idées sans que ce soit couvert par la licence, dans ce cas vous n'avez pas d'obligation d'utiliser la licence creative commons. + +( A noter qu'utiliser le contenu de ce site pour entrainer une AI n'est pas de l'inspiration #NoAI ) + +## Crédits + +- Site généré grâce à [Eleventy](11ty.org) +- Icone [Night-Sky](https://game-icons.net/1x1/lorc/night-sky.html) par [Lorc](https://lorcblog.blogspot.com/) sous [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) +- Icone [Pine-Tree](https://game-icons.net/1x1/lorc/pine-tree.html) par [Lorc](https://lorcblog.blogspot.com/) sous [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) +- Icone [Dead wood](https://game-icons.net/1x1/lorc/dead-wood.html) par [Lorc](https://lorcblog.blogspot.com/) sous [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/) +- Merci à Marcel Dupoignard et mon groupe de JDR pour de nombreux éléments de cet univers diff --git a/content/bienveillance.md b/content/bienveillance.md new file mode 100644 index 0000000..6e1dc06 --- /dev/null +++ b/content/bienveillance.md @@ -0,0 +1,69 @@ +--- +layout: layouts/home.njk +--- + +# Bienveillance + +Dans un JDR, vos joueur⋅euses mettront parfois beaucoup d'elleux-même, parfois de leur vécu, ou au contraire auront besoin de s'éloigner dudit vécu. Avoir une bienveillance envers les joueur⋅euses est important pour tout MJ, ainsi qu'avoir une bienveillance envers soi-même ! Bien utilisé, le JDR est un formidable outil pour gagner en confiance en soi, à la fois en tant que MJ et que joueur⋅euse. + +La règle numéro 1 est que vos joueurs sont des personnes, et que **votre groupe est plus important que le jeu**. + +Ce petite document à pour but de donner quelques éléments pouvant être utiles afin de rendre une partie de Pélican plus fun pour tout le monde. + +## Émotions et sujets difficiles + +Un JDR jouant un peu toujours sur les émotions de vos joueur⋅euses, en tant que MJ il y a toujours un risque, notamment si vous voulez parler de thématiques sérieuses dans votre JDR. Faites attention à bien connaitre les thématiques dont vous parlez, notamment avoir l'avis de concernés sur le sujets si vous ne l'êtes pas vous-même. De même, faites attentions à celles que vos joueur⋅euses pourraient aborder. Pour le handicap, notamment si vous voulez que cela affecte le gameplay, voyez avec un⋅e concernés si vous ne l'êtes pas, ni votre joueur⋅euse (dans ce dernier cas, demandez son avis sur son personnage). + +Vos joueur⋅euses auront forcément des sujets qui leur sont difficile. Essayez au possible d'être au courrant. Même si vous connaissez vos joueurs, *soyez au courant*, faites attention à ce qui peut leur poser soucis. Si vous ne les connaissez pas, n'hésitez pas à prendre connaissance de points qui pourraient être dur pour elleux, et adapter le JDR en conséquence. + +De plus vous pouvez mettre en oeuvre des outils (tels que la x-card décrites plus bas) afin de vous assurez de pouvoir éviter de ressortir des choses difficiles à un joueur. + +## Gestion de l'échec + +Le JDR permet d'expérimenter, de tenter des trucs, sans avoir de conséquence sur sa vrai vie. Cependant, faites attention à bien gérer l'échec de manière pertinente. "Perdre une campagne" de JDR est frustrant, à la fois pour les joueur⋅euses et vous, parce que vous perdez du coup tout le travail que vous avez mis dans cette campagne, et vos joueur⋅euse tout l'investissement (émotionnel et de temps) qu'iels ont mis. Gérer la difficulté doit alors être fait de manière pertinente pour votre groupe ET pour le type de jeu qu'iels veulent. + +Soyez sûr de mettre des échappatoires, ou juste des branchement quand c'est pertinent. Un groupe d'ennemi qui wipe l'équipe, ça peut être l'occasion de les faire se réveiller dans une prison, et une partie évasion, par exemple. Cela rendra en plus le jeu plus organique, plus intéressant même pour vous ! *Tout le monde y gagne*. + +De plus, évitez de rendre invisible une issue frustrante pour un personnage, du genre le jet de survie au milieu d'une salle parce que le salon de l'archiduchesse de MachinTruc contenait un poison invisible. Cela ne veut pas dire de ne pas mettre de piège, plus qu'il faut avoir une pertinence entre les actions et leur conséquences, ou en tout cas une pertience dans le type de jeu convenu avec vos joueurs. L'idée n'est pas de dire que "punir" est une mauvaise idée, juste que vous devez faire attention au groupe que vous avez face à vous, et voir si c'est adapté à ce groupe. + +De plus, éviter de créer des blocages plus tard. Par exemple, assurez vous de ne pas laisser perdre à jamais des indices importants qui bloqueraient vos joueur⋅euses plusieurs parties plus tard. + +## No-kill rule + +En combinant les deux éléments précédant, vous pouvez ajouter facilement une no-kill rule à Pélican si le besoin s'en fait sentir pour votre campagne. + +La règle devient simple : les personnages tombant en dessous des 0 PV restent KO, et pas de coma ou de mort sont possibles. Cette règle peut sécuriser les joueur⋅euses si besoin, évitant des risques de mettre dans une situation problématique un⋅e de vos joueur⋅euse si le sujet est difficile pour ellui, et de possible frustration en cas de gros critiques. + +## X-Card + +La X-Card est un [outil théorisé par John Stavropoulos](https://docs.google.com/document/d/1SB0jsx34bWHZWbnNIVVuMjhDkrdFGo1_hSC2BWPlI3A/edit#!) sous licence CC BY-SA 3.0, une simple carte avec un X dessus pouvant permettre à toute personne du jeu (vous compris !) de sortir toute situation avec lesquels les joueur⋅euses se sentiraient mal, **sans avoir d'explication à donner**. Lorsque la carte est posée, changez de sujet pour ramener ça à quelque chose d'autre. + +L'X-Card est un outil simple pour réparer les problèmes alors qu'ils arrivent. En effet, puisque comme les JDRs sont souvent en impro nous ne savons pas ce qui va arriver avant qu'ils arrivent, le risque existe toujours que le jeu aille dans une direction que vos joueur⋅euses ne voudraient pas. + +Pour l'utiliser, vous pouvez présenter la X-Card de la manière suivante (traduit du document originel) : + +> J'aimerais votre aide, pour rendre le jeu plus fun pour tout le monde. Si quoi que ce soit vous met mal à l'aise de toute manière que ce soit [desinne un X sur une carte], juste levez cette carte, ou tapotter là. [place la carte au centre de la table]. Vous n'avez pas besoin de vous expliquer. Pourquoi, ce n'est pas important. Quand nous levons ou tappons cette carte, nous retiront ce qui a été X-Cardé. Et s'il y a un soucis, n'importe qui peut demander une pause et on peut en parler en privé. Je sais que cela peut sembler étrange, mais cela nous permettra de jouer des jeux géniaux touts ensemble, et généralement je suis celui qui utilise la x-card pour prendre soin de moi-même. S'ils vous plait, n'hésitez pas à aider à rendre ce jeu fun pour tout le monde. Merci à tou⋅te⋅s ! + +### Quelques notes sur la X-Card + +Le document contient aussi quelques notes sur la X-Card, retranscrises et traduites ici : + +- Le speech d'introduction est parfois plus important que la carte elle-même. Il rend clair qu'on est tous dans ce jeu ensemble, et que l'on va s'aider, et que **le groupe qui joue est plus important que le jeu**. + +- Utilisez la carte tôt, voir même sur vous-même, pour mener par l'exemple, et modéliser le comportement. + +- La X-Card n'a pas besoin d'être un outil de dernier recours. Le moins ça parait "spécial", le plus vous l'utilisez, le plus il y a de chance que quelqu'un l'utilise quand cela devient urgent. + +- La X-Card ne remplace pas les conversations ! Si vous préférez parler d'un sujet plutôt que d'utiliser la X-Card, faisez-le. Ce n'est pas parce que la X-Card est disponible qu'elle doit être utilisée. Mais quand elle est utilisée, respectez la personne qui l'utilise et ne demandez pas pourquoi ni ne lancez de conversation à propos du soucis. + +- La X-Card est un filet de sécurité, mais tout le monde ne se sentira pas à l'aise à l'utiliser. Si un⋅e joueur⋅euse à un soucis avec le jeu et veut vous en parlez, **écoutez**. Ce n'est PAS okay de dire "mais tu n'as pas utilisé à X-Card" comme une défense. N'utilisez pas la X-Card comme attaque envers vos joueurs. Ecoutez et parlez. + +- Si vous n'êtes pas sur de ce qui s'est fait X-Cardé, demandez une pause avec la personne en privée. + +- N'utilisez pas la X-Card comme excuse pour pousser les limites. Ce n'est pas un safeword. + +- Certain⋅e⋅s MJ (généralement n'ayant pas utilisé la X-Card) ont peur que la X-Card va limité leur créativité. D'autres MJ qui l'ont utilisé pense le contraire. Puisque læ MJ n'a pas à être télépathe, cela libère son énergie pour se concentrer sur d'autres aspect de la masterisation. + +- La X-Card n'est pas une excuse pour tenter de revenir au jeu aussi vite que possible. Les gens sont plus important que le jeu. S'il y a besoin de prendre une pause, prenez une pause. + +- La X-Card ne sert pas forcément que pour les triggers et les PTSDs, et peut-être dans des situations qui n'ont rien à voir ! diff --git a/content/classes/experience.md b/content/classes/experience.md new file mode 100644 index 0000000..2d84685 --- /dev/null +++ b/content/classes/experience.md @@ -0,0 +1,26 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: L'expérience + parent: Classes et experiences + order: 1 +--- + +# L'expérience + +L'amélioration des personnages en court de campagne se fait à partir de deux statistiques : le prestige et l'expérience. L'expérience représente les faits accompli le personnage, et le prestige à quel point il s'est distingué. + +Les personnages peuvent gagner entre 3 et 6 points d’XP et/ou de prestige dans une partie normale. + +L'expérience peut être utilisé pour améliorer les différentes stats, les niveaux, etc. Il est conseillé pour les niveaux d’utiliser la liste des nombres premiers comme source possible. + +Exemples d'amélioration possible : + +| Type | Augmentations | +|:----:|:--------------| +| **Amélioration de classe** | Suite des nombres premiers suivant le niveau de difficulté. Lorsque double-classage, on peut au choix du MJ incrémenter de 1 dans la liste (on commence à 2 au lieu de 1, etc). | +| **Augmentation de statistique** | De 000 à 100 : 1 Exp → 5
De 100 à 200 : 3 Exp → 5 | +| **Augmentation de compétences** | +10 et +20 : 1 Exp → 10
+30 et +50 : 2 Exp → 10
+50 : 3 Exp → 10 | +| **Agumentations de PV/PE**| 1 xp -> 3 points à répartir PV/PE | +| **Acquisition de talent** | 3 Exp le talent | +| **Acquisition de potentiel** | 4 Exp le potentiel | diff --git a/content/classes/index.md b/content/classes/index.md new file mode 100644 index 0000000..c624910 --- /dev/null +++ b/content/classes/index.md @@ -0,0 +1,18 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Classes et experiences + order: 2 +--- + +# Classes et experiences + +Les personnages peuvent évoluer dans Erratum suivant un concept de classes se voulant offrir des possibilités riches et diversifiés. En effet, les classes y existent en plusieurs types, et offrent des possibilités différentes suivant si votre personnage à dans son lore des pouvoirs magiques ou non. + +Les classes utilisent [l'expérience](experience/) pour évoluer, offrant des capacités de plus en plus puissantes. De plus, l'évolution et l'accès aux différents pouvoirs peut se produire de manière RP de plusieurs manières. + +## Différents types de classes + +- [Les signes](signes/) sont des pouvoirs magiques naturels qui s'acquierts ou apparaissent dans une petite partie de la population. +- [Les magies](magies/) sont des disciplines magiques plus ou moins accessibles aux personnages, offrant chacune une mécanique qui lui est propre. +- [Les talents](talents/) sont des pouvoirs communs, accessibles à tous suivant leurs personnalités. \ No newline at end of file diff --git a/lore/magies.md b/content/classes/magies.md similarity index 99% rename from lore/magies.md rename to content/classes/magies.md index 1721a5f..53a88ca 100644 --- a/lore/magies.md +++ b/content/classes/magies.md @@ -1,4 +1,12 @@ -# Magies +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les magies + parent: Classes et experiences + order: 3 +--- + +# Les magies En plus de la magie naturelle des signes, les êtres vivants peuvent apprendre un certains nombres de techniques magiques. diff --git a/lore/signes.md b/content/classes/signes.md similarity index 99% rename from lore/signes.md rename to content/classes/signes.md index ad9d1ae..7357e10 100644 --- a/lore/signes.md +++ b/content/classes/signes.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les signes + parent: Classes et experiences + order: 2 +--- + # Les signes Les « signes » sont le nom donné à une magie naturelle qui apparaît chez environs 0.7 % de la population mondiale. Cette magie est rare, et les signés ont toujours eu la possibilité d’avoir une influence non-nulle sur les événements de par cette magie. Il est toujours inconnu de si le signe est inné ou acquis, mais il se déclenche de manière incontrôlable à un moment de la vie. diff --git a/personnages/niveaux.md b/content/classes/talents.md similarity index 70% rename from personnages/niveaux.md rename to content/classes/talents.md index ec68eaa..a705311 100644 --- a/personnages/niveaux.md +++ b/content/classes/talents.md @@ -1,25 +1,14 @@ -# L'expérience. - -L'amélioration des personnages en court de campagne se fait à partir de deux statistiques : le prestige et l'expérience. L'expérience représente les faits accompli le personnage, et le prestige à quel point il s'est distingué. - -Les personnages peuvent gagner entre 3 et 6 points d’XP et/ou de prestige dans une partie normale. - -L'expérience peut être utilisé pour améliorer les différentes stats, les niveaux, etc. Il est conseillé pour les niveaux d’utiliser la liste des nombres premiers comme source possible. - -Exemples d'amélioration possible : - -| Type | Augmentations | -|:----:|:--------------| -| **Amélioration de classe** | Suite des nombres premiers suivant le niveau de difficulté. Lorsque double-classage, on peut au choix du MJ incrémenter de 1 dans la liste (on commence à 2 au lieu de 1, etc). | -| **Augmentation de statistique** | De 000 à 100 : 1 Exp → 5
De 100 à 200 : 3 Exp → 5 | -| **Augmentation de compétences** | +10 et +20 : 1 Exp → 10
+30 et +50 : 2 Exp → 10
+50 : 3 Exp → 10 | -| **Agumentations de PV/PE**| 1 xp -> 3 points à répartir PV/PE | -| **Acquisition de talent** | 3 Exp le talent | -| **Acquisition de potentiel** | 4 Exp le potentiel | +--- +layout: layouts/base.njk +eleventyNavigation: + key: Talents + parent: Classes et experiences + order: 4 +--- ## Talents -Les talents sont des compétences ou traits que peut apprendre les personnages, en dehors de tout système de classes utilisés par les JDR. Ils représentent des capacités plus génériques, utilisables dans des JDR différents les uns des autres, et ne sont donc pas des formes de "magies", mais plus des représentations de ce que le personnage peut faire. +Les talents sont des compétences ou traits que peut apprendre les personnages, en dehors de tout système de classes utilisés par les JDR. Ils représentent des capacités plus génériques, hors spécialisations, et ne sont donc pas des formes de "magies", mais plus des représentations de ce que le personnage peut faire. Apprendre un talent coûte 3 points d'expériences, et le personnage ne peut apprendre ses compétence que dans un de ses "points forts" (statistiques améliorées par les principes de personnalités). diff --git a/add-ons/afflictions.md b/content/combats/afflictions.md similarity index 99% rename from add-ons/afflictions.md rename to content/combats/afflictions.md index ebb9d85..bc85bc9 100644 --- a/add-ons/afflictions.md +++ b/content/combats/afflictions.md @@ -1,4 +1,12 @@ -# Afflictions et effets +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les afflictions + parent: Système de combat + order: 4 +--- + +# Les afflictions En combat ou non, différents effets peuvent influencer votre personnages, à la fois sa manière de fonctionner, les actions qui lui seront possibles, etc. diff --git a/combats/attacc.md b/content/combats/attacc.md similarity index 97% rename from combats/attacc.md rename to content/combats/attacc.md index fbf32da..f2740ef 100644 --- a/combats/attacc.md +++ b/content/combats/attacc.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Actions de combat + parent: Système de combat + order: 2 +--- + # Déroulement d'une attaque Dans une confrontation, des personnages tapent sur d'autres, que ce soit en terme physique, moral ou social. Le but de cette page est de présenter un peu le fonctionnement d'un combat. diff --git a/add-ons/elements.md b/content/combats/elements.md similarity index 98% rename from add-ons/elements.md rename to content/combats/elements.md index 433e7ba..c2a06b0 100644 --- a/add-ons/elements.md +++ b/content/combats/elements.md @@ -1,4 +1,12 @@ -# Les éléments et leurs effets +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les éléments + parent: Système de combat + order: 5 +--- + +# Les éléments Il peut être également intéressant d’ajouter des effets élémentaires aux différentes capacités. DanseRonce propose un système de huit éléments « physiques » qui plus qu’un système de défense/résistance offrent un système « d’effet spéciaux ». Ces effets peuvent également se lier aux effets de terrains pour créer des faiblesses et résistances. diff --git a/content/combats/index.md b/content/combats/index.md new file mode 100644 index 0000000..d4548c1 --- /dev/null +++ b/content/combats/index.md @@ -0,0 +1,21 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Système de combat + order: 3 +--- + +# Système de combat + +Le système de Combat d'Erratum est un système de combat ayant pour but d'offrir aux joueurs de nombreux manières d’appréhender un problème, suivant leur personnage et leurs objectifs. Il est possible de taper à la fois sur l’esprit où sur les PVs. + +Les combats peuvent être plus ou moins différents suivant les ennemis, également. En effet, les ennemis peuvent se différencier sur plus que leurs statistiques et leurs capacités/compétences. D'autres éléments qui peuvent différencier les ennemis peuvent être la manière de se battre, etc. C’est pour cela qu’il est essentiel avant de lancer un combat pour le MJ de définir les conditions de victoire et d’échec du combat (mais pas forcément de les dire aux joueurs…) + +## Pages de la catégorie + +- [Organisation d'un combat](organisation/) - Présente l'organisation globale d'un combat et d'un tour +- [Déroulement d'une attaque](attacc/) - Présente le déroulement d'une attaque et d'une action +- [Postures de combat](postures/) - Présente les différentes postures que vous pouvez avoir en combat +- [Vitalité](vitalite/) - Présente le fonctionnements des dégats +- [Les afflictions](afflictions/) - Présente les différentes afflictions (et effets) pouvant toucher votre perso +- [Les éléments](elements/) - Présente les effets des différents éléments \ No newline at end of file diff --git a/combats/presentation.md b/content/combats/organisation.md similarity index 84% rename from combats/presentation.md rename to content/combats/organisation.md index 0781891..6d2bd2d 100644 --- a/combats/presentation.md +++ b/content/combats/organisation.md @@ -1,11 +1,14 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Organisation + parent: Système de combat + order: 0 +--- + + # Organisation d'un combat -Le système de Combat de DanseRonce est un système de combat ayant pour but d'offrir aux joueurs de nombreux manières d’appréhender un problème, suivant leur personnage et leurs objectifs. Il est possible de taper à la fois sur l’esprit où sur les PVs. - -Les combats peuvent être plus ou moins différents suivant les ennemis, également. En effet, les ennemis peuvent se différencier sur plus que leurs statistiques et leurs capacités/compétences. D'autres éléments qui peuvent différencier les ennemis peuvent être la manière de se battre, etc. C’est pour cela qu’il est essentiel avant de lancer un combat pour le MJ de définir les conditions de victoire et d’échec du combat (mais pas forcément de les dire aux joueurs…) - -Cependant, les combats gardent une structure avec une organisation assez similaire. - ## Début du combat Lorsque le combat commence, tout les personnages présent durant le combat font un *jet d'initiative* pour connaître leur place dans le combat, en utilisant leur statistique d'HAB. L'organisation des tours des personnages est fait avec une [comparaison](bases/D100.md) des résultats. *Aucune compétence n'agit sur le jet d'initiative*, mais certains traits peuvent le faire, ainsi que des effets tels que toujours premiers. diff --git a/combats/postures.md b/content/combats/postures.md similarity index 89% rename from combats/postures.md rename to content/combats/postures.md index 6b92c35..cc2d53d 100644 --- a/combats/postures.md +++ b/content/combats/postures.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Postures + parent: Système de combat + order: 3 +--- + # Postures de combat En combat où en action, les personnages peuvent adopter une des quatre postures (correspondant à quatres visions possible d’un personnage : DPS, Tank, Healer et Trickster). Chaque posture possède également une version améliorée. C’est au MJ et au créateur du jeu de décider quand les joueurs obtiennent les postures. En utilisant un système de compétence par arbre, le niveau 2 semble un bon moment pour l’acquisition des postures. Changer de posture désactive l’ancienne posture et reste active jusqu’à être désactivée et ne peut être changé qu’une fois par tour, avant action. diff --git a/personnages/vitalite.md b/content/combats/vitalite.md similarity index 96% rename from personnages/vitalite.md rename to content/combats/vitalite.md index be7e476..112cae3 100644 --- a/personnages/vitalite.md +++ b/content/combats/vitalite.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Dégats et mort + parent: Système de combat + order: 3 +--- + # Dégats et mort Les personnages peuvent se prendre des dégats de plusieurs manière, ce qui peut aller parfois très mal. Nous allons traiter de tout cela dans cette page. diff --git a/content/index.md b/content/index.md new file mode 100644 index 0000000..d78dbbd --- /dev/null +++ b/content/index.md @@ -0,0 +1,24 @@ +--- +layout: layouts/home.njk +--- +# DanseRonce + +DanseRonce est un JDR de fantasy urbaine basé sur mon univers Erratum, une terre alternative contemporaine ou la magie a été révélée à tous, et ou une partie de la population est capable d'utiliser des pouvoirs étranges nommés les "signes". Il se déroule principalement dans un pensionnat pour "enfant étrange", abritant des enfants et adolescents différents de la normes sur bien des points. Vous pouvez y jouer des élèves ou des surveillants, et y vivre des aventures palpitantes. Cependant attention, des gens s'intéressent aux différentes puissantes qui peuvent exister dans l'univers. + +Ce JDR est basé sur un système D100 homebrew (une version antérieur de mon système pélican), et vise à être plus orienté RP que de l'utilisation de règle très complexe. + +Cette page à pour objectif de vous présenter à la fois l'univers et comment il interragit avec le système. Ce JDR est fourni par [Kazhnuz](https://kazhnuz.space), avec certaines règles reprise du système de [MDupoignard](https://twitter.com/MDupoignard). Il est distribué sous la Creative Commons CC-BY-SA 4.0. + +Ce site est généré par [Docsify](https://docsify.now.sh/). + +## Avant propos + +> « On m’a toujours dit que croire aux monstres était un truc d’enfant. Que ça devait partir une fois qu’on atteignait l’âge adulte. Autour de moi, je ne vois que des adultes qui croient au monstre, Et je suis un enfant seul qui n’y croit pas. » +> ??? – Auteur inconnu – Date inconnue + +Depuis des temps immémoriaux, deux « mondes » existent, que tout oppose, mais qui doivent partager la même planète. Le monde « réel », de la rationalité, de la science. Le monde de l'imprévu, du mystérieux et de la magie. En effet, environs 3% de la population mondiale est capable de pratiquer à l'aide de force occultes la « magie », et 0.7% est même capable d'en faire d'eux même, à l'aide d'un mystérieux pouvoir nommé les « douzes signes ». Des créatures magiques vivent cachés dans le monde, éloignées de tous. + +Ce monde est resté caché pendant des siècles, alors que la plus grande partie de la population cessait petit-à-petit d'y croire. Cependant, en Mai 1943, le célèbre mage Merlin à décidé de révéler le monde et les créatures magiques face aux horreurs de la seconde guerre mondiale. Il estimait que face à de tels massacres, les mages n'avaient pas le droit de cacher leur pouvoir. Cependant, si les horreurs de la seconde guerre mondiale, une telle découverte déséquilibra entièrement le monde. Pays magiques et non-magiques se disputèrent territoires et se firent une longue guerre de 9 ans, jusqu'à ce qu'en 1951 c'est une toute nouvelle face qu'avait la terre à la fin de ces batailles. + +Depuis, le monde semble s'être stabilisé. Practiciens de la magie et non-practiciens vivent chacun de leur côté, se connaissant mais minimisant les véritables interactions. L'OIM et les Gardiens s'occupent de s'assurer que la magie n'est pas utilisée à tors, et à combattre les "forces du mal". Cependant, bien des conflits larvés existent et pourraient recommencer… Et quels secrets cachent encore ce monde, hors de la vue même des magiciens ? » + diff --git a/combats/equipements.md b/content/inventaire/equipements.md similarity index 81% rename from combats/equipements.md rename to content/inventaire/equipements.md index fde0f93..0b3c76e 100644 --- a/combats/equipements.md +++ b/content/inventaire/equipements.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Équipements + parent: Inventaire + order: 2 +--- + # Equipements ## Armes de bases @@ -459,4 +467,60 @@ Toutes les tenues avec des effets particuliers. -[equipement](../modules/equipements.md ':include') +## Equipement de signes + +> [!NOTE] +> Les armes de signes se débloquent à partir du niveau 4 d'armes/equipement. + +### Arcane de la guérison + +| Signe | Equipement | Type | Effet | Prix | +|:-:|:---------:|:-----:|:-----:|:----:| +| :virgo: | Robe de vierge | Armure | Armure lourde mentale pour les vierges | Prix de base + Niveau x 50 | +| :virgo: | Médaillon de la vierge | Accessoire | Fait un jet de soin mental ou physique (tiré au hasard) à 1D4 par tour sur un compagnon (au hasard) de la vierge | 1250 | +| :cancer: | Sceptre du cancer (2) | Baguette | Fait un soin négatif et un soin de base avec ce septre de soin à deux personnage (un par type), mais dont la puissance totale est divisée par deux | Prix de base + Niveau x 50 | +| :cancer: | Masque de médecin du cancer | Accessoire | Permet sur un jet d'intelligence de faire un diagnostique total des afflictions physique, mentales et magiques d'un PJ ou PNJ | 1700 | +| :libra: | Pendule de la Balance | Baton | Sceptre de soin doublant les effets du soin, mais la moitié du soin se produit en dégat sur le perso soignant | Prix de base + Niveau x 50 | +| :libra: | Bourse de la Balance | Accessoire | Augmente de 20% les gains du quart le plus faible de gains du groupe dans lequel la balance se trouve | 1250 | + +### Arcane de la force + +| Signe | Équipement | Type | Effet | Prix | +|:-:|:---------:|:-----:|:-----:|:----:| +| :scorpius: | Dague du scorpion | Arme | Une dague apportant +25% pour les empoisonnement passifs du scorpion | Prix de base + Niveau x 50 | +| :scorpius: | Lance seringue | Arme | Un lance projectile, faisant 0 dégat mais permettant d'empoisonner à distance avec un jet d'empoissement. | 1100 | +| :leo: | Fourreau de lion | Accessoire | Rend une arme impossible à perdre | 1250 | +| :leo: | Casque de lion | Accessoire | +20 en CHA & VOL, utilisable par les lions. | 1250 | +| :sagittarius: | Arc de sagittaire | Arme | Un arc utilisable par les saggitaire | Prix de base + Niveau x 50 | +| :sagittarius: | Chaussure du sagittaire | Accessoire | Permet un deuxième déplacement par tour | 1250 | + +### Arcane de la protection + +| Signe | Equipement | Type | Effet | Prix | +|:--:|:---------:|:-----:|:-----:|:----:| +| :aries: | Armure du bélier | Armure | Une armure semi-lourde, mais qui apporte +(Niveau) armure à tout les personnages alliés du bélier en combat | Prix de base + Niveau x 50 | +| :aries: | Baguette du bélier | Baguette | Une baguette de base pour bélier, agissant sur *la réputation du groupe lors d'un duel social* | Prix de base + Niveau x 50 | +| :taurus: | Bouclier du taureau | Bouclier | Un pavois permettant d'attaquer | Prix de base + Niveau x 50 | +| :taurus: | Tunique du taureau | Armure | Armure semi-lourde sans les inconvéniant | Prix de base + Niveau x 50 | +| :aquarius: | Montre du verseau | Accessoire | Permet de faire une action limitée une deuxième fois | 1400 | +| :aquarius: | Gemme du verseau | Objet consommable | Permet de lancer trois simulation d'une action pour en connaître les effets | 1650 | + +### Arcane de la malice + +| Signe | Equipement | Type | Effet | Prix | +|:-:|:---------:|:-----:|:-----:|:----:| +| :gemini: | Chaînes des gémeaux | Accessoire (x2) | Un accessoire en deux parties se mettant sur deux personnages, qui pourront se TP l'un à l'autre comme des gémeux | 1250 | +| :gemini: | Diadème des gémeaux | Accessoire | Amplifie la télépathie du gémeau, la rendant illimité en terme de nombre de personne et distance | 1500 | +| :capricorn: | Masque du capricorne | Accessoire | Rend insensible à la manipulation des émotions | 1350 | +| :capricorn: | Crayon du capricorne | Accessoire | Peut diffuser une émotion sur un espace entier, enchantant cet espace pour produire cette émotion | 1500 | +| :pisces: | Balle du poisson | Accessoire | Peut fuir automatiquement les combats, sans conditions et même dans un espace fermé | 1250 | +| :pisces: | Dague du poisson | Arme | Un couteau de base niveau 1, mais qui peut donner l'impression d'être n'importe quelle arme | 1200 | + +## Reliques + +### Accessoires + +| Accessoires | Effet | Prix | +|:---------:|:------|:----:| +| Toge Ancienne de Cultiste | Boost de SAG + 10% de résistance mentale à la métaphysique | 1000 | +| Toge Ancienne de Frontière | Boost de INT + 10% de métaphysique | 1000 | diff --git a/content/inventaire/index.md b/content/inventaire/index.md new file mode 100644 index 0000000..a1101fd --- /dev/null +++ b/content/inventaire/index.md @@ -0,0 +1,16 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Inventaire + order: 4 +--- + +# Inventaire + +De nombreux objets pourront aider vos personnages durant votre aventure. Ces objets peuvent être soit des consommables, soit des équipements, soit d'autres types d'entités pouvant avoir un effet plus ou moins particulier sur votre personnage, son entourage, les ennemis, etc. + +## Pages dans cette catégories + +- [Objets](objets/) - Présente les objets consommables +- [Équipements](equipements/) - Présente les différents équipements (armes, boucliers, armures, etc) que vous pourrez porter +- [Véhicules](vehicules/) - Présente les différents véhicules que vous pourrez conduire ou utiliser durant votre aventure \ No newline at end of file diff --git a/add-ons/objets.md b/content/inventaire/objets.md similarity index 95% rename from add-ons/objets.md rename to content/inventaire/objets.md index 78496fd..b52e743 100644 --- a/add-ons/objets.md +++ b/content/inventaire/objets.md @@ -1,9 +1,17 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Objets + parent: Inventaire + order: 2 +--- + # Objets et consommables ## Potions | Potion | Effet | -|:------:|:-----:| +|:------:|:------| | Potion de soin légère | Permet de regagner 6PV | | Potion de soin avancé | Permet de regagner 12PV | | Potion de vigueur | Augmente de 10 % les stats physique pendant trois tour | @@ -71,6 +79,7 @@ Les runes sont des petites pierres gravée de la rune, qui permette d'activer un | Essence d'espèce | Change l'espèce d'un personnage trois tours | Introuvable sur le marché | | Bombes élémentaires | Provoque une explosion de 12 dégats (sur trois ennemis proches) avec effet élémentaire | 250 | | Cristal de téléportation | Ramène au début d'un donjon où d'un endroit | 400 | +| Fragment de signe | Rajoute le pouvoir d'un signe trois tours | Introuvable sur le marché | ## Objets parjures @@ -79,5 +88,3 @@ Les runes sont des petites pierres gravée de la rune, qui permette d'activer un | Carnet de la mort | Réussite automatique au prochain jet de survie, le suivant cependant échouera | 1500 | | Dés pipés | Annule un échec critique, mais la réussite critique suivante sera un échec critique | 1500 | | Herbes démoniaques | Transforme une potion à effet positif en potion satanique : augmente ses effets, mais provoque un jet de panique | 200 | - -[equipement](../modules/objets.md ':include') diff --git a/add-ons/vehicules.md b/content/inventaire/vehicules.md similarity index 98% rename from add-ons/vehicules.md rename to content/inventaire/vehicules.md index 9e69886..189fcab 100644 --- a/add-ons/vehicules.md +++ b/content/inventaire/vehicules.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Véhicules + parent: Inventaire + order: 3 +--- + # Les véhicules Les véhicules représentent tous les appareils dans lequel un personnage peut grimper afin de se déplacer ou d'effectuer quelques actions. Il s'agit d'un système générique pouvant décrire n'importe quel type de véhicule, permettant de mieux les visualiser et les comprendre. diff --git a/content/lore/index.md b/content/lore/index.md new file mode 100644 index 0000000..12909dc --- /dev/null +++ b/content/lore/index.md @@ -0,0 +1,15 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Lore et univers + order: 6 +--- + +# Lore d'Erratum + +Erratum est un univers de JDR, mais il vise à avoir un lore qui se veut riche et intéressant à découvrir. Le but de ces pages sera de vous présenter ce monde, même si une partie des informations de lore pourront se trouver dans différentes autres pages. N'hésitez pas à explorer tout ce rulebook pour découvrir plus sur l'univers et ses secrets. + +## Pages dans cette catégorie + +- [Les lieux d'Erratum](monde/) - Présente les différents lieux et endroit à visiter dans ce monde +- [Les organisations et factions](organisations/) - Présente les différents groupes qui s'y trouve \ No newline at end of file diff --git a/lore/monde.md b/content/lore/monde.md similarity index 98% rename from lore/monde.md rename to content/lore/monde.md index 51c8ce6..42b0040 100644 --- a/lore/monde.md +++ b/content/lore/monde.md @@ -1,4 +1,12 @@ -# Le monde d'Erratum +--- +layout: layouts/base.njk +eleventyNavigation: + key: Lieux importants + parent: Lore et univers + order: 0 +--- + +# Lieux importants Erratum se produit dans une terre alternative où la magie a toujours existé, et a été plus ou moins caché dans le monde suivant les époques. De ce fait, le monde d'Erratum à eu une histoire quelques peu différente que la notre, en particulier depuis la grande révélation. diff --git a/lore/organisations.md b/content/lore/organisations.md similarity index 99% rename from lore/organisations.md rename to content/lore/organisations.md index 44cc64b..3892790 100644 --- a/lore/organisations.md +++ b/content/lore/organisations.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les organisations + parent: Lore et univers + order: 0 +--- + # Les organisations et groupe d'Erratum Plusieurs grandes organismes et groupes internationaux existent dans le monde. diff --git a/add-ons/creatures.md b/content/mobs/creatures.md similarity index 98% rename from add-ons/creatures.md rename to content/mobs/creatures.md index f098a17..d7ac110 100644 --- a/add-ons/creatures.md +++ b/content/mobs/creatures.md @@ -1,4 +1,12 @@ -# Créatures +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les créatures + parent: Créatures et PNJs + order: 0 +--- + +# Les créatures Dans tout JDR, les mobs sont une partie intégrante de ce qu'on peut rencontrer. DanseRonce utilise un système d'espèce pour construire ses créatures. diff --git a/content/mobs/index.md b/content/mobs/index.md new file mode 100644 index 0000000..3479bbc --- /dev/null +++ b/content/mobs/index.md @@ -0,0 +1,15 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Créatures et PNJs + order: 5 +--- + +# Créatures et PNJs + +Les créatures et PNJs sont les différents êtres que vous pourrez rencontrer dans une partie hors des joueurs. Ils sont généralement joué par le MJ, mais celui-ci peut parfaitement déléguer certains liés à un PJ au joueur du PJ en question, ce qui permet une plus grande diversité des situations. + +## Pages dans cette catégories + +- [Créatures](creatures/) - Présentation des créatures et de leurs concepts +- [Vertus](vertus/) - Présentation des septs légendaires vertues, des PNJs spéciaux de l'univers d'Erratum \ No newline at end of file diff --git a/lore/vertues.md b/content/mobs/vertus.md similarity index 97% rename from lore/vertues.md rename to content/mobs/vertus.md index b44058d..116303d 100644 --- a/lore/vertues.md +++ b/content/mobs/vertus.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Les vertus + parent: Créatures et PNJs + order: 10 +--- + # Les vertus Les vertus sont sept êtres aux pouvoirs exceptionnels, existant depuis des temps immémoriaux. En plus de leur pouvoirs, elles ont la particularité d'être entièrement immunisées à l'anomie et aux malus provoqué par la présence d'une aberration. diff --git a/personnages/creation.md b/content/personnages/creation.md similarity index 97% rename from personnages/creation.md rename to content/personnages/creation.md index 7ff3641..1b2604f 100644 --- a/personnages/creation.md +++ b/content/personnages/creation.md @@ -1,3 +1,11 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Création + parent: Personnages + order: 0 +--- + # Création d'un personnages La première chose à faire dans un JDR, est de créer un personnage. DanseRonce à pour objectif d'offrir un système simple, fondé sur la customisation et la posibilité de facilement créer et faire évoluer un personnage dans le sens qui nous intéresse. De ce fait, le but est de ne pas mettre trop d'entrave à la customisation, en limitant le moins possible les personnages. diff --git a/lore/especes.md b/content/personnages/especes.md similarity index 99% rename from lore/especes.md rename to content/personnages/especes.md index 18831a8..6361448 100644 --- a/lore/especes.md +++ b/content/personnages/especes.md @@ -1,3 +1,11 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Les espèces + parent: Personnages + order: 2 +--- + # Les espèces Avec la découverte de la magies s'est également effectuée la découverte que de nombreuses autres espèces existaient sur terre. diff --git a/content/personnages/index.md b/content/personnages/index.md new file mode 100644 index 0000000..533aa34 --- /dev/null +++ b/content/personnages/index.md @@ -0,0 +1,12 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Personnages + order: 1 +--- + +# Personnages + +Les personnages sont le coeur d'un JDR. Cette catégorie décrit le processus de création d'un personnage, ainsi que quelques éléments qui vont influencé comment il va fonctionner (ses stats, etc). + +## Pages dans cette catégories diff --git a/personnages/personnalites.md b/content/personnages/personnalites.md similarity index 98% rename from personnages/personnalites.md rename to content/personnages/personnalites.md index 487026b..49a0070 100644 --- a/personnages/personnalites.md +++ b/content/personnages/personnalites.md @@ -1,3 +1,11 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Personnalités + parent: Personnages + order: 2 +--- + # Personnalités Les statistiques de votre personnages peuvent être influencée par de nombreux éléments, dont la personnalité du personnage. Chaque personnage doit séléctionner deux principes de personnalité. Ces deux principes donnent la direction générale de qui est le personnage, et pourront l'aider à se définir in-RP (cela n'est cependant qu'une base autour de laquelle vous pouvez broder), et donnera une base pour ses stats et les points généraux de son comportement. diff --git a/personnages/prestige.md b/content/personnages/prestige.md similarity index 93% rename from personnages/prestige.md rename to content/personnages/prestige.md index 685d394..7f5ab75 100644 --- a/personnages/prestige.md +++ b/content/personnages/prestige.md @@ -1,3 +1,12 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Prestige + parent: Personnages + order: 3 +--- + + # Les points de prestige Le prestige est une stat d’expérience spéciale qui permet d’ajouter un bonus à certaines actions spécifiques (si le MJ l’autorise). Chaque partie rajoute un certain nombre de point de prestige, suivant comment l’équipe à fait parler positivement d’elle. diff --git a/bases/D100.md b/content/systeme/D100.md similarity index 98% rename from bases/D100.md rename to content/systeme/D100.md index 268c4df..fe1b151 100644 --- a/bases/D100.md +++ b/content/systeme/D100.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Dés et actions + parent: Système de jeu + order: 1 +--- + # Dés et actions DanseRonce est un système de jeu de rôle basé sur le système D100, ayant pour objectif de créer un système de jeu de rôle simple mais efficace, dont le but est de se baser sur les dés les plus générique d’un rôliste. Ce jeu de rôle est publié sous licence ludique libre (OGL). diff --git a/bases/campagnes.md b/content/systeme/campagnes.md similarity index 96% rename from bases/campagnes.md rename to content/systeme/campagnes.md index aa33006..8e08098 100644 --- a/bases/campagnes.md +++ b/content/systeme/campagnes.md @@ -1,3 +1,11 @@ +--- +layout: layouts/base.njk +eleventyNavigation: + key: Campagnes + parent: Système de jeu + order: 3 +--- + # Organisation d'une campagne Une campagne est l'ensemble d'un scénario de JDR. Dans DanseRonce, l'accent a été mis sur des campagnes moyennes ou longue, avec des joueurs. diff --git a/bases/exploration.md b/content/systeme/exploration.md similarity index 98% rename from bases/exploration.md rename to content/systeme/exploration.md index 360224e..9b04e65 100644 --- a/bases/exploration.md +++ b/content/systeme/exploration.md @@ -1,4 +1,12 @@ -# Exploration et déplacement +--- +layout: layouts/base.njk +eleventyNavigation: + key: Exploration + parent: Système de jeu + order: 3 +--- + +# Exploration DanseRonce est un JDR avant tout "papier et crayon", qui n'est lié à aucun système de plateau et/ou de figurine. Cela rend la représentation des trajets plus abstrait, et nécessite d'avoir une définition plus simple des distances. Nous allons ici expliquer les différentes règles diff --git a/content/systeme/index.md b/content/systeme/index.md new file mode 100644 index 0000000..ebb6917 --- /dev/null +++ b/content/systeme/index.md @@ -0,0 +1,19 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Système de jeu + order: 0 +--- + +# Système de jeu + +Erratum utilise un système de jeu D100 homebrew, proche de mon système pélican (avec quelques différences). C'est un système centré sur le fait d'être simple d'utilisation et de privilégier le RP et les actions d'éclat sur une connaissance accrue et précise des règles. (Il a notamment pour but d'être plus accessible aux débutants qu'un système à la D&D ou Pathfinder) + +Un autre de ses buts est d'utiliser uniquement les dés les plus communs d'un rôliste, facile à trouver ou acheter en ligne. Ce site contient également des recommendation en terme de bienveillance envers les joueurs. + +## Pages dans cette catégories + +- [Dés et actions](D100/) - Les dés et les actions de bases du système +- [Statistiques](statistiques/) - Les statistiques présentent sur la page du MJ (hors spéciales telles que la métaphysique ou l'anomie) +- [Campagnes](campagnes/) - Organisation d'une campagne de base +- [Exploration](exploration/) - Les règles liées à l'explorations et la découverte de lieux diff --git a/personnages/generalites.md b/content/systeme/statistiques.md similarity index 98% rename from personnages/generalites.md rename to content/systeme/statistiques.md index 1b86aa0..14b6109 100644 --- a/personnages/generalites.md +++ b/content/systeme/statistiques.md @@ -1,3 +1,11 @@ +--- +layout: layouts/home.njk +eleventyNavigation: + key: Statistiques + parent: Système de jeu + order: 1 +--- + # Généralités et stats Un personnage dans DanseRonce possède un certain nombre de caractéristique qui lui sont propre. Dans cette page, on va voir ce que représente chaque caractéristiques présente dans DanseRonce, à l'exception de celles liés au levelling qui ont leur section à part. Ici, nous allons donc voir tout les types de stats et propriété. diff --git a/eleventy.config.drafts.js b/eleventy.config.drafts.js new file mode 100644 index 0000000..8eb92dc --- /dev/null +++ b/eleventy.config.drafts.js @@ -0,0 +1,50 @@ +function eleventyComputedPermalink() { + // When using `addGlobalData` and you *want* to return a function, you must nest functions like this. + // `addGlobalData` acts like a global data file and runs the top level function it receives. + return (data) => { + // Always skip during non-watch/serve builds + if(data.draft && !process.env.BUILD_DRAFTS) { + return false; + } + + return data.permalink; + } +}; + +function eleventyComputedExcludeFromCollections() { + // When using `addGlobalData` and you *want* to return a function, you must nest functions like this. + // `addGlobalData` acts like a global data file and runs the top level function it receives. + return (data) => { + // Always exclude from non-watch/serve builds + if(data.draft && !process.env.BUILD_DRAFTS) { + return true; + } + + return data.eleventyExcludeFromCollections; + } +}; + +module.exports.eleventyComputedPermalink = eleventyComputedPermalink; +module.exports.eleventyComputedExcludeFromCollections = eleventyComputedExcludeFromCollections; + +module.exports = eleventyConfig => { + eleventyConfig.addGlobalData("eleventyComputed.permalink", eleventyComputedPermalink); + eleventyConfig.addGlobalData("eleventyComputed.eleventyExcludeFromCollections", eleventyComputedExcludeFromCollections); + + let logged = false; + eleventyConfig.on("eleventy.before", ({runMode}) => { + let text = "Excluding"; + // Only show drafts in serve/watch modes + if(runMode === "serve" || runMode === "watch") { + process.env.BUILD_DRAFTS = true; + text = "Including"; + } + + // Only log once. + if(!logged) { + console.log( `[11ty/eleventy-base-blog] ${text} drafts.` ); + } + + logged = true; + }); +} diff --git a/eleventy.config.images.js b/eleventy.config.images.js new file mode 100644 index 0000000..32a0269 --- /dev/null +++ b/eleventy.config.images.js @@ -0,0 +1,34 @@ +const path = require("path"); +const eleventyImage = require("@11ty/eleventy-img"); + +module.exports = eleventyConfig => { + function relativeToInputPath(inputPath, relativeFilePath) { + let split = inputPath.split("/"); + split.pop(); + + return path.resolve(split.join(path.sep), relativeFilePath); + } + + // Eleventy Image shortcode + // https://www.11ty.dev/docs/plugins/image/ + eleventyConfig.addAsyncShortcode("image", async function imageShortcode(src, alt, widths, sizes) { + // Full list of formats here: https://www.11ty.dev/docs/plugins/image/#output-formats + // Warning: Avif can be resource-intensive so take care! + let formats = ["avif", "webp", "auto"]; + let file = relativeToInputPath(this.page.inputPath, src); + let metadata = await eleventyImage(file, { + widths: widths || ["auto"], + formats, + outputDir: path.join(eleventyConfig.dir.output, "img"), // Advanced usage note: `eleventyConfig.dir` works here because we’re using addPlugin. + }); + + // TODO loading=eager and fetchpriority=high + let imageAttributes = { + alt, + sizes, + loading: "lazy", + decoding: "async", + }; + return eleventyImage.generateHTML(metadata, imageAttributes); + }); +}; diff --git a/eleventy.config.js b/eleventy.config.js new file mode 100644 index 0000000..5b88972 --- /dev/null +++ b/eleventy.config.js @@ -0,0 +1,144 @@ +const { DateTime } = require("luxon"); +const markdownItAnchor = require("markdown-it-anchor"); + +const pluginRss = require("@11ty/eleventy-plugin-rss"); +const pluginSyntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight"); +const pluginBundle = require("@11ty/eleventy-plugin-bundle"); +const pluginNavigation = require("@11ty/eleventy-navigation"); +const { EleventyHtmlBasePlugin } = require("@11ty/eleventy"); + +const pluginDrafts = require("./eleventy.config.drafts.js"); +const pluginImages = require("./eleventy.config.images.js"); +const pluginTOC = require('eleventy-plugin-toc'); + +module.exports = function(eleventyConfig) { + // Copy the contents of the `public` folder to the output folder + // For example, `./public/css/` ends up in `_site/css/` + eleventyConfig.addPassthroughCopy({ + "./public/": "/", + "./node_modules/prismjs/themes/prism-okaidia.css": "/css/prism-okaidia.css" + }); + + // Run Eleventy when these files change: + // https://www.11ty.dev/docs/watch-serve/#add-your-own-watch-targets + + // Watch content images for the image pipeline. + eleventyConfig.addWatchTarget("content/**/*.{svg,webp,png,jpeg}"); + + // App plugins + eleventyConfig.addPlugin(pluginDrafts); + eleventyConfig.addPlugin(pluginImages); + + // Official plugins + eleventyConfig.addPlugin(pluginRss); + eleventyConfig.addPlugin(pluginSyntaxHighlight, { + preAttributes: { tabindex: 0 } + }); + eleventyConfig.addPlugin(pluginNavigation); + eleventyConfig.addPlugin(EleventyHtmlBasePlugin); + eleventyConfig.addPlugin(pluginBundle); + eleventyConfig.addPlugin(pluginTOC, { + tags: ['h2'], + wrapper: 'div' + }); + + // Filters + eleventyConfig.addFilter("readableDate", (dateObj, format, zone) => { + // Formatting tokens for Luxon: https://moment.github.io/luxon/#/formatting?id=table-of-tokens + return DateTime.fromJSDate(dateObj, { zone: zone || "utc" }).toFormat(format || "dd LLLL yyyy"); + }); + + eleventyConfig.addFilter('htmlDateString', (dateObj) => { + // dateObj input: https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-date-string + return DateTime.fromJSDate(dateObj, {zone: 'utc'}).toFormat('yyyy-LL-dd'); + }); + + // Get the first `n` elements of a collection. + eleventyConfig.addFilter("head", (array, n) => { + if(!Array.isArray(array) || array.length === 0) { + return []; + } + if( n < 0 ) { + return array.slice(n); + } + + return array.slice(0, n); + }); + + // Return the smallest number argument + eleventyConfig.addFilter("min", (...numbers) => { + return Math.min.apply(null, numbers); + }); + + // Return all the tags used in a collection + eleventyConfig.addFilter("getAllTags", collection => { + let tagSet = new Set(); + for(let item of collection) { + (item.data.tags || []).forEach(tag => tagSet.add(tag)); + } + return Array.from(tagSet); + }); + + eleventyConfig.addFilter("filterTagList", function filterTagList(tags) { + return (tags || []).filter(tag => ["all", "nav", "post", "posts"].indexOf(tag) === -1); + }); + + // Customize Markdown library settings: + eleventyConfig.amendLibrary("md", mdLib => { + mdLib.use(markdownItAnchor, { + permalink: markdownItAnchor.permalink.ariaHidden({ + placement: "after", + class: "header-anchor", + symbol: "#", + ariaHidden: false, + }), + level: [1,2,3,4], + slugify: eleventyConfig.getFilter("slugify") + }); + }); + + // Features to make your build faster (when you need them) + + // If your passthrough copy gets heavy and cumbersome, add this line + // to emulate the file copy on the dev server. Learn more: + // https://www.11ty.dev/docs/copy/#emulate-passthrough-copy-during-serve + + // eleventyConfig.setServerPassthroughCopyBehavior("passthrough"); + + return { + // Control which files Eleventy will process + // e.g.: *.md, *.njk, *.html, *.liquid + templateFormats: [ + "md", + "njk", + "html", + "liquid", + ], + + // Pre-process *.md files with: (default: `liquid`) + markdownTemplateEngine: "njk", + + // Pre-process *.html files with: (default: `liquid`) + htmlTemplateEngine: "njk", + + // These are all optional: + dir: { + input: "content", // default: "." + includes: "../_includes", // default: "_includes" + data: "../_data", // default: "_data" + output: "_site" + }, + + // ----------------------------------------------------------------- + // Optional items: + // ----------------------------------------------------------------- + + // If your site deploys to a subdirectory, change `pathPrefix`. + // Read more: https://www.11ty.dev/docs/config/#deploy-to-a-subdirectory-with-a-path-prefix + + // When paired with the HTML plugin https://www.11ty.dev/docs/plugins/html-base/ + // it will transform any absolute URLs in your HTML to include this + // folder name and does **not** affect where things go in the output folder. + pathPrefix: "/", + }; +}; diff --git a/index.html b/index.html deleted file mode 100644 index bc99e87..0000000 --- a/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - Erratum / Danseronce - - - - - - -
- - - - - - - - diff --git a/modules/equipements.md b/modules/equipements.md deleted file mode 100644 index ec375e3..0000000 --- a/modules/equipements.md +++ /dev/null @@ -1,57 +0,0 @@ -## Equipement de signes - -> [!NOTE] -> Les armes de signes se débloquent à partir du niveau 4 d'armes/equipement. - -### Arcane de la guérison - -| Signe | Equipement | Type | Effet | Prix | -|:-:|:---------:|:-----:|:-----:|:----:| -| :virgo: | Robe de vierge | Armure | Armure lourde mentale pour les vierges | Prix de base + Niveau x 50 | -| :virgo: | Médaillon de la vierge | Accessoire | Fait un jet de soin mental ou physique (tiré au hasard) à 1D4 par tour sur un compagnon (au hasard) de la vierge | 1250 | -| :cancer: | Sceptre du cancer (2) | Baguette | Fait un soin négatif et un soin de base avec ce septre de soin à deux personnage (un par type), mais dont la puissance totale est divisée par deux | Prix de base + Niveau x 50 | -| :cancer: | Masque de médecin du cancer | Accessoire | Permet sur un jet d'intelligence de faire un diagnostique total des afflictions physique, mentales et magiques d'un PJ ou PNJ | 1700 | -| :libra: | Pendule de la Balance | Baton | Sceptre de soin doublant les effets du soin, mais la moitié du soin se produit en dégat sur le perso soignant | Prix de base + Niveau x 50 | -| :libra: | Bourse de la Balance | Accessoire | Augmente de 20% les gains du quart le plus faible de gains du groupe dans lequel la balance se trouve | 1250 | - -### Arcane de la force - -| Signe | Équipement | Type | Effet | Prix | -|:-:|:---------:|:-----:|:-----:|:----:| -| :scorpius: | Dague du scorpion | Arme | Une dague apportant +25% pour les empoisonnement passifs du scorpion | Prix de base + Niveau x 50 | -| :scorpius: | Lance seringue | Arme | Un lance projectile, faisant 0 dégat mais permettant d'empoisonner à distance avec un jet d'empoissement. | 1100 | -| :leo: | Fourreau de lion | Accessoire | Rend une arme impossible à perdre | 1250 | -| :leo: | Casque de lion | Accessoire | +20 en CHA & VOL, utilisable par les lions. | 1250 | -| :sagittarius: | Arc de sagittaire | Arme | Un arc utilisable par les saggitaire | Prix de base + Niveau x 50 | -| :sagittarius: | Chaussure du sagittaire | Accessoire | Permet un deuxième déplacement par tour | 1250 | - -### Arcane de la protection - -| Signe | Equipement | Type | Effet | Prix | -|:--:|:---------:|:-----:|:-----:|:----:| -| :aries: | Armure du bélier | Armure | Une armure semi-lourde, mais qui apporte +(Niveau) armure à tout les personnages alliés du bélier en combat | Prix de base + Niveau x 50 | -| :aries: | Baguette du bélier | Baguette | Une baguette de base pour bélier, agissant sur *la réputation du groupe lors d'un duel social* | Prix de base + Niveau x 50 | -| :taurus: | Bouclier du taureau | Bouclier | Un pavois permettant d'attaquer | Prix de base + Niveau x 50 | -| :taurus: | Tunique du taureau | Armure | Armure semi-lourde sans les inconvéniant | Prix de base + Niveau x 50 | -| :aquarius: | Montre du verseau | Accessoire | Permet de faire une action limitée une deuxième fois | 1400 | -| :aquarius: | Gemme du verseau | Objet consommable | Permet de lancer trois simulation d'une action pour en connaître les effets | 1650 | - -### Arcane de la malice - -| Signe | Equipement | Type | Effet | Prix | -|:-:|:---------:|:-----:|:-----:|:----:| -| :gemini: | Chaînes des gémeaux | Accessoire (x2) | Un accessoire en deux parties se mettant sur deux personnages, qui pourront se TP l'un à l'autre comme des gémeux | 1250 | -| :gemini: | Diadème des gémeaux | Accessoire | Amplifie la télépathie du gémeau, la rendant illimité en terme de nombre de personne et distance | 1500 | -| :capricorn: | Masque du capricorne | Accessoire | Rend insensible à la manipulation des émotions | 1350 | -| :capricorn: | Crayon du capricorne | Accessoire | Peut diffuser une émotion sur un espace entier, enchantant cet espace pour produire cette émotion | 1500 | -| :pisces: | Balle du poisson | Accessoire | Peut fuir automatiquement les combats, sans conditions et même dans un espace fermé | 1250 | -| :pisces: | Dague du poisson | Arme | Un couteau de base niveau 1, mais qui peut donner l'impression d'être n'importe quelle arme | 1200 | - -## Reliques - -### Accessoires - -| Accessoires | Effet | Prix | -|:---------:|:------|:----:| -| Toge Ancienne de Cultiste | Boost de SAG + 10% de résistance mentale à la métaphysique | 1000 | -| Toge Ancienne de Frontière | Boost de INT + 10% de métaphysique | 1000 | diff --git a/modules/objets.md b/modules/objets.md deleted file mode 100644 index 3576358..0000000 --- a/modules/objets.md +++ /dev/null @@ -1,5 +0,0 @@ -## Objets de signes - -| Objet | Effet | Prix | -|:-----:|:------|:----:| -| Fragment de signe | Rajoute le pouvoir d'un signe trois tours | Introuvable sur le marché | diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..5a8db0f --- /dev/null +++ b/netlify.toml @@ -0,0 +1,24 @@ +[build] + publish = "_site" + command = "npm run build" + +[[plugins]] + + # Opt-in to the Netlify Lighthouse plugin (choose one): + + # 1. Go to your site on https://app.netlify.com and navigate to the Integrations tab, search for the `Lighthouse` plugin + # 2. Or via `npm install -D @netlify/plugin-lighthouse` + + # Read more: https://github.com/netlify/netlify-plugin-lighthouse + + package = "@netlify/plugin-lighthouse" + + # optional, fails build when a category is below a threshold + [plugins.inputs.thresholds] + performance = 1.0 + accessibility = 1.0 + best-practices = 1.0 + seo = 1.0 + + [plugins.inputs] + output_path = "reports/lighthouse/index.html" diff --git a/package.json b/package.json new file mode 100644 index 0000000..76c6525 --- /dev/null +++ b/package.json @@ -0,0 +1,47 @@ +{ + "name": "eleventy-base-blog", + "version": "8.0.0", + "description": "A starter repository for a blog web site using the Eleventy site generator.", + "scripts": { + "build": "npx @11ty/eleventy", + "build-ghpages": "npx @11ty/eleventy --pathprefix=/eleventy-base-blog/", + "start": "npx @11ty/eleventy --serve --quiet", + "debug": "DEBUG=Eleventy* npx @11ty/eleventy", + "debugstart": "DEBUG=Eleventy* npx @11ty/eleventy --serve --quiet", + "benchmark": "DEBUG=Eleventy:Benchmark* npx @11ty/eleventy" + }, + "repository": { + "type": "git", + "url": "git://github.com/11ty/eleventy-base-blog.git" + }, + "author": { + "name": "Zach Leatherman", + "email": "zachleatherman@gmail.com", + "url": "https://zachleat.com/" + }, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/11ty" + }, + "bugs": { + "url": "https://github.com/11ty/eleventy-base-blog/issues" + }, + "homepage": "https://github.com/11ty/eleventy-base-blog#readme", + "devDependencies": { + "@11ty/eleventy": "^2.0.1", + "@11ty/eleventy-img": "^3.1.0", + "@11ty/eleventy-navigation": "^0.3.5", + "@11ty/eleventy-plugin-bundle": "^1.0.4", + "@11ty/eleventy-plugin-rss": "^1.2.0", + "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", + "luxon": "^3.3.0", + "markdown-it-anchor": "^8.6.7" + }, + "dependencies": { + "eleventy-plugin-toc": "^1.1.5" + } +} diff --git a/public/css/index.css b/public/css/index.css new file mode 100644 index 0000000..802c389 --- /dev/null +++ b/public/css/index.css @@ -0,0 +1,248 @@ +:root { + --color-gray-20: #e0e0e0; + --color-gray-50: #C0C0C0; + --color-gray-90: #dad8d8; + + /* --text-color is assigned to --color-gray-_ above */ + --text-color-link: #1493fb; + --text-color-link-active: #6969f7; + --text-color-link-visited: #a6a6f8; + + --background-color: #121018; + + --text-color: var(--color-gray-90); + + --font-family: -apple-system, system-ui, sans-serif; + --font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace; +} + +* { + box-sizing: border-box; +} + +html, +body { + padding: 0; + margin: 0 auto; + min-height:100%; + font-family: var(--font-family); + color: var(--text-color); + width:1280px; +} +html { + overflow-y: scroll; + background: center bottom fixed repeat-x url("/img/dark-b10.png"), center top fixed url("/img/erratu18.png"); + background-color:#120f2b; +} + +/* https://www.a11yproject.com/posts/how-to-hide-content/ */ +.visually-hidden { + clip: rect(0 0 0 0); + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} + +a[href] { + color: var(--text-color-link); +} +a[href]:visited { + color: var(--text-color-link-visited); +} +a[href]:hover, +a[href]:active { + color: var(--text-color-link-active); +} + +blockquote { + opacity: 75%; + border-left: 3px solid currentColor; + padding-left: 12px; +} + +/* Direct Links / Markdown Headers */ +.header-anchor { + text-decoration: none; + font-style: normal; + font-size: 1em; + margin-left: .1em; +} +a[href].header-anchor, +a[href].header-anchor:visited { + color: transparent; +} +a[href].header-anchor:focus, +a[href].header-anchor:hover { + text-decoration: underline; +} +a[href].header-anchor:focus, +:hover > a[href].header-anchor { + color: #aaa; +} + +.wrapper { + display:flex; +} + +header h1 a { + display:block; + margin:auto; +} + +h1 img { + display:block; + height:128px; + width:auto; + margin:auto 0; +} + +header nav { + margin: 3px 12px; +} + +header nav { + display: flex; + justify-content: space-between; +} + +header nav ul, +ul.flex { + display:flex; + padding:0; + margin:0; +} + +header nav .nav-item a { + background-color:var(--background-color); + border:1px solid rgba(255,255,255,0.05); + box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.8); + padding:0.66rem; + border-radius:4px; + text-decoration:none; + color:var(--text-color)!important; + display: block; +} + +header nav .nav-item a:hover { + box-shadow: 0px 0px 3px 2px rgba(255,255,255,0.3); +} + +header nav .nav-item:not(:last-child) { + margin-right:12px; +} + +main, +.card, +#sidebar ul > li { + background-color:var(--background-color); + border:1px solid rgba(255,255,255,0.05); + box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.8); + border-radius:6px; + padding:8px; + margin:8px; +} + +main { + padding-left: 24px; + padding-right: 24px; + line-height:1.5rem; + flex-grow:1; +} + +.model, +main { + margin-left:0; + margin-right:0; +} + +#sidebar ul > li, +.model h2 { + list-style: none; + font-weight: bold; + font-size: 1rem; +} + + +#more-info ol > li, +#more-info ul > li { + list-style: none; +} + +#sidebar ul > li li, +#more-info li { + border-radius:0px; + padding:0px; + margin:0px; + font-weight: normal; + border:0; + box-shadow: none; +} + +ul.nav, +#sidebar ul li ul, +#more-info ol, +ul.flex li, +.model h2 { + padding:0; + margin:0; + list-style: none; +} + +#sidebar ul li ul { + display:flex; + flex-wrap: wrap; +} + +#sidebar ul li a, +#more-info ol li a, +.model a { + display:block; + width:100%; + text-decoration:none; + color:var(--text-color)!important; + border-radius:3px; + padding:3px; +} + +.model a { + margin: 2px; +} + +.model li:first-child a { + margin-left:0; +} + +#sidebar ul li li { + width:50%; +} + +#sidebar ul li a.active, +#more-info ol li a.active { + background-color:rgba(255,255,255,0.1); +} + +#sidebar ul li a:hover, +#more-info ol li a:hover, +.model a:hover { + background-color:rgba(255,255,255,0.2); + box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5); +} + +#more-info { + min-width:240px; + width:240px; +} + +#sidebar { + min-width:320px; + width:320px; +} + +footer { + text-align:right; + margin:12px; +} + diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..f030c4f Binary files /dev/null and b/public/favicon.png differ diff --git a/personnages/talents.md b/public/img/.gitkeep similarity index 100% rename from personnages/talents.md rename to public/img/.gitkeep diff --git a/public/img/cc-by-sa.png b/public/img/cc-by-sa.png new file mode 100644 index 0000000..12229ac Binary files /dev/null and b/public/img/cc-by-sa.png differ diff --git a/public/img/dark-b10.png b/public/img/dark-b10.png new file mode 100644 index 0000000..9e17b6d Binary files /dev/null and b/public/img/dark-b10.png differ diff --git a/public/img/erratu18.png b/public/img/erratu18.png new file mode 100644 index 0000000..33317af Binary files /dev/null and b/public/img/erratu18.png differ diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000..f6f5aa7 Binary files /dev/null and b/public/img/logo.png differ