Compare commits

..

1 commit

Author SHA1 Message Date
Kazhnuz
4e8af1fd5f a 2021-10-05 21:03:43 +02:00
244 changed files with 43624 additions and 6132 deletions

View file

@ -1,33 +0,0 @@
kind: pipeline
name: production
when:
event: [ push ]
branch: [ master ]
clone:
git:
image: plugins/git
pull: true
steps:
- name: build
image: node:latest
commands:
- npm install -g gulp
- npm i
- npm run build
- name: deploy
image: drillster/drone-rsync
settings:
hosts:
from_secret: deploy_host
target: /var/www/rulebook.kobold.city
source: _site/*
user:
from_secret: deploy_user
key:
from_secret: deploy_key
when:
branch: master
delete: true

26
.gitignore vendored
View file

@ -1,25 +1,3 @@
# Generated files
package/generated*
# Ignore installed npm modules
dist/
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
public/

View file

@ -5,97 +5,28 @@ Tout les changements notables au projet sont consignés dans ce fichier, afin de
Ce format est basé sur la norme [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
et ce projet adhère au [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Pélican 1.0.0
## En cours
Première version de la refonte de Pélican !
### Ajouté
- Ajout des combats de bataille
- Nouvelles règles de multi-coup
- Ajout de nouvelles postures de bases
### Modifiés
- Ajout de faire des blessures sur les haches, et des actions spécials des couteaux
- Ajout du fait d'avoir des dégats bonus quand FOR, etc. > 100
- Utilisation du multi-coup dans les nuées de monstres
## Pélican 0.3.0 (beta 1)
Refonte global du site en Eleventy, et simplification des règles pour n'être plus qu'une base. Adaptation d'une partie du système à celui d'Erratum, et réapplication des dés d'actions.
### Modifiés
- Séparation jet de vigueur et jet de cac
- Remplacement des bonus/malus flat de difficulté par des aventages/désaventages et jet spécialisés
### Supprimés
- Retrait de tout les éléments spécifiques à un JDR en particulier.
## Pélican 0.2.0 (alpha 2)
Refonte global du site en vueJS
Cette version contient en plus des modifications de base l'adaptation de celles de la version 2.4.0
### Ajoutés
- [site] Page À propos
- [site] Chargement dynamique d'infos sur les pages
- [core] Ajout des outils
### Modifiés
- [site] Unification de l'interface
- [site] Feuilles de styles simplifiées
- [core] Refonte perce-armure qui touche toute l'attaque, ou divise par deux l'armure. Idem Perce-Defense.
- [core] Refonte armure spéciale, qui devient une armure ignorant le perce-armure, le brise armure, etc.
- [core] Mise en commun armes, outil et boucliers et leurs effets
### Supprimés
- [site] Suppression des systèmes d'onglets
- [core] Suppression du tableau des faiblesses/resistences (sera réimplémenté dans le bestiaire)
## Pélican 0.1.0 (alpha 1)
Rulebook a été renommé en Pélican. Cette version contient en plus des modifications de base l'adaptation de celles de la version 2.4.0.
### Ajoutés
- [core] Ajout règles de bienveillance et X-Card
- [core] Ajout des véhicules et montures (+ combats)
- [extensions] Ajout de plus d'information sur les aberrations et irrégularités.
- [core] Ajout des véhicules
- [core] Ajout des montures
- [core] Ajout des combats de vehicules/montures
- [core] Ajout des formes géantes
- [core] Ajout des troupes/meutes
- [core] Ajout d'un mode "jeu de plateau"
- [core] Précision sur le fonctionnement des toxines
- [core] Ajout domestication/influence
- [core] Ajout de confusion en tant qu'affliction morale
- [core] Ajout de plus d'information sur les aberrations et irrégularités.
- [core] Ajout de la métaphysique
- [core] Ajout des positions
- [extensions] Ajout de nouvelles armes et équipements modernes
### Modifiés
- [meta] Passage de OGL à Creative Commons
- [meta] Format paysage pour les fiches
- [meta] Ajout d'un lien vers les règles de base plutôt que les intégrer partout
- [style] Taille de texte un peu plus grande
- [style] Amélioration style tableau
- [style] Modification sidebar
- [core] Refonte pour être fondé sur les compétences plus que les stats.
- [core] Unification PE/Affliction mentale en notion de "moral"
- [core] Simplification du système de classe, rangs et potentiel
- [core] Refonte équipement (suppression des niveaux, refonte non-léthal, ajouts de nouveaux effets et équipements)
- [core] Refonte effets PV (séparation coma/ko) et PM
- [core] Nerf esquive consécutives
- [core] Meilleur nom modificateur de difficulté
- [core] Stat au dessus de 100 n'augmentent plus que de 1 pour 5 les réussite critiques
- [core] Simplification des attitudes en un système d'émotions
- [core] Simplification aggro, effets et stratégie de combat
- [core] Refonte créatures
### Corrigés
- [meta] Correction liens sources/tout les rulebook
- [core] Simplification du système de classe
- [core] Baisse du nombre de rang
- [extensions] Meilleur ordre pour l'anomie
- [erratum] Amélioration des vertues
## [3.0.1] - 2020-11-05

View file

@ -1,9 +1,9 @@
# Pélican
# Rulebook
Pélican est un système générique 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, se basant sur les dés les plus générique dun rôliste. Il ne s'agit cependant que d'une base de système, à partir de laquelle vous pourrez construire des systèmes adaptés à votre univers et vos concepts.
Rulebook est un système générique 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, se basant sur les dés les plus générique dun rôliste. Il ne s'agit cependant que d'une base de système, à partir de laquelle vous pourrez construire des systèmes adaptés à votre univers et vos concepts.
Le système pélican à pour objectif de mettre en avant l'imagination et le RP plus que des règles complexes et un gameplay hyper peaufiné. Il vise à être simple à apprendre et à retenir, tout en offrant pas mal de cas de figure et possibilité. Il contient également des recommendation en terme de bienveillance envers les joueurs.
Le système est conçu de manière modulaire, avec plusieurs éléments qui peuvent être choisi ou non suivant la complexité que vous voulez donnez à votre JDR.
Ce set de règle 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 Common BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
Ce set de règle 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 Common BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/), crée par [Wizard of the Coast](https://company.wizards.com/).
Ce site est généré par [Docsify](https://docsify.now.sh/).
Ce site est généré par [Docsify](https://docsify.now.sh/) et hébergé par [Kobold City](https://kobold.city).

View file

@ -1,7 +0,0 @@
[
{"title":"Fiche de Personnage", "path":"personnage"},
{"title":"Fiche de PNJ", "path":"pnj"},
{"title":"Fiche de Créature", "path":"creature"},
{"title":"Fiche de Suiveur", "path":"suiveur"},
{"title":"Fiche de Véhicule", "path":"vehicule"}
]

View file

@ -1,4 +0,0 @@
{
"nom":"Pélican",
"version":"1.0.0"
}

View file

@ -1,11 +0,0 @@
module.exports = {
title: "Système D100 Pélican",
url: "https://pelicanjdr.kazhnuz.space/",
language: "fr",
description: "Une base de JDR basé sur le système D100",
author: {
name: "Kazhnuz",
email: "kazhnuz@kobold.cafe",
url: "https://kazhnuz.space/"
}
}

View file

@ -1,66 +0,0 @@
<!doctype html>
<html lang="{{ metadata.language }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title or metadata.title }}</title>
<meta name="description" content="{{ description or metadata.description }}">
{#- Atom and JSON feeds included by default #}
<link rel="alternate" href="/feed/feed.xml" type="application/atom+xml" title="{{ metadata.title }}">
<link rel="alternate" href="/feed/feed.json" type="application/json" title="{{ metadata.title }}">
<link rel="icon" type="image/x-icon" href="/img/favicon.gif">
{#- Uncomment this if youd like folks to know that you used Eleventy to build your site! #}
<meta name="generator" content="{{ eleventy.generator }}">
{%- css %}{% include "public/css/index.css" %}{% endcss %}
<style>{% getBundle "css" %}</style>
</head>
<body>
<svg class="d-none" alt="">
<symbol id="icon-bars" viewBox="0 0 32 32">
<path d="M30 24v3c0 .6-.4 1-1 1h-26c-.6 0-1-.4-1-1v-3c0-.6.4-1 1-1h26c.6 0 1 .4 1 1zM30 15v3c0 .6-.4 1-1 1h-26c-.6 0-1-.4-1-1v-3c0-.6.4-1 1-1h26c.6 0 1 .4 1 1zM30 6v3c0 .6-.4 1-1 1h-26c-.6 0-1-.4-1-1v-3c0-.6.4-1 1-1h26c.6 0 1 .4 1 1z"></path>
</symbol>
</svg>
<a href="#skip" class="visually-hidden">Skip to main content</a>
<nav id="sidebar">
{{ collections.all | eleventyNavigation | eleventyNavigationToHtml({anchorClass: "itemLink",activeAnchorClass: "active",activeListItemClass: "active",activeKey: eleventyNavigation.key, listClass: "nav", listItemClass: "item"}) | safe }}
</nav>
<div class="wrapper">
{% if home == true %}
<hgroup>
<h1><img src="/img/logo.gif" alt="Pélican" width=456></h1>
<p>Version {{ jdr.version }}</p>
</hgroup>
{% else %}
<h1>{{ eleventyNavigation.key }}</h1>
{% endif %}
<aside>
<div id="more-info">
<h2>Sommaire</h2>
{{ content | toc | safe }}
</div>
</aside>
<main id="skip">
<div>
{{ content | safe }}
</div>
</main>
<footer><a href="https://kazhnuz.space/"><img src="/img/kspace.png" alt="" /><span class="visually-hidden">Site créé par Kazhnuz.</span></a> <a href="https://creativecommons.org/licenses/by-sa/4.0/"><img src="/img/cc-by-sa.png" alt="" /><span class="visually-hidden">Tout le contenu de cette page est sous licence Creatve Common Attribution - Partage à l'identique.</span></a></footer>
</div>
<button id="mobile-button" class="menu-button"><svg class="icon icon-bars" alt=""><use xlink:href="#icon-bars"></use></svg> <span class="sr-only">Afficher le menu</span></button>
<script src="/js/mobile-sidebar.js"></script>
</body>
</html>

View file

@ -1,9 +0,0 @@
{%- css %}.postlist { counter-reset: start-from {{ (postslistCounter or postslist.length) + 1 }} }{% endcss %}
<ol reversed class="postlist">
{% for post in postslist | reverse %}
<li class="postlist-item{% if post.url == url %} postlist-item-active{% endif %}">
<a href="{{ post.url }}" class="postlist-link">{% if post.data.title %}{{ post.data.title }}{% else %}<code>{{ post.url }}</code>{% endif %}</a>
<time class="postlist-date" datetime="{{ post.date | htmlDateString }}">{{ post.date | readableDate("LLLL yyyy") }}</time>
</li>
{% endfor %}
</ol>

View file

@ -1,4 +0,0 @@
- Réseau
- [Press Garden](https://press.fanstuff.garden)
- <a href="https://piaille.fr/@breezemedia" rel="me">Breeze Media (fedi)</a>
- <a href="https://bsky.app/profile/breezemedia.bsky.social" rel="me">Breeze Media (bsky)</a>

View file

@ -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 ?"
}
]
}

View file

@ -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"]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

BIN
assets/img/background.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

28
assets/plugins/tabs.js Normal file
View file

@ -0,0 +1,28 @@
function customTabs(hook, vm) {
hook.doneEach(function() {
// Invoked each time after the data is fully loaded, no arguments,
$(".contentArea :first-child").addClass("active")
$(".tab :first-child").addClass("active")
$(".tablinks").click(function(){
var idParent = "#" + $(this).parent().parent().attr("id")
var targetString = idParent + " .contentArea ." + $(this).attr("data-target")
//On fait en sorte que seule la classe visée soit active
$(idParent + " .contentArea .tabcontent").removeClass("active")
$(targetString).addClass("active")
// On fait de meme pour le bouton
$(idParent + " .tab button").removeClass("active")
$(this).addClass("active")
console.log(idParent + " .contentArea .tabcontent")
console.log(idParent + " .tab button")
console.log(targetString)
});
});
}
window.$docsify.plugins = [].concat(
customTabs,
(window.$docsify.plugins || [])
);

39
assets/rulebook.css Normal file
View file

@ -0,0 +1,39 @@
/* Style the tab */
.tab {
overflow: hidden;
border: 1px solid #ccc;
background-color: #f1f1f1;
}
/* Style the buttons that are used to open the tab content */
.tab button {
background-color: inherit;
float: left;
border: none;
outline: none;
cursor: pointer;
padding: 14px 16px;
transition: 0.3s;
}
/* Change background color of buttons on hover */
.tab button:hover {
background-color: #ddd;
}
/* Create an active/current tablink class */
.tab button.active {
background-color: #ccc;
}
/* Style the tab content */
.tabcontent {
display: none;
padding: 6px 12px;
border: 1px solid #ccc;
border-top: none;
}
.tabcontent.active {
display:block;
}

View file

@ -1,71 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
key: Bienveillance
parent: Pélican-JDR
order: 0
---
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 !

View file

@ -1,49 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
key: Pélican-JDR
order: 0
home: true
---
Pélican est un système générique 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, se basant sur les dés les plus générique dun rôliste. Il ne s'agit cependant que d'une base de système, à partir de laquelle vous pourrez construire des systèmes adaptés à votre univers et vos concepts.
Le système pélican à pour objectif de mettre en avant l'imagination et le RP plus que des règles complexes et un gameplay hyper peaufiné. Il vise à être simple à apprendre et à retenir, tout en offrant pas mal de cas de figure et possibilité. Il contient également des recommendation en terme de bienveillance envers les joueurs.
Cette page vous donne accès au set de base qui peut être réutilisé pour créer différents JDR.
## Fiches à télécharger
Vous pourrez trouver ici les différentes fiches de Pélican à télécharger. Elles sont disponible au format .odt et .pdf, pour permettre une utilisation à l'informatique ou en impression :
<ul>
{%- for fiche in fiches %}
<li>
<strong>{{ fiche.title }} : </strong>
<a href="/download/fiche-{{ fiche.path }}.pdf" title="Télécharger au format pdf">pdf</a>,
<a href="/download/fiche-{{ fiche.path }}.odt" title="Télécharger au format odt">odt</a>
</li>
{%- endfor %}
</ul>
## JDR utilisant ce système
J'ai réalisé ou en projet quelques JDR qui vont utilisé ce système, ou utilise une ancienne version de ce système. Pour l'instant, uniquement Erratum est disponible.
- [Erratum](https://erratum.kazhnuz.space/) - JDR de fantasy urbaine, basé sur une ancienne version de ce système.
- **Radiant Skies** - JDR de Light SF anthro, qui utilisera un système de classe fondé sur les compétences.
- **Cartomancia** - JDR rogue-lite, ou vos perso meurent pour évoluer, et change d'espèce à chaque résurrection.
- **Hackerfrost** - JDR cyberpunk avec ambiance "hacker"/"libre" se passant dans des bases antarctique.
- **Solarcrowd** - JDR post-apo d'inspiration solarpunk où vous luttez contre l'oppression dans une communauté unis.
- **Sonic Ring World** - Projet de fan-JDR Sonic, inspiré des différents éléments du canon actuel.
## Crédit et licence
Ce set de règle est fourni par [Kazhnuz](https://kazhnuz.space). Il est distribué sous la [Creative Common BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
Des éléments sont repris des systèmes suivants :
- Inspiration globale du système [BRP](https://www.chaosium.com/content/FreePDFs/BRP/BRP%20SRD%201.0%20Fr.pdf) (Basic Roleplaying)
- Éléments de JDR repris des systèmes de mes potes mdupoignard, Alexandre, Samuel, etc.
- Site réalisé sous Eleventy.
- Favicon par [Jerom](https://opengameart.org/users/jerom) et [PriorBlue](https://opengameart.org/users/priorblue), du set [Recolor all the items](https://opengameart.org/content/recolor-all-the-items).

View file

@ -1,80 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: Afflictions et effets
order: 6
---
Différents effets peuvent également s'appliquer sur un personnages, appliquant des effets sur lui jusqu'à ce qu'il disparaissent. Certains de ces types d'effets peuvent s'obtenir par des jets aléatoires :
- Le **jet de pestilence** provoque des afflictions physiques
- Le **jet de panique** provoque des afflictions morales
## Effets basiques
Ces effets disparaissent généralement rapidement, au maximum à la fin d'un combat, mais la plupars du temps ne durent que quelques tours.
| | |
|:-:|:-:|
| **Turboactivité**<br />Agis deux fois par tour | **Hypoactivité**<br />Jette 1D4, si fait 4, ne peut pas agir. |
| **Toujours premier**<br />Agis en premier | **Toujours dernier**<br />Agis en dernier |
| **Dépassement**<br />Agit avant le joueur juste avant | **Dépassé**<br />Agit après le joueur juste après |
| **Bis Repetita**<br />Le perso doit répéter la même action que le tour précédant | **Non Repetita**<br />Ne peut pas faire 2x la même action. |
| **Hyperchargement**<br />Augmente de moitié les dégâts (physique/special/moral) reçus comme donné. | **Chateaudepierre**<br />Affaibli de moitié les dégâts (physique/special/moral) reçus comme donné |
## Afflictions
Les afflictions sont des statuts de personnages qui ont la particularité de continuer même après le combat. Ces statut ont également besoin d'être soigné avec des soins particulier, où en profitant des soins d'une auberge. Elles sont divisées en deux types : physiques et morales. Les afflictions physiques sont des maux du corps, tandis que les afflictions morales sont des maux de l'esprit.
Certaines afflictions ont une variante "grave". Certaines capacités provoquant les afflictions les limite également dans le temps.
### Afflictions physiques
Pour être resistée lorsqu'elle est infligée, une affliction physique demande un jet de CON/2.
<div class="table-auto">
| id| Affliction | Effet |
|:-:|:----------:|:------|
| 2 | **Poison** | Perd 2 PV/tour (si grave, tout les tours le poison fait 1 PV/tour en plus) |
| 3 | **Aveuglé** | Tout jet de PER voit sa statistique divisé par 2 (x0 si grave/Cécité) |
| 4 | **Sommeil** | Ne peut pas agir. Peut se réveiller si attaqué ou grand bruit, ou avec un jet de VOL/2 chaque tour. |
| 5 | **Épuisement** | Tout les tours, -5% HAB et CON (si grave, -10% par tour) |
| 6 | **Paralysie** | Le personnage à 1 chance sur 4 de ne pas pouvoir agir chaque tour. (si grave, 1/2) |
| 7 | **Silence** | Ne peut plus faire d'action demandant la parole (magie, discussion orale, etc). |
| 8 | **Faiblesse** | Le personnage fait le minimum possible à ses dés d'actions |
</div>
Lors d'un **jet de pestilence**, le personnage jette un *dé 8* et prend dans le tableau le résultat du dés. S'il fait 1, rien ne se passe, s'il fait 8, il reçoit l'effet stun. Il peut se produire suite à une capacité ou si votre personnage
À ces afflictions on peut ajouter techniquement les états de morts et de KO.
### Afflictions morales
Pour être resistée lorsqu'elle est infligée, une affliction morale demande un jet de SAG/2. Si jet de panique à cause de manque de PM, pas de possibilité de resister.
<div class="table-auto">
| id| Affliction | Effet |
|:-:|:----------:|:------|
| | **Amour** | Ne peut obéïr qu'à la personne dont le perso est amoureux, avec +50% si allié, -20% si ennemi avec. |
| 2 | **Terreur** | Perd 2 PM/tour (si grave, tout les deux tours la terreur fait 1 de PV/tour en plus) |
| 3 | **Bersek** | -50 % pour esquiver ou encaisser les attaques physiques comme morales, où pour décider de se mettre à labris. (ne le fait plus si grave) |
| 4 | **Cassandre** | -1D4 PM à toutes les personnes autour par tour. (2D4 si grave) |
| 5 | **Egoïsme** | Jette 1D4, si 2 ou 4, ne peut pas aider ses alliés. (ne le fait plus si grave) |
| 6 | **Confusion** | Jette 1D4. Si 2 ou 4, attaque un de ses alliés au hasard. |
| 7 | **Méfiance** | Le personnage ne se laisse plus soigner ou aider. |
| 8 | **Inoffensif** | Ne peut plus attaquer les adversaires. |
</div>
Lors d'un **jet de panique**, le personnage jette un *dé 8* et prend dans le tableau le résultat du dés. S'il fait 1, rien ne se passe. Si le jet de panique est produit lorsque le personnage a atteint -100 % des PM max, au lieu de tomber stun, il tombe dans les pommes.
### Toxines
Les toxines sont les substances infligeant des afflictions. Ils peuvent exister sous deux formes :
- **Toxines classiques** : Inflige un certain nombre de tour l'affliction concernée quand elle est injectée/absorbée par un personnage.
- **Poisons gazeux** : Inflige l'effet de l'affliction tant qu'il est présent. Son effet dure un certain nombre de tour (généralement 3) après avoir été dissipé, sauf soin d'affliction.

View file

@ -1,165 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: Système de combat
order: 2
---
Le système de combat de Pélican à pour but d'être une base de système simple, sur laquelle la complexité s'ajoute par les compétences et les outils utilisées.
Le système vise à être flexible, avec peu d'interactions de base.
## Début et fin 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](/rules/#confrontation-et-classements) 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.
Les personnages ayant eu une réussite critique ont le droit à une action supplémentaire dans un tour 0 avant le premier tour. Les personnages ayant eu un échec critique ne peuvent jouer qu'à partir du deuxième tour.
<div class="well">
**Notes :** En cas d'attaque surprise, le groupe ayant eut l'aventage reçoit un tour supplémentaire avant que l'autre puisse attaquer. Pour effectuer une attaque surprise, il faut faire une confrontation de DIS vs PER pour le groupe tentant l'attaque surprise, et que in-RP l'autre groupe ne l'ai pas déjà vu.
</div>
Le combat se termine quand les ennemis n'ont plus de raison de se battre, ou n'en sont plus capable pour une raison ou une autre.
## Tours et actions
Le tour commence au jeu du premier joueur du tour et se termine à la fin de celui du dernier joueur. Le décompte des tours est effectué par le MJ, et peut affecté les différents effets pouvant se produire en combat.
Pour les effets durant plusieurs tours, certains sont compté au début du tour, d'autre à la fin, d'autres à celui des personnages, suivant les catégories suivantes :
- Tout les décomptent globaux, liés à tout les personnages et le combat dans son entiereté (countdown avant qu'un personnage arrive, décompte du nombre de tour, malédiction placée par un élément hors du combat) se décomptent.
- Tout les effets lié à un seul personnage où à un sort se décomptent au début du tour du personnage (poison, cooldown d'une capacité). Il y a une seule exception à cela : les déplacement, comme vous le verrez plus bas.
- Les "effets d'environnement" (tirs perdu d'une armée autour, pluie aléatoire de boule de feu), s'effectuent à la fin du tour.
### Actions d'un personnage
Lors d'un tour, chaque personnage peut faire 1 ou plusieurs des trois actions suivantes :
- Un *déplacement* (pour changer de position après s'être mis à découvert, attaquer un ennemi qui n'est pas immédiatement devant soi, etc) avant ou après son action. Certaines capacités consommes un déplacement en plus de l'action (qu'elle soit avant ou après le tour). Le déplacement ne se regénèrent pas au début du tour du personnage, mais de celui global ! Cela veut dire que si vous désirez réserver votre déplacement pour une action qui se passerait hors tour, jouer en dernier peut devenir aventageux. Le déplacement peut aussi servir à *changer de posture*.
- Une *action*. En règle générale : tout sort, attaque, capacité non-passif ou récupération/changement d'équipement présent dans le sac (recharger son arme, changer d'épée) consomme une action, qui représente ce que le personnage peut faire à son tour. Toute action simple et courte avec un objet déjà en main (boire une potion, retirer un gants, mettre ses lunettes de soleil en tournant le dos à une explosion) pourra être fait en plus de l'action.
## Attaquer
Pour faire une attaque, il faut faire un jet qui va déterminer si l'attaque réussie, et un jet d'un dés d'action pour le nombre de dégats qu'il fait.
L'attaque peut se faire avec les jets suivants :
- Jet de **FOR** (+ compétence) pour les armes au coprs à corps (épée, etc) + un dé de CaC
- Jet de **PER** (+ compétence) pour les armes à distances (arc, etc) + un dé de jet
- Jet de **CHA** (+ compétence) pour les attaques morales (faire peur, etc) + un dé de mental
Il est possible d'ajouter d'autres jet pour d'autres types d'armes, par exemple des jets de **VOL** et dé de mental ou de jet pour de la magie, etc.
Les dégats de l'attaque sont alors calculé de la manière suivante : *résultat du dé d'action* (Généralement x2 si critique) + nombre de dégat que fait l'arme du personnage + tout bonus qui pourrait arrivé. Le dé d'action gagne également +1 dégats par points au dessus de 100 de son pourcentage de réussite de jet.
Si l'attaque fait des dégats, alors l'arme pourra également potentiellement causer des *blessures* faisant des dégats continu au personnage.
### Attaques spéciales
Différents effets peuvent s'appliquer aux attaques et affecter les personnages différemment :
- L'effets **perce-armure** font que les dégâts vont traverser l'armure, et ne pourront être protéger par elle. Une attaque est *semi perce-armure* si elle divise par deux l'armure.
- Les dégâts **perce-défense** font que les dégâts vont traverser la défense, et ne pourront être protéger par le jet de vigueur et le bouclier. Une attaque est *semi perce-défense* si elle divise par deux le jet de vigueur et bouclier.
- Les dégâts **brise-armure** font perdre un points d'armure tout les six dégâts (en priorité sur le bouclier s'il est utilisé). Les points d'armure spéciale ne sont pas touché.
- Les dégats de **chute** sont à 1D12, lancé le nombre de fois correspondant au nombre d'étage de la chute. Ils sont brises-armures et perce-armure.
- Les dégats d'**explosions** font des dégats fixes suivant la liste des dés (4, 8, 10, 12, 20) et sont perce armure *ET* à moitié perce-défense.
### Multi-attaque
Les multi-attaques ont une façon de fonctionner différente des attaques normales. Elles sont particulièrement bonne contre les ennemis basé sur l'esquive ou sur le nombre de PV, et moins efficace sur les ennemis résistants.
- En plus des jets de base de son attaque, le personnage fait un *jet de nombre d'attaque* (déterminé par la compétence permettant le multi-attaque).
- Le critique rajoutera plus d'attaque plutôt que de doubler les dégats.
- L'encaissement fait aussi un seul jet, puis appliquera l'encaissement sur chaque attaque.
- L'esquive fait cependant autant de jet que d'attaque pour esquiver, avec un bonus dégressif de 10% par attaque.
## Encaisser et esquiver
Il y a deux manière de réduire les dégats d'une attaque (hors compétence spécifiques) : l'encaissement et l'esquive.
- L'encaissement utilise un jet de CON (VOL pour les attaque mental, REL pour celles sociales) pour réussir, et permet de réduire les dégats d'un jet de vigueur ou mental, auquel peut s'ajouter les boucliers. Le dé d'action gagne également +1 dégats par points au dessus de 100 de son pourcentage de réussite du jet.
- L'esquive fait une confrontation d'HAB face à l'attaque ennemie pour éviter entièrement l'attaque. Elle ne marche que sur les attaques physiques et diminue de 10% par esquive dans un même tour.
En cas d'échec critique, les effets de l'attaque de l'ennemi sont doublés.
<div class="well">
**Note :** Un encaissement complet élimine aussi les blessures.
</div>
## Soigner
Il existe plusieurs moyens de soigner les autres personnages, ce qui passera plus par des compétences de classes. Il peut exister plusieurs grands types de soins : ceux qui soignent des *blessures*, ceux qui soignent des PV/PM et ceux qui soignent des afflictions.
Pour les soins de PV/PM, il peut exister certains types de soins :
- Faire faire au soigné un dé de vigueur
- Soigner à partir des niveaux de réussites
- Soigner à partir d'un dé en particulier (le dés de mental du soigneur par exemple, ou un fixé par la compétence)
## Placement
Un combat ou chaque groupe est bien "rangé" peut se diviser principalement en deux groupe, chacun composé de deux ligne :
- La ligne frontale est celle le plus proche de l'autre groupe
- L'arrière ligne est plus éloignée.
Ces lignes sont également présentent dans d'autre cas, si les ennemis entoures les héros, ou l'inverse, par exemple (avec des spécificités).
Dans ce genre de disposition, une attaque au corps à corps ne pourra que toucher la front-ligne, mais l'arrière-ligne ne pourra pas faire d'attaque au corps à corps sur les ennemis. Changer de ligne *coute un déplacement*.
### Attaque et défense d'opportunité
Ce système permet certaines *actions d'opportunité* :
- Si un ennemi tente de traverser la ligne pour aller attaquer quelqu'un de l'arrière ligne au cac, des membres de la ligne frontale pourront avoir une *attaque d'opportunité* ou une *défense d'opportunité* pour protéger leurs collègues.
- De même, certains tirs (non en cloche) pourront provoquer des défense d'opportunité de la ligne frontale.
### Placement plus libre
Lors de combat plus "libre", ou les ennemis peuvent bien se disperser, il est possible d'avoir un placement libre, et d'utiliser du coup des distances en mettre pour déterminer les placement, ou un plateau de figurine.
## Postures de combat
Les postures de combats sont des postures qui permettent au personnage de modifier comment il va fonctionner. Changer de posture prend un déplacement, et reste jusqu'à ce qu'il soit changé à nouveau.
| Posture | |
|:-------:|:---|
| **Posture d'aide** | L'effet des soin est augmenter par les niveaux de réussite divisé par deux, et le perso à +15% pour aider d'autres personnages. Le personnage à -20% pour faire des actions offensive action offensive. |
| **Posture d'attaque** | utilisateur fait toujours max dégât du dé utilisé pour attaquer (cac, mental ou jet). Il ne peut cependant plus se défendre et à un malus de 10% pour les actions non-aggressive. |
| **Posture de protection** | Le personnage gagne en encaissement en plus du jet de vigueur/mental les niveaux de réussite divisés par deux. Le personnage gagne également 15% pour esquiver et perd 20% pour toucher les ennemis. |
| **Posture focus** | Gagne un jet d'aventage pour réussir les effets secondaire de ses actions, mais un jet de désaventage pour y résister. |
## Confrontations sociales
<div class="well warning">
**Attention:** Dans ce type de combat, les soins ne fonctionnent pas, hors exception.
</div>
Certains types de combats auront comme objectif non pas de vaincre votre adversaire en lui-même, mais de prouver à un tierce parti que vous avez raison face à lui, où que vous le dépassez sur un point quelconque.
Dans ce cas là, chaque quand aura un certain nombre de points de confiance (fonctionnant comme des PE), et pourront utiliser diverses techniques pour faire baisser les points de PE de l'adversaire, où jouer de leur relationnel pour faire monter les leurs.
Les attaques peuvent alors aussi être faites sur les différentes statistiques mentale ou sociales pour faire des dégats de réputations.
## Combat de bataille
Une bataille est un combat où l'équipe fait partie d'un combat bien plus grand. Il s'agit souvent d'un combat d'endurence, où le MJ décide de comment se produire le combat global tout autour. Ici, ces règles permettent de décider un peu comment la bataille se produit du côté des personnages.
Le principe de ce combat est de gérer le nombre d'ennemis qui apparait et arrive dans la zone de combat concernant les personnages. Ce qui affecte cela est à quel point les personnages sont **dans** la bataille, notamment à quel point il s'y font remarquer. Cela est géré par un *score de visibilité*.
Chaque tour, s'il y a de la place pour l'arrivée d'ennemi (par défaut, on peut caper à nombre de joueur + 50%, à adapter suivant la force des ennemis), un jet sera fait sur le score de visibilité pour déterminer leur arrivée. Pour chaque ennemis en moins que els héros, ce score est augmenté de +10. Ce score augmente également à chaque fois que les personnage font un exploit visible, une attaque puissante, etc.
Pour baisser ce score, il y a plusieurs moyens :
- Utiliser des compétences spécifiques ou de baisse d'aggro
- Faire des jets de discretions pour être discrets (pour détourner vers les autres combattants alliés)
- S'éloigner du coeur des combats

View file

@ -1,96 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
key: Système de jeu
order: 0
---
Le jeu de rôle Pélican est un système générique fondée sur les notions d'action et de compétence. le coeur du jeu est que chaque action est déterminé par un pourcentage de réussite, auquel est comparé le résultat d'un tir de D100. Ce système a été choisi pour son aspect relativement intuitif.
Les dés utilisé sont les dés suivants : Le **D4**, le **D6**, le **D8**, le **D12**, le **D20** et le **D100**
## Qu'est-ce qu'un personnage peut faire ?
Les personnages ont un certains nombres de capacités et de chose qu'ils peuvent faire, passivent ou activement. On peut séparé cela en deux grands types :
- Les **actions** sont tout ce qu'un personnage peut faire *hors de la nécessité de posséder un pouvoir particulier*. Par exemple, si "lancer une boule de feu" (sauf si l'univers dit que tout le monde peut faire ça) nécessitera généralement un pouvoir spécifique, tenter de graver une rune, allumer un ordinateur ou d'effectuer un ballet pourra être tenté par tous.
- Les **pouvoirs** sont à contrario tout ce qu'un personnage peut faire, et qui nécessité d'être après pour être ne serait-ce que tenté. On peut voir ça comme les sorts d'un RPG, par exemple. Ils peuvent être actif ou passif, ou se situer quelque part entre les deux. Ils ont généralement des règles écrites plus ou moins spécifiques à un JDR
### Les types de pouvoirs
Les pouvoirs sont divisé en trois types :
- Les **capacités actives**, qui s'activent une à la fois en consommant une action.
- Les **capacités passives**, qui s'activent passivement (sous conditions ou non), et peuvent se combiner.
- Les **postures** qui sont des compétences passives nécessitant une activation, et durent jusqu'à leur remplacement par une autre posture. Changer de posture ne consomme pas d'action mais peut n'être fait qu'à son tour.
Certains jdr peuvent imaginer d'autres types de capacités, tels que des capacités ajoutant des effets à une attaque. Ils peuvent être lié à un système de classe, ou spécifiques à un personnage.
## Effectuer une action
Pour effectuer une action, le joueur additionne deux variables pour obtenir sa capacité à réussir l'action :
- L'une des *dix statistiques* du jeu (force, constitution, etc), allant de 0 à 80 si le personnage n'a pas eut de bonus
- L'une de ses compétences (natation, escrime, etc), allant de 0 à 70, et étant généralement plus facile à monter
Les deux ensemble donne alors le *pourcentage de réussite* (d'autres pouvoirs peuvent l'augmenter ou le diminuer). Le joueur jette ensuite un D100, et le compare à cette statistique, l'action étant réussie si le résultat du dé est **inférieur ou égal à ce pourcentage de réussite**.
Il est à noter qu'il n'est pas toujours important de faire un jet, et que parfois il est mieux de gérer en RP ce qu'il se passe.
> **Attention :** Le 00 + 0 du D100 correspondent à un 100, soit le pire échec possible.
### Réussite et échec critique
Il existe en plus de cela une troisième statistique qui peut affecter le jeu, la *pression*. La pression donne le pourcentage de réussite ET d'échec critique du personnage. Les échec et réussite sont alors calculé assez simplement :
- Si le résultat du dé est *inférieur ou égal* à la pression, c'est alors une réussite critique (1 à 5 pour 5 de pression, par exemple)
- Si le résultat du dé est *strictement supérieur* à 100-la pression, c'est alors un *échec critique* (96 à 100 pour 5 de pression, par exemple)
Le résultat *in-RP* d'un échec ou d'une réussite critique est à la discretion du MJ, et peut avoir des conséquences imprévues (c'est plus rigolo).
<div class="well">
**Note :** le minimum de pression est 1, sauf compétence particulière.
</div>
### Niveaux de réussite
Pour déterminer *à quel point* laction est réussi existe aussi un **niveau de réussite** qui correspond au nombre de dizaine du pourcentage de réussite auquel on soustrait le dé jeté. Par exemple :
| | E1 | E2 | E3 | E4 | E5 | E6 |
|-----------------|:---:|:-----:|:-----:|:---:|:-----:|:-------:|
| **% réussite** | 40 | 80 | 75 | 75 | 120 | -25 |
| **Résultat** | 51 | 34 | 74 | 78 | 22 | 90 |
| **Niv reussite**| *-1*| **5** | **0** | *0* | **10**| **-11** |
Une réussite et un échec critique *double toujours* les niveaux de réussite, et les transforme en niveau d'échec pour un échec critique, et en niveau de réussite pour une réussite critique. Par exemple, si vous avez un total de 150 de stat et faite un échec critique, vous aurez 12 niveau d'échec.
## Modificateurs de difficultés.
Les modificateurs de difficultés sont des bonus s'appliquant directement sur le pourcentage de chance de réussir, permettant de plus facilement modéliser la difficulté d'une action.
Le maitre du jeu peut modifier la difficulté d'une action de la manière suivante :
- Une action difficile à faire si on a pas de compétence peut diviser la statistique par deux si le personnage n'a pas la compétence requise (voir diviser la stat par deux tout court).
- Rajouter un aventage/désaventage à la manière de D&D : Faire faire le jet de dé deux fois, et prendre le meilleurs/pire résultat suivant les cas.
- Faire qu'une action nécessite une réussite critique pour être réussie, ou n'est raté que sur un échec critique, pour les actions quasi impossible ou inratable.
## Confrontation et classements
<div class="well">
**Note :** En cas dégalité du nombre de réussite, sil y a vraiment un besoin de déterminer un gagnant et un perdant, le joueur avec lunité la plus faible est gagnant. Si jamais il y a tout de même égalité, on rejette un d100, et le plus petit score gagne.
</div>
Lorsque deux personnages font des actions qui sopposent, ils font **une confrontation de dés**. Pour savoir qui lemporte, on calcule le niveau de réussite de chaque action, et on compare celui qui réussi le mieux laction. Par exemple, si un perso P1 fait un jet de réussite à 2 niveaux de réussite, et un adversaire à 1, cest P1 qui gagne.
Pour effectuer un **classement** entre plusieurs joueurs, on fait léquivalent dune confrontation entre tous les joueurs. Tous les joueurs jettent un dé et font un calcul de niveau de réussite par rapport à la statistique concernée, et on classe les joueurs par niveau de réussite, celui en ayant le plus étant premier, et le moins étant dernier.
En combat, les confrontations sont utilisé pour calculer les esquives.
## Autres dés
D'autres dés peuvent utilisé dans le jeu de rôle, pour symboliser les éléments suivants :
- Les chances que quelque chose se produisent (notamment par des jets d'afflictions, de malédiction, etc)
- Les effets de certaines compétences…

View file

@ -1,188 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: Inventaire et équipement
order: 3
---
Vos personnages peuvent avoir un certains nombres d'objets, qui seront utilisé dans certains cas, notamment en tant qu'équipement. Les types d'objets que vous pouvez avoir sont les suivants :
- Les armes, qui vous permettent d'attaquer et faire divers effets
- Les boucliers, qui vous permettent de vous défendre
- Les tenues et armures, que vos personnages mettent et permettent de plus ou moins se défendre
- Les accessoires faisant divers effets
- Les objets que vous pouvez utiliser une ou plusieurs fois
## Armes
Les armes sont des *équipement de mains* pouvant utiliser une ou plusieurs mains de votre personnage. Les armes existent en trois grands types de base
- Les armes de **CaC** (corps à corps) sont des armes qui utilisent un jet de FOR, et attaquent sur la défense normale. Les dégats effectué sont égaux aux niveaux de réussite plus la force de l'arme.
- Les armes à **distances** sont des armes qui utilisent un jet de PER, et attaquent sur la défense normale. Peuvent toucher à distance (logique). Les dégats effectué sont égaux aux niveaux de réussite plus la force de l'arme.
- Les **armes à feu** sont des armes qui utilisent un jet de PER, et attaquent sur la défense normale. Peuvent toucher à distance (logique). Les dégats effectué sont égaux uniquement à la force de l'arme, mais les chance de réussite critiques augmentent avec chaque % de compétence au dessus de 100.
En plus de cela, il est possible d'imaginer des *baguettes magiques* qui attaqueront sur le spécial, et utiliseront la VOL du personnage.
Voici un petit tableau d'armes de bases :
| Nom | Type | Mains | Effet | Force | Prix |
|:------:|:------:|:------:|:------:|:------:|:------:|
| Mains | CaC | 2 | Comptent comme main nue. Non-Lethal | 0 | 0 |
| Projectile | Distance | 1 | Lance un projectile (pierre, etc) | 0 | 0 |
| Poings | CaC | 2 | Comptent comme main nue. Non-Lethal | 2 | 80 |
| Griffe | CaC | 2 | Comptent comme main nue. Une blessure si critique | 3 | 150 |
| Batons | CaC | 2 | Non-Lethal | 2 | 80 |
| Fouet | CaC | 1 | Peut toucher à distance | 3 | 150 |
| Couteau | CaC | 1 | Peuvent être lancée. Une blessure si critique. Peut être utilisé pour causer 0 dégats mais une blessure. | 3 | 150 |
| Épée | CaC | 1 | Une blessure si critique | 5 | 400 |
| Épée à deux mains | CaC | 2 | Une blessure si critique | 8 | 550 |
| Hachette | CaC | 2 | -20% en FOR; Peut être lancé; Provoque une blessure (+1 si crit) | 5 | 550 |
| Haches | CaC | 2 | -40% en FOR; Provoque une blessure (+1 si crit) | 9 | 600 |
| Lance | CaC | 2 | Peut être lancé ; Touche des ennemis plus éloigné ; +50% dégat si sur/contre monture | 5 | 550 |
| Hallebarde | CaC | 2 | -20% en FOR; Peut être lancé ; Touche des ennemis plus éloigné ; +50% dégat si sur/contre monture | 12 | 600 |
| Marteau | CaC | 1 | Effet de brise-armure | 4 | 400 |
| Masses | CaC | 2 | -20% en FOR; Effet de brise-armure | 6 | 600 |
| Lance-Pierre | Distance | 1 | Peuvent être utilisée pour jeter des projectiles spécifiques | 1 | 150 |
| Fronde | Distance | 1 | Peuvent être utilisée pour jeter des projectiles spécifiques | 2 | 200 |
| Boumerang | Distance | 1 | Provoque un désaventage à l'esquive chez l'ennemi | 3 | 200 |
| Pelle | Outil | 2 | Peut être utilisé pour creuser | 1 | 100 |
| Fourchette | Outil | 2 | Manger rapporte +1 PM | 1 | 30 |
| Arc court | Distance | 2 | Perce-armure sur les hélicoptères | 4 | 350 |
| Arc long | Distance | 2 | Perce-armure sur les hélicoptères | 6 | 400 |
| Arbalète à une main | Distance | 1 | Semi perce-armure ; Peut s'enrayer | 6 | 500 |
| Arbalète | Distance | 2 | Semi perce-armure ; Peut s'enrayer | 8 | 600 |
| Escopette/Arquebuse | Arme à feu | 1 | Doit être rechargé tout les tir ; Réussite de DEF/2 | 5 | 400 |
| Revolver | Arme à feu | 1 | Doit être rechargé tout les trois tir ; Réussite de DEF/2 | 5 | 550 |
| Fusil | Arme à feu | 2 | -20% en PER; Doit être rechargé tout les deux tir ; Réussite de DEF/2 | 9 | 600 |
| Tromblon | Arme à feu | 2 | -20% en PER; Doit être rechargé tout les deux tir ; Touche une zone; Réussite de DEF/2 | 5 | 600 |
| Pistolet automatique | Arme à feu | 1 | -30% en FOR; Réussite de DEF/2 | 5 | 900 |
| Fusil automatique | Arme à feu | 2 | -50% en PER; Réussite de DEF/2 | 9 | 1200 |
| Fusil à double canon | Arme à feu | 2 | -50% en PER; Doit être rechargé tout les tirs ; Réussite de DEF/2 | 12 | 1200 |
## Boucliers
Les boucliers permettent de diminuer les dégats si un jet d'encaissement est réussi, en ajoutant leur puissance de protection à l'armure physique ou magique du personnage.
| Nom | Type | Mains | Effet | Force | Prix |
|:------:|:------:|:------:|:------:|:------:|:------:|
| Bouclier simple | Bouclier | 1 | | 1 | 100 |
| Bouclier renforcé | Bouclier | 1 | | 2 | 200 |
| Bouclier lourd | Bouclier | 1 | -20% pour encaisser/esquiver | 4 | 400 |
| Pavois | Bouclier | 2 | -30% niveau pour encaisser/esquiver | 6 | 550 |
## Effets d'arme et bouclier
Les armes et boucliers peuvent avoir un ou des effet(s) supplémentaire(s).
| Nom| Effet| Surcout |
|:------:|:------:|:------:|
| Améliorée | x1.5 force | +50% |
| Supérieur | x2 force | +100% |
| Ultime | x3 force | +200% |
| Pouic | x0 force | +0% |
| Acéré | Provoque une blessure à l'adversaire | +50% |
| Non-léthal | Tout coup avec ne fera pas tomber en dessous de 0 PV | +10% |
| Léthal | Double les chances de critique | +50% |
| Vorpale | Les critique font x3 au lieu de x2 | +100% |
| de verre | Double la force, mais ne peut être utilisé que deux fois | +10% |
| À accroche | À besoin d'une main de moins | +10% |
| Laser | Attaque sur l'armure spéciale (armes) | +100% |
| Consolidé | Effet du brise-armure divisé par 2 (bouclier) | +25% |
| Miroitante | Renvoie la moitié des dégâts spéciaux infligés (bouclier) | +50% |
## Tenues et armures
Les tenues sont un équipement offrant protection et effets divers à votre personnage. Les personnages ne peuvent porter qu'une tenues à la fois, il peut être donc intéressant d'adapter sa tenue aux circonstances. Les tenues se divisent principalement en deux types : Les vêtements (qui apportent peu de protection, mais des effets utiles) ou les armures (qui ont moins d'effets, mais plus de protection).
| Nom | Effet | Physique | Spécial | Prix |
|:------:|:------:|:------:|:------:|:------:|
| Vêtements communs | | 1 | 1 | 200 |
| Vêtements confortables | +1 armure mentale* | 1 | 1 | 300 |
| Tenue terrifiante | L'ennemi à +2% en échec critique | 1 | 1 | 300 |
| Tenue polaire | +20% pour résister au froid ; -20% pour résister au chaud | 1 | 1 | 300 |
| Tenue légère | +20% pour résister au chaud ; -20% pour résister au froid | 1 | 1 | 300 |
| Séduisante | +20% pour charmer | 1 | 1 | 300 |
| Maillot de Bain | +20% pour equiver* | 0 | 0 | 300 |
| Tenue discrète | +20% en DIS dans un lieu sombre | 1 | 1 | 400 |
| Uniforme de faction | Permet de donner l'impression d'être un membre de cette faction si l'on est pas trop connu | 1 | 1 | 400 |
| Costard | +20% sur les reventes ; +20% risque de se faire attaquer dans les rencontre aléatoire | 1 | 1 | 800 |
| Tenue majestueuse | +20% dans les statistiques sociales en milieu riche | 1 | 1 | 600 |
| Tenue du Héros | +20% CHA | 2 | 1 | 600 |
| Tenue de voyage | +20% pour les exploration de grand espace | 2 | 1 | 600 |
| Tenue renforcée | | 2 | 2 | 400 |
| Côte de maille | -10 % HAB | 4 | 2 | 750 |
| Armure d'apparat | -25 % DIS et HAB ; +20% dans les stats sociales en milieu riche ; +3 armure mentale* | 4 | 1 | 1050 |
| Armure | -25 % DIS et HAB | 5 | 2 | 950 |
| Armure Lourde | -40 % DIS et HAB | 7 | 3 | 1200 |
\* Les bonus de boost d'armure physique renforce cet élément
Les armures peuvent avoir les effets suivants :
| Nom| Effet| Surcout |
|:------:|:------:|:------:|
| Améliorée | Fait 50% de défense physique en plus | +50% |
| Supérieur | Fait 100% de défense physique en plus | +100% |
| Ultime | Fait 200% de défense physique en plus | +200% |
| Presque surnaturelle | Fait 50% de défense spéciale en plus | +50% |
| Magique | Fait 100% de défense spéciale en plus | +100% |
| Occulte | Fait 200% de défense spéciale en plus | +200% |
| Intégrale | Masque les points faibles | +25% |
| Consolidée | Effet du brise-armure divisé par 2 | +25% |
| Miroitante | Renvoie la moitié des dégâts spéciaux infligés | +50% |
| Champs d'énergie | Les attaques perce-armure font moitié dégats | +100% |
| Pare-balle | Anti-perce défense face aux armes à feux | +25% |
| Anti-explosion | Encaisse les explosions | +25% |
(Note : certains noms devront être adapté suivant les JDRs)
## Accessoires
Les accessoires sont des objets limités aux nombre de deux, qui peuvent améliorer un personnages. A noter que ces accessoires ne sont que des exemples, et que la liste sera très variable selon les JDRs.
<div class="dataTable-containeur">
| Accessoire | Effet | Prix |
|:----------:|:------|:----:|
| Renforceur | +15 en FOR | 650 |
| Bracelet de santé | +15 en CON | 650 |
| Chaussures de courses | +15 en HAB | 650 |
| Blouse | +15 en INT | 650 |
| Medaillon du penseur | +15 en SAG | 650 |
| Amulette de volonté | +15 en VOL | 650 |
| Cape de héros | +15 en CHA | 650 |
| Masque de voleur | +15 en DIS | 650 |
| Collier mignon | +15 en REL | 650 |
| Visière | +15 en PER | 650 |
| Sous-côte de maille | +3 armure physique | 750 |
| Rebourrage d'armure | +3 armure spéciale | 750 |
| Objet préféré | +3 armure mental | 750 |
| Lunettes | Protège de malus en perception | 750 |
</div>
## Objets
Les objets peuvent être stocké dans l'inventaire de votre personnage et utilisé quand le besoin s'en fait sentir. Certains objets sont consommable, d'autres sont réutilisable, et divers effets peuvent exister pouvant être utile.
| Objet | Effet | Prix |
|:----------:|:------|:----:|
| Nécessaire de camping | Permet de loger un petit groupe de personne (4~5). Réutilisable, mais prend de la place et doit prendre du temps pour être remonté | 200 |
| Nécessaire de jardinage | Rajoute +40% pour trouver des plantes ou ingrédients d'herboristeries | 800 |
| Nécessaire de soin | Rajoute +5% de réussite critique pour soigner ; permet de stabiliser quelqu'un dans le coma | 1000 |
| Nécessaire de cuisine | +30% pour cuisiner, fait de base des *repas de qualité*. Peut rajouter les effets de plantes à un plat. | 1000 |
| Repas complet de base | Des vivres pour une journée. Durent une partie. | 5 |
| Repas de qualité | Des vivres pour une journée + rajoute 10% à toutes les stats. Durent une partie. | 25 |
| Repas épicé | Des vivres pour une journée + 10% de résistence au froid. Durent une partie. | 25 |
| Repas fraicheur | Des vivres pour une journée + 10% de résistence à la chaleur. Durent une partie. | 25 |
| Alcool | Rend 1D12 PM, mais jet de CON pour éviter d'être ivre (-20% pour chaque conso supplémentaire). | 20 |
| Café | Offre +30% de résistence au sommeil. | 15 |
| Infusion d'Herbe | Permet d'appaiser quelque peu le personnage, rend 1D6 PM. | 15 |
| Thé | Servi en groupe, apporte +5% de REL à tout le monde. | 15 |
| Bandages | Retire une blessure | 10 |
| Antidote | Retire l'effet *poison* | 10 |
| Tisane Extra-forte | Retire l'effet *terreur* | 10 |
| Torche | Permet d'éclairer les lieux | 5 |
| Cordes | Permet d'attacher | 5 |
| Explosif | Fait 8 dégats d'explosion de zone | 40 |

View file

@ -1,86 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: PNJs et créatures
order: 4
---
Les "mobs" (créatures ou PNJ) 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.
## PNJs
Un des deux grands types d'être que vous pourrez rencontrer dans un JDR sont les **PNJ** (Personnages Non Jouables). Ils représentent tout les êtres conscient que vous pouvez rencontrer, avec qui vous pourrez discuter ou non mais n'étant pas contrôlé par un autre joueur. Ces personnes ont besoin de différents éléments d'un personnages jouables (statistiques, equipements, pv/pe, voir quelques compétences ou capacités), mais cependant nécessite d'être plus simple pour pouvoir être construit rapidement par le MJ en cas de besoin.
Un PNJ possède une fiche un peu simplifiée par rapport à celle d'un PJ, notamment expurgée de la plupars des éléments relatifs au concept d'expérience.
Un PNJ comme un PJ possède une fiche avec les éléments suivants :
- Des PV et des PMs
- Les dix *statistiques* de base d'un personnage
- Les quatres dés d'actions
- De la pression
- Des *équipements*
- Six capacités
- Des compétences
Certains plus complexe peuvent être construit entièrement comme un PJ.
## Créatures
Les *créatures* sont les ennemis communs que les joueurs rencontrerons. Contrairement aux boss ou aux PNJ important, les créatures utilisent une fiche simplifiée, n'ayant ni concept d'expérience ni concepts complexes. Les créatures ont des comportements plus simple que ceux des PNJ classiques, étant plus régis par un instinct et des choses du genre. Cependant, ils peuvent également avoir une personnalité, qui se fait à partir d'un *jet de personnalité* est fait.
Ce ne sont cependant pas des monstres : le système de Pélican est assez flexible sur ce que vous rencontrez, et vous n'êtes pas obligé d'en faire des êtres à combattre.
Les créatures possèdent une fiche fortement simplifiée, avec la plupars des éléments nécessaires pour fonctionner intégré de base (armes, armures, etc) :
- Des PV et des PMs
- Les dix *statistiques* de base d'un personnage
- Les quatres dés d'actions
- De la pression
- Des armes et armures "intégrées"
- Quatre capacités utilisable par la créatures
## Recruter un PNJ
Certains PNJs pourront rejoindre votre équipe, et pourront avoir alors deux rôles : *accolyte* ou *suiveurs*.
- Les **acolytes** sont une sorte de "semi-PJ" lié soit à un PJ en particulier, soit au groupe de PJ. Dans le premier cas, il sera joué par le joueur du PJ, dans le second par le MJ directement. Ils ont une fiche de PNJ, avec toutes les simplifications habituelles (les six capacités, notamment, qui sont généralement plus unique) ou non (s'ils sont construit comme les PJs), et peuvent porter des objets, et même en changer au fur et à mesure de l'aventure, via le même système que les joueurs. Vous pouvez avoir 1 ou 2 acolytes qui vous aides en combats, suivant le nombre de joueurs et la situation.
- Les **suiveurs** sont des PNJ encore plus simplifié (statistiques + PV/PM + des compétences ou capacités) ne se battant pas et servant à accomplir des tâches très spécialisé (par exemple, un voleur engagé pour crocheté des serrures). S'ils ne combattent pas, certains peuvent avoir un pouvoir s'activant en combat (effectuer un soin tout les trois tour, par exemple). Ils peuvent être assez nombreux dans le groupe, mais seuls un peut être actif lors d'un combat.
Ce qui permet le recrutement se gère en RP.
## Domestiquer une créature
Pour influencer une créature, le joueur doit avoir une compétence de *maitre des (type de créature)* pour ne pas faire de jet affaibli. Ces jets sont plus ou moins difficile suivant l'attitude et affecté par la stat de *docilité* de la créature.
Avec une capacité de **domestication** approprié, un joueur peut aussi tenter de faire d'un animal sauvage un familier, si celui-ci est dans une attitude adéquate ou neutre. La compétence citée ci-dessus est également nécessaire
### Familiers
Chaque personnage peut avoir un *familier*. Un familier est une créature domestiquée qui suivra de prêt le personnage, devenant presque un mini-personnage, et pourra même se battre. Il n'y a pas de limite au nombre maximum de familiers, mais le MJ peut décider de rajouter des malus plus le joueur en a.
Les familiers sont sauf exceptions mortels, et doivent se retirer du combat avant de tomber KO, ou alors il faut les faire sortir. Un joueur ne peut avoir qu'un familier qui l'aide en combat à la fois, et pas plus. Ils jouent après ou avant le tour de leur joueur.
Les familiers utilisent des fiches de *créatures simples*.
## Créature géante
Les créatures géantes sont des créatures très grandes. Mais genre très très grandes. Cela entraîne quelques particularités dans leur manière d'être gérée. En effet, les créatures géantes sont plus durables et plus puissante, mais ne peuvent plus esquiver les entités non-géantes (sauf pouvoir spécifique). Cela entraîne les règles et particularités suivantes:
- Une créature géante doit avoir 3 stack d'une affliction infligée pour qu'elle s'active
- Une créature géant ne peut pas esquiver les attaques de personnage ou véhicule non-géant
- Ses PV seront égal à environ 5 fois ceux équivalent d'une créature de taille "normale" (par exemple, un rat géant aura 100 PV au lieu de 20)
- Son armure et ses dégats seront généralement doublés (notamment via un bonus flat sur le dés de CaC et vigueur)
Les joueurs peuvent bénéficier de l'aide de créature/forme géante, cependant pour des raisons d'équilibrage, une créature géante ne peut rester que trois tour en combat normal, si elle est invoquée face à des ennemis normaux.
## Nuée de créature
Les nuée sont des groupes de créature ou PNJ fonctionnant comme un seul. Il s'agit d'un moyen de faire affronter des grands nombre d'ennemis plus facilement. Les troupes sont plus durable au début, mais saffaiblissent au fur et à mesure qu'elles subissent des dégâts. Elles sont constitué d'un certain nombre d'ennemis de même type, ce qui augmentent les PV et leur nombre d'action de la manière suivante:
- Leur nombre de PV initial est égal au nombre de créature × le nombre de PV de base. Par exemple, pour un pack de six rat de 20PV aura 120PV en tout.
- De même, le nombre de créature restantes est lié au nombre de PV. Par exemple, pour le pack de six rat, si vous lui faite 43 dégats, deux rats seront vaincus.
- Les attaques sont multi-coup et lié aux nombre de créature.
- Cependant l'encaissement et l'esquive de la meute est faite comme une seule fiche

View file

@ -1,179 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: Personnages
order: 0
---
Les personnages sont le coeur de tout JDR, et Pélican ne fait pas exception à la règle. Voici comment fonctionne le système de personnages, et les différentes variables qu'il utilise.
Un personnage contient de base les éléments suivantes :
- Des PV (point de vie) et des PM (points de moral) qui définissent la capacité à tenir du personnage.
- Dix statistiques qui représentent la base de ce qu'il veut faire, allant par défaut de 0 à 80 (pouvant être augmenté).
- Quatre *dés d'actions* permettant de déterminer la puissance de certaines attaques.
- Un nombre arbitraire de compétence allant de 0 à 70 qui s'ajoutent aux statistiques pour faire les actions.
- La pression qui détermine les réussites et échecs critiques.
- Des pouvoirs qui seront souvent déterminé suivant le JDR et son système de classe, voir construit par le MJ au fur et à mesure du JDR pour le personnage en particulier.
- Des trait uniques choisi à la création du personnage (généralement un négatif et un positif).
## Les PVs et les PMs
Les personnages peuvent se prendre des dégâts de plusieurs manière, sur leur *physique* et leur *moral*. C'est représenté par deux variables, les PVs et les PMs.
- Les **PVs** représentent la vitalité physique de votre personnage. Lorsqu'ils tombent à zéro, votre personnage devient *inconscient*, et lorsqu'il tombent à leur maximum en négatif, le personnage doit faire un *jet de survie* (lancer un D100 face à un pourcentage de survie établi par le MJ pour survivre à la situation).
- Les **PMs** représentent l'état mental du personnage. Lorsqu'ils tombent à zéro, votre personnage fait un *jet de panique* qui va déterminer comment se déroulera la suite du combat. Lorsqu'ils tombent à -max, il doit faire chaque tour un jet pour ne pas s'évanouir et tomber à 0 PV.
En plus de cela, votre personnage peut avoir un certain nombre de *blessures*. Chaque blessure fait 1 dégats par tour, et doivent être soignées séparément.
## Statistiques
Les dix statistiques sont divisés en statistiques physiques, mentales et de caractères, ainsi que la perception. Une personne à en moyenne « 50 » à une stat. Les statistiques sont les suivantes :
| | | |
|:---------:|:----------------:|:------------:|
| **FORCE**<br />*Force brute physique (frapper, soulever, faire un bras de fer…)* | **INTELLIGENCE**<br />*Analyse et réflexion (érudition, calculer, réparer une machine)* | **CHARISME**<br />*Aura extérieure (confiance en soi, prestance, impressionner)* |
| **CONSTITUTION**<br />*Résistance physique (encaisser, résister aux maladies…)* | **SAGESSE**<br />*Faire les bons choix (voir les manipulations, les pièges)* | **DISSIMULATION**<br />*Capacité à masquer la vérité (mentir, se cacher, bluffer)* |
| **HABILITÉ**<br />*Agilité et dextérité (minutie, esquive, course à pied…)* | **VOLONTÉ**<br />*Force mentale (rester sur sa voie, résister aux pressions)* | **RELATIONNEL**<br />*Sociabilité et empathie (comprendre les autres, se faire apprécier)* |
| | **PERCEPTION**<br />*Sens et observation (regarder au loin, écouter, chercher des indices)* | |
Lors d'une action, les statistiques peuvent être utilisée telles qu'elle, ou divisée par deux avec l'aide d'une compétence.
## Dés d'actions
Le joueur possède quatre dés d'actions, qui peuvent être situé entre un D4 et un D20
- Le dé de CaC permet de déterminer la puissance d'une attaque au CaC
- Le dé de vigueur permet de déterminer un encaissement
- Le dé de jet permet de déterminer la puissance d'un lancé
- Le dé de mental permet de déterminer la puissance du mental
Certains pouvoirs de JDR peuvent monter le minimum d'un jet. Si un pouvoir ou une capacité ferait monter les dé au dessus du D20, ils reçoivent ensuite un bonus de +2 (qui sera doublé par les critiques).
## Pression
La pression est la statistique de base indiquant le pourcentage d'échec et de réussite critique. Chaque personnage ont un niveau de pression différent, la base étant de 5.
## Compétences
<div class="well warning">
**Attention :** Les compétences doivent avoir un aspect RP (par exemple en s'étant essayé à cela durant les partie).
</div>
Les compétences sont le coeur de Pélican, servant a effectuer les actions, avec l'aide des statistique. Une compétence est une représentation générique d'une action ou d'un domaine d'activité. Les actions n'ayant pas besoin de compétence utilisent uniquement leur statistique. Une action commence à +0 de bonus, et augmente de 10 en 10 jusqu'à la limite possible à ce moment dans le JDR.
### Exemples de compétences
| | | | |
|:-:|:-:|:-:|:-:|
| **Diversion (HAB/INT)**<br />Permet de détourner l'attention | **Pickpocket(HAB+DIS)**<br />Permet de voler quelque chose discrêtement | **Perce-mensonge**<br />Permet de savoir quand quelqu'un ment | **Pistage (PER)**<br />Permet de suivre une liste |
| **Avenant (REL)**<br />Permet d'être apprécié naturellement | **Juge de caractère (SAG/REL)**<br />Permet de savoir quand se méfier de quelqu'un | **Connaissance du monde**<br />Permet d'avoir des connaissances même de lieux non visités. | **Connaissances occultes**<br />Permet d'avoir des connaissances des choses occultes et surnaturels |
| **Apnée**<br />Permet de retenir plus longtemps sa respiration. | **Natation**<br />Permet de nager. | **Spiritualité**<br />Représente sa connection avec les choses spirituelles. | **Déguisement**<br />Permet de se déguiser et dissimuler son apparence. |
| **Escalade**<br />Permet de gravir des obstacles. | **Fouille**<br />Permet d'obtenir plus facilement des gains lors de fouilles | **Détection des pièges**<br />Permet de trouver des pièges. | **Langue (nom de la langue)**<br />Indique la maitrise d'une langue |
| **Épée**<br />Permet de manier des épées | **Lance**<br />Permet de manier des lances | **Hache**<br /> Permet de manier des haches | **Arc**<br />Permet de manier des arcs |
| **Fouet**<br />Permet de manier des fouets. | **Pistolet**<br />Permet de manier des pistolets | **Fusil**<br />Permet de manier des fusils | **Bouclier**<br />Permet de manier des boucliers |
## Pouvoirs
Les personnages peuvent avoir des pouvoirs, qui sont des capacités actives ou passives qui peuvent être utilisé en combat, dans le RP, etc. Ces pouvoirs peuvent être très dépendant du JDR, et dans pélican ne seront donné que quelques exemples. Voici quelques moyens dont les pouvoirs peuvent être fait :
- Un système de classe ou le PJ reçoit ou choisi des pouvoirs parmis plusieurs différents offert par une classe
- Un système de pouvoirs lié au compétence ou le PJ se spécialisé dans certaines disciplines
- Un système de pouvoirs uniques choisis sur le tas pour plusieurs PNJs et ou d'autres s'ajoutent au fur et à mesure
## Création du personnage
La première chose à faire dans un JDR, est de créer un personnage. Pélican à 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.
Plusieurs éléments influencent sur la création du personnage et nous allons indiquer ici les différentes étape de création du personnage. Chaque JDR utilisant Pélican peut customiser cela et ajouter ses propres étapes. Les éléments tels que le genre n'affectent pas les statistiques ou pouvoir des personnages.
La constitution d'un personnage se fait en faisant les étapes suivantes :
- **Les traits de personnalités** : Choix de deux traits de personnalités.
- **Traits unique** : Chaque personnage reçoit deux traits unique, un positif et un négatif lié au RP du personnage (mais qui peuvent aussi affecter sur le combat, etc)
- **Boost de stat** : Un boost supplémentaire de 10% à placer sur l'une des caractéristique qui n'a pas été augmenté par la personnalité.
- **Répartition des compétences** : 5 compétence à 0 offertes de base et 100 point de compétence à dépenser dans diverses compétences (limité à 30% par compétence). Tout cela peut être augmenté suivant le niveau d'expertise des PJ au début de la partie, ici c'est pour repésenter des novices.
Dans certains JDR, il est aussi possible d'avoir différentes espèces, qui pourront avoir les caractéristiques suivantes :
- Des bonus/malus de statistiques, PV, PM, pression.
- Des traits passifs
- Des armes ou armures intégrées
A côté de cela, vous pouvez également noter quelques éléments spécifiques à votre personnage dans la section "notes".
### Stats de base
Un personnage basique avant création à les traits suivants :
- 50 à toutes ses statistiques (pour 500 au total)
- 14 PV et 14 PM
- 5 de pression
Cela peut varier avec un système d'espèce
### Traits uniques
Chaque personnage peuvent obtenir à la création deux traits qui lui sont unique (voir création du personnage). Ces traits sont des pouvoirs passif, présent en permanence. il ne sont pas activable ou désactivable, et représentent les particularités du personnages. En création de personnages, deux traits sont choisis.
| | | |
|:----------:|:-------:|:----:|
| **Sprint sans échauffement**<br /> Permet de remplacer un jet d'HAB par un jet de FOR, mais se prendra 0.5x les niveaux de réussite (ou d'échec) en dégâts. | **Passion**<br />Permet de définir une cause, et si la cause arrive en jeu, +2 pt de pression tous les 5 % au-dessus de 50% en Volonté. | **Berk**<br />-20 % en VOL contre les trucs dégueulasses. |
### Traits de personnalités
Un élément définissant votre personnage est sa **personnalité**. Les traits de personnalités de votre personnages participent à la fois à le définir in-RP avec les points généraux de son comportement, mais également donne une base à ses statistiques et à des pouvoirs unique qu'il pourra obtenir dans le futur.
Il y a en tout 40 traits de personnalités que vous pouvez utiliser pour définir votre personnage. Deux traits seront attribué au personnage.
Chaque trait offre :
- Une statistique montée de 20% par rapport à la base du personnage.
- Une statistique montée de 10% par rapport à la base du personnage.
- Une statistique diminuée de 10% par rapport à la base du personnage.
Si une personnalité doit être choisi au hasard, alors le jet suivant est fait 1D4 pour la dizaine, et 1D10 pour l'unité.
| Nom | +20 | +10 | -10 |
|:----|:---:|:---:|:---:|
| **Costaud** | FOR | CON | HAB |
| **Brute** | FOR | DIS | REL |
| **Chevaleresque** | FOR | SAG | DIS |
| **Hippy/Naturel** | CON | PER | FOR |
| **Soldat** | CON | VOL | DIS |
| **Sportif** | CON | HAB | PER |
| **Gardien** | CON | REL | VOL |
| **Adroit** | HAB | REL | CON |
| **Acrobate** | HAB | FOR | DIS |
| **Roublard** | HAB | DIS | VOL |
| **Casse-cou** | HAB | VOL | SAG |
| **Intello/Nerd** | INT | PER | CHA |
| **Littéraire** | INT | SAG | CON |
| **Malin/Futé** | INT | HAB | FOR |
| **Rigoureux/Travailleur** | INT | CON | HAB |
| **Responsable** | SAG | CON | CHA |
| **Ermite/Ascete** | SAG | DIS | REL |
| **Sage** | SAG | REL | INT |
| **Débrouillard** | SAG | INT | PER |
| **Vertueux** | VOL | REL | DIS |
| **Fanatique/Foufou** | VOL | INT | SAG |
| **Assuré** | VOL | CHA | PER |
| **Saboteur/Délinquant** | VOL | DIS | CON |
| **Meneur/Stratège** | CHA | INT | HAB |
| **BG** | CHA | CON | PER |
| **Autoritaire** | CHA | FOR | REL |
| **Visionnaire** | CHA | PER | SAG |
| **Craintif/Lâche** | DIS | SAG | VOL |
| **Edgy/Mystérieux** | DIS | CHA | REL |
| **Manipulateur** | DIS | REL | FOR |
| **Fouineur** | DIS | INT | CHA |
| **Charmeur** | REL | CHA | INT |
| **Altruiste** | REL | PER | VOL |
| **Vendeur** | REL | INT | HAB |
| **Héroïque** | REL | FOR | INT |
| **Bidouilleur** | PER | HAB | CHA |
| **Observeur** | PER | SAG | CON |
| **Traqueur/Chasseur** | PER | FOR | INT |
| **Espion** | PER | DIS | FOR |

View file

@ -1,47 +0,0 @@
---
layout: layouts/layout.njk
eleventyNavigation:
parent: Système de jeu
key: Réputation et prestige
order: 10
---
Avoir une bonne réputation peut être important pour une aventure… cependant, une réputation n'est pas forcément quelque chose de simple.
## Les différentes réputations
Ce JDR simule la réputation à travers trois éléments :
- La réputation **morale**, représentant à quel point vos actes sont juste et bons, si vous aidez les gens. Ce type de réputation sera préféré par les libre-penseur voulant voir le bien être fait.
- La réputation **d'obéissance aux règles**, représentant à quel point vous êtes chaotique ou obéissant. Ce genre de réputation sera préféré par les hauts-gradés se demandant si vous leurs serez fiable. Ce genre de réputation sera cependant moins aimé par les rebelles.
- Les différentes réputations **auprès des factions** existant dans le JDR. Ce genre de réputation sera préféré par les membres desdites factions, même si tout les membres ne seront pas forcément entre accord avec l'idée d'obéir avec quelqu'un ayant une mauvaise réputation même si vous les avez aidé…
Cependant, d'autres éléments peuvent jouer sur le prestige d'un personnage
## Les points de prestige
Le prestige est une stat dexpérience spéciale qui permet dajouter un bonus à certaines actions spécifiques (si le MJ lautorise). Chaque partie rajoute un certain nombre de point de prestige, suivant comment léquipe à fait parler positivement delle.
Le prestige peut être utiliser pour booster l'un des cinq capitaux sociaux du jeu, et a effectuer des **jets de prestiges**. Ces jet permettent d'obtenir des service et des bonus particulier, en l'échange de points présent dans l'une des catégories suivantes. Un point de prestige rajoute un point dans l'une des catégories. La présence de certains hauts-faits de groupes peuvent également faire pencher la balance dans un sens ou un autre.
Le prix pour faire le jet dépendra de votre réputation globale et/ou plus particulièrement celle avec la faction. Si le joueur peut rajouter 1 point de prestige pour avoir 5% supplémentaire au jet. Si le jet est échoué, les points sont perdus.
Les cinq capitaux sociaux sont :
- La **popularité (CHA/REL)** représente *à quel point vous pouvez être aimé* et permet d'obtenir des services de gens pour ce qu'on a fait.
- Le **leadership (CHA/DIS)** représente *à quel point vous pouvez être considéré comme un leader* et permet d'obtenir un suiveur à partir d'un PNJ ou de poser votre position.
- Le **respect (REL/DIS)** représente *à quel point vous pouvez être considéré comme respectable* et permet d'éviter des combats et des conflits par votre présence.
- La **confiance (REL/CHA)** représente *à quel point vous pouvez être considéré comme doué* et permet de rassurer sur votre capacité à accomplir une tache, et donc possiblement d'accéder à des quêtes ou missions.
- Le **secret (DIS/SAG)** représente *à quel point on peut vous faire confiance avec une information* et permet d'obtenir des informations supplémentaires et des secrets.
## Haut-faits
Les hauts-faits sont tout les moments ou un personnage à fait des actions incroyable - en bien comme en mal, et qui ont marqué aussi bien le maître du jeu que le monde autour du personnage.
Ils peuvent être rappelé si besoin, quand ils pourraient avoir une influence certaine sur l'issue d'une situation...

3719
dep/bootstrap/css/bootstrap-grid.css vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

331
dep/bootstrap/css/bootstrap-reboot.css vendored Normal file
View file

@ -0,0 +1,331 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]):not([tabindex]) {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
color: inherit;
text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
outline: 0;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg {
overflow: hidden;
vertical-align: middle;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
select {
word-wrap: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */

File diff suppressed because one or more lines are too long

10038
dep/bootstrap/css/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

7
dep/bootstrap/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

7134
dep/bootstrap/js/bootstrap.bundle.js vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4521
dep/bootstrap/js/bootstrap.js vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

7
dep/bootstrap/js/bootstrap.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,446 @@
/*!
Fork Awesome 1.1.7
License - https://forkaweso.me/Fork-Awesome/license
Copyright 2018 Dave Gandy & Fork Awesome
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.fas,
.fab,
.far {
display: inline-block;
font: normal normal normal 14px/1 ForkAwesome;
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.fas.fa-chart-area:before {
content: "\f1fe";
}
.fas.fa-arrows-alt:before {
content: "\f047";
}
.fas.fa-expand-arrows-alt:before {
content: "\f0b2";
}
.fas.fa-arrows-alt-h:before {
content: "\f07e";
}
.fas.fa-arrows-alt-v:before {
content: "\f07d";
}
.fas.fa-calendar-alt:before {
content: "\f073";
}
.fas.fa-circle-notch:before {
content: "\f1ce";
}
.fas.fa-cloud-download-alt:before {
content: "\f0ed";
}
.fas.fa-cloud-upload-alt:before {
content: "\f0ee";
}
.fas.fa-credit-card:before {
content: "\f283";
}
.fas.fa-dollar-sign:before {
content: "\f155";
}
.fas.fa-euro-sign:before {
content: "\f153";
}
.fas.fa-exchange-alt:before {
content: "\f0ec";
}
.fas.fa-external-link-alt:before {
content: "\f08e";
}
.fas.fa-external-link-square-alt:before {
content: "\f14c";
}
.fas.fa-eye-dropper:before {
content: "\f1fb";
}
.fas.fa-pound-sign:before {
content: "\f154";
}
.fas.fa-glass-martini:before {
content: "\f000";
}
.fas.fa-shekel-sign:before {
content: "\f20b";
}
.fas.fa-rupee-sign:before {
content: "\f156";
}
.fas.fa-won-sign:before {
content: "\f159";
}
.fas.fa-level-down-alt:before {
content: "\f149";
}
.fas.fa-level-up-alt:before {
content: "\f148";
}
.fas.fa-chart-line:before {
content: "\f201";
}
.fas.fa-long-arrow-alt-down:before {
content: "\f175";
}
.fas.fa-long-arrow-alt-left:before {
content: "\f177";
}
.fas.fa-long-arrow-alt-right:before {
content: "\f178";
}
.fas.fa-long-arrow-alt-up:before {
content: "\f176";
}
.fas.fa-map-marker-alt:before {
content: "\f041";
}
.fas.fa-mobile-alt:before {
content: "\f10b";
}
.fas.fa-pencil-alt:before {
content: "\f040";
}
.fas.fa-pen-square:before {
content: "\f14b";
}
.fas.fa-chart-pie:before {
content: "\f200";
}
.fas.fa-yen-sign:before {
content: "\f157";
}
.fas.fa-ruble-sign:before {
content: "\f158";
}
.fas.fa-shield-alt:before {
content: "\f132";
}
.fas.fa-sign-in-alt:before {
content: "\f090";
}
.fas.fa-sign-out-alt:before {
content: "\f08b";
}
.fas.fa-sliders-h:before {
content: "\f1de";
}
.fas.fa-tablet-alt:before {
content: "\f10a";
}
.fas.fa-tachometer-alt:before {
content: "\f0e4";
}
.fas.fa-thumbtack:before {
content: "\f08d";
}
.fas.fa-ticket-alt:before {
content: "\f145";
}
.fas.fa-trash-alt:before {
content: "\f1f8";
}
.fas.fa-lira-sign:before {
content: "\f195";
}
.fab.fa-linkedin-in:before {
content: "\fe01";
}
.fab.fa-linkedin:before {
content: "\f08c";
}
.far.fa-address-book:before {
content: "\f2ba";
}
.far.fa-address-card:before {
content: "\f2bc";
}
.far.fa-arrow-alt-circle-down:before {
content: "\f01a";
}
.far.fa-arrow-alt-circle-left:before {
content: "\f190";
}
.far.fa-arrow-alt-circle-right:before {
content: "\f18e";
}
.far.fa-arrow-alt-circle-up:before {
content: "\f01b";
}
.far.fa-bell:before {
content: "\f0f3";
}
.far.fa-bell-slash:before {
content: "\f1f7";
}
.far.fa-bookmark:before {
content: "\f097";
}
.far.fa-building:before {
content: "\f0f7";
}
.far.fa-calendar-check:before {
content: "\f274";
}
.far.fa-calendar-minus:before {
content: "\f272";
}
.far.fa-calendar:before {
content: "\f133";
}
.far.fa-calendar-plus:before {
content: "\f271";
}
.far.fa-calendar-times:before {
content: "\f273";
}
.far.fa-caret-square-down:before {
content: "\f150";
}
.far.fa-caret-square-left:before {
content: "\f191";
}
.far.fa-caret-square-right:before {
content: "\f152";
}
.far.fa-caret-square-up:before {
content: "\f151";
}
.far.fa-check-circle:before {
content: "\f05d";
}
.far.fa-check-square:before {
content: "\f046";
}
.far.fa-circle:before {
content: "\f10c";
}
.far.fa-clock:before {
content: "\f017";
}
.far.fa-comment:before {
content: "\f0e5";
}
.far.fa-comment-dots:before {
content: "\f27b";
}
.far.fa-comments:before {
content: "\f0e6";
}
.far.fa-dot-circle:before {
content: "\f192";
}
.far.fa-id-card:before {
content: "\f2c3";
}
.far.fa-envelope:before {
content: "\f003";
}
.far.fa-envelope-open:before {
content: "\f2b7";
}
.far.fa-file-archive:before {
content: "\f1c6";
}
.far.fa-file-audio:before {
content: "\f1c7";
}
.far.fa-file-code:before {
content: "\f1c9";
}
.far.fa-file-excel:before {
content: "\f1c3";
}
.far.fa-file-image:before {
content: "\f1c5";
}
.far.fa-file-video:before {
content: "\f1c8";
}
.far.fa-copy:before,
.far.fa-file:before {
content: "\f016";
}
.far.fa-file-pdf:before {
content: "\f1c1";
}
.far.fa-file-powerpoint:before {
content: "\f1c4";
}
.far.fa-file-alt:before {
content: "\f0f6";
}
.far.fa-file-word:before {
content: "\f1c2";
}
.far.fa-flag:before {
content: "\f11d";
}
.far.fa-save:before {
content: "\f0c7";
}
.far.fa-folder:before {
content: "\f114";
}
.far.fa-folder-open:before {
content: "\f115";
}
.far.fa-frown:before {
content: "\f119";
}
.far.fa-futbol:before {
content: "\f1e3";
}
.far.fa-hand-rock:before {
content: "\f255";
}
.far.fa-hand-lizard:before {
content: "\f258";
}
.far.fa-hand-point-down:before {
content: "\f0a7";
}
.far.fa-hand-point-left:before {
content: "\f0a5";
}
.far.fa-hand-point-right:before {
content: "\f0a4";
}
.far.fa-hand-point-up:before {
content: "\f0a6";
}
.far.fa-hand-paper:before {
content: "\256";
}
.far.fa-hand-pointer:before {
content: "\f25a";
}
.far.fa-hand-scissors:before {
content: "\f257";
}
.far.fa-hand-spock:before {
content: "\f259";
}
.far.fa-handshake:before {
content: "\f2b5";
}
.far.fa-hdd:before {
content: "\f0a0";
}
.far.fa-heart:before {
content: "\f08a";
}
.far.fa-hospital:before {
content: "\f0f8";
}
.far.fa-hourglass:before {
content: "\f250";
}
.far.fa-id-card:before {
content: "\f2c3";
}
.far.fa-keyboard:before {
content: "\f11c";
}
.far.fa-lemon:before {
content: "\f094";
}
.far.fa-lightbulb:before {
content: "\f0eb";
}
.far.fa-meh:before {
content: "\f11a";
}
.far.fa-minus-square:before {
content: "\f147";
}
.far.fa-money-bill-alt:before {
content: "\f0d6";
}
.far.fa-moon:before {
content: "\f186";
}
.far.fa-newspaper:before {
content: "\f1ea";
}
.far.fa-paper-plane:before {
content: "\f1d9";
}
.far.fa-pause-circle:before {
content: "\f28c";
}
.far.fa-edit:before {
content: "\f044";
}
.far.fa-image:before {
content: "\f03e";
}
.far.fa-play-circle:before {
content: "\f01d";
}
.far.fa-plus-square:before {
content: "\f196";
}
.far.fa-question-circle:before {
content: "\f92c";
}
.far.fa-share-square:before {
content: "\f045";
}
.far.fa-smile:before {
content: "\f118";
}
.far.fa-snowflake:before {
content: "\f2dc";
}
.far.fa-futbol:before {
content: "\f1e3";
}
.far.fa-star-half:before {
content: "\f089";
}
.far.fa-star:before {
content: "\f006";
}
.far.fa-sticky-note:before {
content: "\f24a";
}
.far.fa-stop-circle:before {
content: "\f28e";
}
.far.fa-sun:before {
content: "\f185";
}
.far.fa-thumbs-down:before {
content: "\f088";
}
.far.fa-thumbs-up:before {
content: "\f087";
}
.far.fa-times-circle:before {
content: "\f05c";
}
.far.fa-window-close:before {
content: "\f2d4";
}
.far.fa-trash-alt:before {
content: "\f014";
}
.far.fa-user-circle:before {
content: "\f2be";
}
.far.fa-user:before {
content: "\f2c0";
}

12
dep/fork-awesome/css/v5-compat.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
{"version":3,"sources":["v5-compat.css"],"names":[],"mappings":";;;;;;;;;;;AAaA,KACA,KAFA,KAGE,QAAA,aACA,KAAA,OAAA,OAAA,OAAA,KAAA,EAAA,YACA,UAAA,QACA,eAAA,KACA,uBAAA,YACA,wBAAA,UAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEuB,iCACvB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEwB,kCACxB,QAAA,QAEsB,gCACtB,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEuB,iCACvB,QAAA,QAE8B,wCAC9B,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEmB,6BACnB,QAAA,QAEiB,2BACjB,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEyB,mCACzB,QAAA,QAEyB,mCACzB,QAAA,QAE0B,oCAC1B,QAAA,QAEuB,iCACvB,QAAA,QAEoB,8BACpB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEoB,8BACpB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEc,wBACd,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAE2B,qCAC3B,QAAA,QAE2B,qCAC3B,QAAA,QAE4B,sCAC5B,QAAA,QAEyB,mCACzB,QAAA,QAEU,oBACV,QAAA,QAEgB,0BAChB,QAAA,QAEc,wBACd,QAAA,QAEc,wBACd,QAAA,QAEoB,8BACpB,QAAA,QAEoB,8BACpB,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEoB,8BACpB,QAAA,QAEuB,iCACvB,QAAA,QAEuB,iCACvB,QAAA,QAEwB,kCACxB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEY,sBACZ,QAAA,QAEW,qBACX,QAAA,QAEa,uBACb,QAAA,QAEkB,4BAClB,QAAA,QAEc,wBACd,QAAA,QAEgB,0BAChB,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEmB,6BACnB,QAAA,QAEkB,4BAClB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEgB,0BAChB,QAAA,QAEU,oBACA,oBACV,QAAA,QAEc,wBACd,QAAA,QAEqB,+BACrB,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEU,oBACV,QAAA,QAEY,sBACZ,QAAA,QAEiB,2BACjB,QAAA,QAEW,qBACX,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEqB,+BACrB,QAAA,QAEsB,gCACtB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,OAEkB,4BAClB,QAAA,QAEmB,6BACnB,QAAA,QAEgB,0BAChB,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEW,qBACX,QAAA,QAEc,wBACd,QAAA,QAEe,yBACf,QAAA,QAEa,uBACb,QAAA,QAEc,wBACd,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAES,mBACT,QAAA,QAEkB,4BAClB,QAAA,QAEoB,8BACpB,QAAA,QAEU,oBACV,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEkB,4BAClB,QAAA,QAEU,oBACV,QAAA,QAEW,qBACX,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAEqB,+BACrB,QAAA,QAEkB,4BAClB,QAAA,QAEW,qBACX,QAAA,QAEe,yBACf,QAAA,QAEY,sBACZ,QAAA,QAEe,yBACf,QAAA,QAEU,oBACV,QAAA,QAEiB,2BACjB,QAAA,QAEiB,2BACjB,QAAA,QAES,mBACT,QAAA,QAEiB,2BACjB,QAAA,QAEe,yBACf,QAAA,QAEkB,4BAClB,QAAA,QAEkB,4BAClB,QAAA,QAEe,yBACf,QAAA,QAEiB,2BACjB,QAAA,QAEU,oBACV,QAAA"}

Binary file not shown.

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 469 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

2
dep/jquery/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,50 +0,0 @@
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;
});
}

View file

@ -1,34 +0,0 @@
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 were using addPlugin.
});
// TODO loading=eager and fetchpriority=high
let imageAttributes = {
alt,
sizes,
loading: "lazy",
decoding: "async",
};
return eleventyImage.generateHTML(metadata, imageAttributes);
});
};

View file

@ -1,146 +0,0 @@
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 { EleventyRenderPlugin } = require("@11ty/eleventy");
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(EleventyRenderPlugin);
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 <base> 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: "/",
};
};

6
generate.sh Executable file
View file

@ -0,0 +1,6 @@
echo "STEP 1 - Generation des fichiers statics"
gulp
echo "STEP 2 - Remplacement dossier public par dossier temp"
rm -rf public
mv dist public

33
gulpfile.js Normal file
View file

@ -0,0 +1,33 @@
const { src, dest, parallel } = require('gulp');
const include = require('gulp-include');
const sass = require('gulp-sass');
const cleanCSS = require('gulp-clean-css');
sass.compiler = require('node-sass');
function html() {
return src('static/*')
.pipe(include())
.pipe(dest('dist'))
}
function dep() {
return src(['dep/**/*'])
.pipe(dest('dist/dep'));
}
function assets() {
return src(['assets/**/*'])
.pipe(dest('dist'));
}
function rules() {
return src(['rules/**/*'])
.pipe(dest('dist'));
}
exports.html = html;
exports.dep = dep;
exports.assets = assets;
exports.rules = rules;
exports.default = parallel(html, dep, assets, rules);

1
install.sh Executable file
View file

@ -0,0 +1 @@
npm install gulp gulp-include gulp-sass gulp-clean-css

7546
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,40 +0,0 @@
{
"name": "pelican-jdr",
"version": "1.0.0",
"description": "Un systeme de jdr sous forme d'un site 11ty",
"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://git.kobold.cafe/jdr-et-univers/pelicanjdr"
},
"author": {
"name": "Kazhnuz",
"email": "kazhnuz@kobold.cafe",
"url": "https://kazhnuz.space"
},
"license": "CC BY-SA",
"engines": {
"node": ">=14"
},
"homepage": "https://pelicanjdr.kazhnuz.space",
"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"
}
}

View file

@ -1,470 +0,0 @@
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #002b36;
--sidebar-width: 260px;
--main-width: 780px;
/* --text-color is assigned to --color-gray-_ above */
--text-color-link: #4c2512;
--text-color-link-active: #4c2512;
--text-color-link-visited: #4c2512;
--text-color-title: #66350F;
--background-color: #FDF7E7;
--background-menu: #002b36;
--text-color: var(--color-gray-90);
--font-family: Inter,
-apple-system,
BlinkMacSystemFont,
'Segoe UI',
Cantarell,
Roboto,
Oxygen,
Ubuntu,
'Fira Sans',
'Droid Sans',
'Helvetica Neue',
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;
--font-family-logo: serif;
--font-family-title:serif;
}
* {
box-sizing: border-box;
}
html,
body {
margin: 0 auto;
min-height:100%;
font-family: var(--font-family);
color: var(--text-color);
font-size: 16px;
}
body {
padding: 24px;
}
.wrapper {
max-width: var(--main-width);
margin: auto;
position: relative;
}
html {
overflow-y: scroll;
background-color: var(--background-color);
}
/* 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);
text-decoration: underline dashed 1px;
border-radius: 0.1rem;
text-decoration: underline dashed 1px;
text-underline-offset: 0.1rem;
}
a[href]:visited {
color: var(--text-color-link-visited);
}
a[href]:hover,
a[href]:active {
color: var(--text-color-link-active);
background-color: rgba(0,0,0,0.1);
text-decoration: none;
}
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;
}
header {
background:center center url("/img/back.jpg");
background-repeat: no-repeat;
background-size: cover;
border-radius:3px;
height:240px;
box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.8);
display:flex;
align-items: center;
justify-content: center;
}
h1, h2, h3, h4, h5, h6 {
color: var(--text-color-title);
font-family: var(--font-family-title);
line-height: 1;
}
h1 {
font-size: 3rem;
}
header h1 {
text-align: center;
}
header h1 a[href] {
font-size:5.5rem;
text-shadow: -2px -2px 0 #000,
0 -2px 0 #000,
2px -2px 0 #000,
2px 0 0 #000,
2px 2px 0 #000,
0 2px 0 #000,
-2px 2px 0 #000,
-2px 0 0 #000,
.05em .1em 0 #000;
font-weight: 900;
color:white!important;
text-decoration: none;
text-transform: uppercase;
display: block;
line-height: 1;
margin: 0;
padding: 0;
}
.quadrillage {
display:grid;
grid-template-columns : 1fr 1fr;
column-gap: 1rem;
}
#sidebar {
position: fixed;
top: 0;
left: 0;
border-right: 1px solid black;
background-color: var(--background-menu);
padding:12px;
height:100%;
box-shadow: 1px 0px 1px 0px rgba(0,0,0,0.4);
}
#sidebar.shown {
left: 0;
}
#sidebar > ul > li {
margin:0;
padding:3px;
}
main {
line-height:1.5rem;
margin: auto;
}
main img {
display: block;
max-width: 100%;
height: auto;
margin: auto;
}
.card,
#sidebar ul>li,
#links ul>li {
background-color: var(--background-menu);
}
#sidebar ul > li,
#links ul > li {
list-style: none;
font-weight: bold;
}
#more-info ol > li,
#more-info ul > li {
list-style: none;
}
#sidebar ul > li li,
#links 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,
#links ul li ul,
#more-info ol {
padding:0;
margin:0;
list-style: none;
}
#sidebar ul li a,
#more-info ol li a {
display:block;
width:100%;
text-decoration:dashed;
color: white;
border-radius:3px;
padding:6px;
}
#more-info ol li a {
color: var(--text-color);
}
#links ul li > p {
padding: 3px;
margin:0;
}
#more-info h2 {
padding: 3px;
margin: 0;
font-size: 1rem;
}
#sidebar ul li li a,
#links ul li li a,
#more-info ol li a {
padding-left:18px;
}
#sidebar ul li a.active,
#sidebar ul li a:hover {
background-color: rgba(255, 255, 255, 0.3);
}
#more-info ol li a:hover,
#more-info ol li a.active {
background-color:rgba(0,0,0,0.1);
}
aside {
position: absolute;
top: 1px;
right: -264px;
height: 100%;
}
#more-info {
position: sticky;
top:12px;
border-left: 3px solid var(--text-color-title);
padding: 6px;
}
#sidebar {
min-width:var(--sidebar-width);
width:var(--sidebar-width);
z-index:10;
}
#more-info {
min-width: 240px;
width: 240px;
}
footer {
text-align:right;
width: 100%;
}
iframe {
border: none;
}
.menu-button {
display: none;
}
.well {
padding: .25rem 1.5rem;
background-color: rgba(24, 100, 171, .1);
border-radius: 8px;
}
.well.warning {
background-color:rgba(201, 42, 42, .1);
}
@media screen and (max-width: 1300px) {
.wrapper {
margin-left: var(--sidebar-width);
position: relative;
}
aside {
position: static !important;
}
#more-info {
position: static;
border-left: 3px solid var(--text-color-title);
padding: 6px;
}
}
.d-none {
display: none;
}
.icon {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
color: currentColor;
position: relative;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
opacity: 0;
transition-delay: .8s;
transition-property: opacity;
transition-duration: 0.2s;
}
@media screen and (max-width: 1000px) {
#sidebar {
left: calc(-1* var(--sidebar-width));
}
.wrapper {
margin: .5rem;
}
.menu-button {
position: fixed;
bottom: 24px;
right: 24px;
background-color: rgba(0, 0, 0, 0.4);
color: white;
padding: 0.75em;
border: none;
font-size: 1.2rem;
display: flex;
align-content: center;
justify-content: center;
aspect-ratio: 1;
border-radius: 999px;
z-index: 12;
}
.menu-button:hover {
background-color: var(--text-color-link);
}
}
@media screen and (max-width: 600px) {
header h1 a[href] {
font-size: 5rem;
}
}
@media screen and (max-width: 460px) {
header h1 a[href] {
font-size: 4.5rem;
}
}
@media screen and (max-width: 390px) {
header h1 a[href] {
font-size: 4rem;
}
}
hgroup {
text-align: center;
margin-bottom: 2rem;
font-weight: bolder;
}
hgroup h1 {
margin-bottom:0;
}
hgroup h1 img {
image-rendering: pixelated;
filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.4));
}
table {
border-collapse: collapse;
width:100%;
border:0;
}
table.centered th, table.centered td {
text-align: center;
}
th, td {
border:0;
}
tr:hover {
background-color: #eee8d5;
}
tr {
border-bottom: 1px solid rgba(0,0,0,0.1);
}
thead tr {
border-bottom: 3px solid rgba(0,0,0,0.1);
}
th, td {
padding:.33rem .66rem;
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

View file

@ -1,18 +0,0 @@
[
{"nom":"Faux mouscle", "effet":"+15 en FOR", "cout":650},
{"nom":"Bracelet de santé", "effet":"+15 en CON", "cout":650},
{"nom":"Chaussures de courses", "effet":"+15 en HAB", "cout":650},
{"nom":"Blouse intellectuelle", "effet":"+15 en INT", "cout":650},
{"nom":"Medaillon de philosophe", "effet":"+15 en SAG", "cout":650},
{"nom":"Porte-clef en peluche anti-stress", "effet":"+15 en VOL", "cout":650},
{"nom":"Cape de héros", "effet":"+15 en CHA", "cout":650},
{"nom":"Masque de voleur", "effet":"+15 en DIS", "cout":650},
{"nom":"Collier mignon", "effet":"+15 en REL", "cout":650},
{"nom":"Monocle ultime", "effet":"+15 en PER", "cout":650},
{"nom":"Débardeur d'acier", "effet":"+3 armure physique", "cout":850},
{"nom":"Joli clochette", "effet":"+1 armure spéciale", "cout":1050},
{"nom":"Accessoire stylé", "effet":"+1 armure morale", "cout":850},
{"nom":"Lunettes Blindées", "effet":"Protège de tout malus en perception", "cout":1050},
{"nom":"Masque de terreur", "effet":"En cas de jet de panique, 1D4. Si 4, un allié fait aussi un jet de panique. Sinon, un ennemi le fait", "cout":1500},
{"nom":"Slip divin", "effet":"+20 aux jets de survies", "cout":2550}
]

View file

@ -1,7 +0,0 @@
[
{"nom":"Mini-cristal à éclat", "effet":"Réserve de 5 éclat. Peut être rechargé pour un cout de 10.", "cout":100},
{"nom":"Petit cristal à éclat", "effet":"Réserve de 10 éclat. Peut être rechargé pour un cout de 20.", "cout":200},
{"nom":"Cristal à éclat", "effet":"Réserve de 20 éclat. Peut être rechargé pour un cout de 50.", "cout":500},
{"nom":"Grand cristal à éclat", "effet":"Réserve de 35 éclat. Peut être rechargé pour un cout de 100.", "cout":1000},
{"nom":"Cristal à éclat géante", "effet":"Réserve de 50 éclat. Peut être rechargé pour un cout de 250.", "cout":2500}
]

View file

@ -1,7 +0,0 @@
[
{"nom":"Mini-batterie à éclat", "effet":"Réserve de 5 éclat. Peut être rechargé pour un cout de 10.", "cout":100},
{"nom":"Petite batterie à éclat", "effet":"Réserve de 10 éclat. Peut être rechargé pour un cout de 20.", "cout":200},
{"nom":"Batterie à éclat", "effet":"Réserve de 20 éclat. Peut être rechargé pour un cout de 50.", "cout":500},
{"nom":"Grande batterie à éclat", "effet":"Réserve de 35 éclat. Peut être rechargé pour un cout de 100.", "cout":1000},
{"nom":"Batterie à éclat géante", "effet":"Réserve de 50 éclat. Peut être rechargé pour un cout de 250.", "cout":2500}
]

View file

@ -1,15 +0,0 @@
{
"name":"Cartomancia",
"vars":[
{"name":"determination01","value":"TODO"},
{"name":"determination19","value":"TODO"},
{"name":"determination20","value":"TODO"}
],
"objects":["base", "elements", "magique", "potions"],
"equipMains":["base", "arcs", "medieval-cac", "medieval-feu", "baguette"],
"effetsMains":["base", "magique"],
"tenues":["base","armures"],
"effetsTenues":["base", "magique"],
"accessoires":["base", "cristaleclat"],
"elements":["base", "metaphysique", "pseudo"]
}

View file

@ -1,15 +0,0 @@
{
"name":"Règles de bases",
"vars":[
{"name":"determination01","value":"Effet dépendant du JDR"},
{"name":"determination19","value":"Effet dépendant du JDR"},
{"name":"determination20","value":"Effet dépendant du JDR"}
],
"objects":["base"],
"equipMains":["base", "arcs"],
"effetsMains":["base"],
"tenues":["base","armures"],
"effetsTenues":["base"],
"accessoires":["base", "eclat"],
"elements":["base"]
}

View file

@ -1,9 +0,0 @@
[
{"nom":"Améliorée","effet":"x1.5 force","surcout":"+50%"},
{"nom":"Supérieur","effet":"x2 force","surcout":"+100%"},
{"nom":"Ultime","effet":"x3 force","surcout":"+200%"},
{"nom":"Non-léthal","effet":"Tout coup avec ne fera pas tomber en dessous de 0 PV","surcout":"+10%"},
{"nom":"Léthal","effet":"Double les chances de critique","surcout":"+50%"},
{"nom":"de verre","effet":"Double la force, mais ne peut être utilisé que deux fois","surcout":"+10%"},
{"nom":"À accroche","effet":"À besoin d'une main de moins","surcout":"+10%"}
]

Some files were not shown because too many files have changed in this diff Show more