From c1c98180aaf9cb66f5e300dede0e7bf36cb40ccf Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Sat, 18 Feb 2023 16:32:48 +0100 Subject: [PATCH] feat: portage elements vers tableaux --- public/jdr/cartomancia.json | 3 +- public/jdr/core.json | 3 +- public/jdr/elements/base.json | 10 ++ public/jdr/elements/metaphysique.json | 10 ++ public/jdr/elements/paradoxe.json | 5 + public/jdr/elements/pseudo.json | 6 + public/jdr/sonata.json | 3 +- public/pelican.json | 4 +- public/rules/magie/elements.md | 158 ++------------------------ public/rules/magie/terrains.md | 1 + src/data/fields.ts | 17 +++ src/router/index.ts | 5 + src/types/JdrConfig.ts | 1 + src/views/ElementsView.vue | 38 +++++++ 14 files changed, 108 insertions(+), 156 deletions(-) create mode 100644 public/jdr/elements/base.json create mode 100644 public/jdr/elements/metaphysique.json create mode 100644 public/jdr/elements/paradoxe.json create mode 100644 public/jdr/elements/pseudo.json create mode 100644 public/rules/magie/terrains.md create mode 100644 src/views/ElementsView.vue diff --git a/public/jdr/cartomancia.json b/public/jdr/cartomancia.json index 6de88e1..34f8870 100644 --- a/public/jdr/cartomancia.json +++ b/public/jdr/cartomancia.json @@ -10,5 +10,6 @@ "effetsMains":["base", "magique"], "tenues":["base","armures"], "effetsTenues":["base", "magique"], - "accessoires":["base", "cristaleclat"] + "accessoires":["base", "cristaleclat"], + "elements":["base", "metaphysique", "pseudo"] } \ No newline at end of file diff --git a/public/jdr/core.json b/public/jdr/core.json index 87e156e..54ef9d1 100644 --- a/public/jdr/core.json +++ b/public/jdr/core.json @@ -10,5 +10,6 @@ "effetsMains":["base"], "tenues":["base","armures"], "effetsTenues":["base"], - "accessoires":["base", "eclat"] + "accessoires":["base", "eclat"], + "elements":["base"] } \ No newline at end of file diff --git a/public/jdr/elements/base.json b/public/jdr/elements/base.json new file mode 100644 index 0000000..74efbd6 --- /dev/null +++ b/public/jdr/elements/base.json @@ -0,0 +1,10 @@ +[ + {"nom":"Terre","type":"Physique","effet":"Brise armure : tous les 6 points de dégâts effectué, ajoute un malus en armure jusqu’à réparation.","nomTerrain":"Tempête de sable","effetTerrain":"1D4 dégâts chaque tour.","oppose":"Air"}, + {"nom":"Végétal","type":"Physique","effet":"Ajoute un effet de vampirisme physique (50 % des dégâts effectués régénéré en tant que PV) à l’attaque","nomTerrain":"Phytoradiation","effetTerrain":"Les personnages regagnent tous 1D4 PV par tour.","oppose":"Metal"}, + {"nom":"Eau","type":"Physique","effet":"1/6 chance de provoquer l'effet épuisement.","nomTerrain":"Brume","effetTerrain":"Les personnages non-aveugle ont 1D4 chance d’échouer leur jet d’action.","oppose":"Feu"}, + {"nom":"Glace","type":"Physique","effet":"1/3 de chance de provoquer la paralysie (personnage doit faire un jet de CON pour attaquer)","nomTerrain":"Verglas","effetTerrain":"Sur chaque déplacement, le personnage fait un jet d’HAB pour pas tomber.","oppose":"Foudre"}, + {"nom":"Air","type":"Physique","effet":"L'attaque fera forcément au moins 2 dégats.","nomTerrain":"Tempête","effetTerrain":"Stat divisée par 2 pour toute attaque à distance","oppose":"Terre"}, + {"nom":"Foudre","type":"Physique","effet":"1/2 de chance de provoquer un effet de « stunt » sur l’ennemi.","nomTerrain":"Orage","effetTerrain":"Chaque tour, un personnage présent sur le terrain au hasard se prend 1D10 dégât.","oppose":"Glace"}, + {"nom":"Feu","type":"Physique","effet":"2/3 chance de produire un effet « blessure/brûlure ». Si critique, blessure/brûlure grave.","nomTerrain":"Sol ardent","effetTerrain":"Chaque personnage sur le sol jette 1D4, si échoue, effet brûlure/blessure immédiat.","oppose":"Eau"}, + {"nom":"Metal","type":"Physique","effet":"Semi perce-armure (100% perce-armure si déjà semi perce-armure)","nomTerrain":"Picots","effetTerrain":"À chaque déplacement au sol ou arrivé sur le terrain, 1D8 dégât.","oppose":"Végétal"} +] \ No newline at end of file diff --git a/public/jdr/elements/metaphysique.json b/public/jdr/elements/metaphysique.json new file mode 100644 index 0000000..42904db --- /dev/null +++ b/public/jdr/elements/metaphysique.json @@ -0,0 +1,10 @@ +[ + {"nom":"Énergie","type":"Métaphysique","effet":"Le personnage à 1/8 chance de se régénérer d’un éclat en faisant l’attaque.","nomTerrain":"Apogée cosmique","effetTerrain":"Retire à tout les personnages présent 1 dégats mental par tour.","oppose":"Néant"}, + {"nom":"Lumière","type":"Métaphysique","effet":"1/3 chance de provoquer l'affliction Aveuglement (grave si critique).","nomTerrain":"Zénith grandiose","effetTerrain":"Rajoute 2 d'armure mentale à tout les personnages","oppose":"Ombre"}, + {"nom":"Ordre","type":"Métaphysique","effet":"1/8 chance de diviser par deux les réussite critique pour trois tours","nomTerrain":"Égalisation ultime","effetTerrain":"Les critiques, réussite comme échec, ne peuvent pas se produire.","oppose":"Chaos"}, + {"nom":"Espace","type":"Métaphysique","effet":"1/4 chance de déplacer à une autre position sur le terrain l’ennemi touché, au choix du joueur.","nomTerrain":"Distorsion spatiale","effetTerrain":"Les êtres « proches » sont traités comme loin, les êtres « loin » sont traités comme proche.","oppose":"Temps"}, + {"nom":"Néant","type":"Métaphysique","effet":"1/6 chance de provoquer l'affliction Terreur (grave si critique).","nomTerrain":"Vide cosmique","effetTerrain":"Provoque à tout les personnages présent 1 dégats mental par tour.","oppose":"Énergie"}, + {"nom":"Ombre","type":"Métaphysique","effet":"Ajoute un effet de vampirisme moral (50 % des dégâts effectués régénéré en tant que PM) à l’attaque","nomTerrain":"Éclipse grandiose","effetTerrain":"Retire 2 d'armure mentale à tout les personnages","oppose":"Lumière"}, + {"nom":"Chaos","type":"Métaphysique","effet":"50 % des dégâts physique sont aussi des dégâts d’esprit, et vice-versa.","nomTerrain":"Désordre ultime","effetTerrain":"Les critiques, réussite comme échec, sont doublé.","oppose":"Ordre"}, + {"nom":"Temps","type":"Métaphysique","effet":"Si l’attaque échoue : jette 1D4. Si 1, peut relancer l’attaque.","nomTerrain":"Distorsion temporelle","effetTerrain":"Inverse l’ordre de passage de tout les personnages.","oppose":"Espace"} +] \ No newline at end of file diff --git a/public/jdr/elements/paradoxe.json b/public/jdr/elements/paradoxe.json new file mode 100644 index 0000000..81d9ee4 --- /dev/null +++ b/public/jdr/elements/paradoxe.json @@ -0,0 +1,5 @@ +[ + {"nom":"Éclat","type":"Paradoxal","effet":"Aucun effet particulier hors résistance élémentaire.","nomTerrain":"Cieux radiants","effetTerrain":"Toute la magie n'utilise que l'éclat environnant. Cependant, perte de 25% de PV et PM par tour.","oppose":"Anomie"}, + {"nom":"Paradoxe","type":"Paradoxal","effet":"Le jet à deux effets secondaires d'élément parmi tout ceux disponible sur cette page hors éclat (1D20).","nomTerrain":"Cieux paradoxaux","effetTerrain":"Les effets de deux autres terrains présent sur cette page hors éclat se produisent au hasard.","oppose":"Anomie"}, + {"nom":"Anomie","type":"Paradoxal","effet":"10% de chance de rendre anomique la cible","nomTerrain":"Cieux corrompus","effetTerrain":"Tout jet de magie double sa puissance, mais à 1/3 chance d'être anomique","oppose":"Éclat, Paradoxe"} +] \ No newline at end of file diff --git a/public/jdr/elements/pseudo.json b/public/jdr/elements/pseudo.json new file mode 100644 index 0000000..d9449a4 --- /dev/null +++ b/public/jdr/elements/pseudo.json @@ -0,0 +1,6 @@ +[ + {"nom":"Toxine","type":"Physique","effet":"Provoque un poison progressif (augmentant de 1 dégât par tour à partir de 1) qui ne s'arrêtera qu'après le combat ou si soin d’altération physique.","nomTerrain":"Brume miasmatique","effetTerrain":"Tout les personnages voient leurs statistiques physique baissée de 30%","oppose":"N/A"}, + {"nom":"Son","type":"Physique","effet":"1/4 chance de provoquer silence.","nomTerrain":"Déconcentration absolue","effetTerrain":"Empêche l'utilisation de magie sur le terrain","oppose":"N/A"}, + {"nom":"Force","type":"Physique","effet":"Provoque un dégât supplémentaire par tranche de 5.","nomTerrain":"Zone de guerre","effetTerrain":"Provoque rage sur tout les personnages présents en combat.","oppose":"N/A"}, + {"nom":"Esprit","type":"Physique","effet":"1/4 chance de rendre confus l'ennemi.","nomTerrain":"Terres astrales","effetTerrain":"Inversions attaques/soins physiques et morales.","oppose":"N/A"} +] \ No newline at end of file diff --git a/public/jdr/sonata.json b/public/jdr/sonata.json index 641484f..3aacc89 100644 --- a/public/jdr/sonata.json +++ b/public/jdr/sonata.json @@ -20,5 +20,6 @@ "effetsMains":["base", "tech"], "tenues":["base","armures"], "effetsTenues":["base", "tech"], - "accessoires":["base"] + "accessoires":["base"], + "elements":["metaphysique", "paradoxe"] } \ No newline at end of file diff --git a/public/pelican.json b/public/pelican.json index 450bb68..3f4c17b 100644 --- a/public/pelican.json +++ b/public/pelican.json @@ -78,8 +78,7 @@ "id": 50, "title": "Magie et surnaturel", "links": [ - {"title": "Éclat", "path": "rules/magie/eclat"}, - {"title": "Éléments", "path": "rules/magie/eclat"} + {"title": "Éclat", "path": "rules/magie/eclat"} ] }, { @@ -93,6 +92,7 @@ "id": 70, "title": "", "links": [ + {"title": "Éléments", "path": "elements"}, {"title": "Jeu de plateau", "path": "rules/bases/plateau"} ] } diff --git a/public/rules/magie/elements.md b/public/rules/magie/elements.md index 36bf91b..fee9940 100644 --- a/public/rules/magie/elements.md +++ b/public/rules/magie/elements.md @@ -1,8 +1,12 @@ # Les éléments et leurs effets -Il peut être également intéressant d’ajouter des effets élémentaires aux différentes capacités. Pélican propose un système de huit éléments « physiques » qui plus qu’un système de défense/résistance offrent un système « d’effet spéciaux ». Ces effets peuvent également se lier aux effets de terrains pour créer des faiblesses et résistances. +Un élément est une représentation d'une force de la nature, qui peut être physique, métaphysique, etc. Elle peut représenter un matériel, un état, une forme de magie qui seront appliqué à une attaque, une armure, etc. Les éléments ne sont pas forcément lié à quelque chose de magique, et le nombre est différent suivant les JDRs. -En règle général, les éléments n’aiment pas les effets de terrains de l’élément opposé. +Les éléments peuvent : +- Affecter quel sera la puissance d'une attaque sur un type d'ennemi +- Ajouter un effet à une attaque, un objet, une action +- Ajouter un effet à l'environnement autour des personnages. +- Atténuer ou amplifier l'effet d'un autre élément ## Faiblesses et résistances @@ -12,153 +16,5 @@ Pour chaque résistance, un personnage ne se prendra que la moitié des dégâts Généralement, une créature à entre zero et deux faiblesses/résistences. -## Éléments physiques +## Liste des éléments -Les éléments physiques représentes les éléments les plus classiques et courants, présents partout de manière "normale" dans un monde. - -| **Végétal** | **Eau** | **Glace** | -|:-----------:|:-------:|:---------:| -| **Terre** | | **Air** | -| **Métal** | **Feu** | **Foudre**| - -Ils peuvent avoir les effets suivants en combat : - -
- -| Élément | Effet | -|:-------:|:------| -| **Terre** | Brise armure : tous les 6 points de dégâts effectué, ajoute un malus en armure jusqu’à réparation. | -| **Végétal** | Ajoute un effet de vampirisme physique (50 % des dégâts effectués régénéré en tant que PV) à l’attaque | -| **Eau** | 25% de chance de provoquer l'effet épuisement. | -| **Glace** | 30 % de chance de provoquer la paralysie (personnage doit faire un jet de CON pour attaquer) | -| **Air** | La moitié des dégâts de l'attaque ont 50% d'agir même si l'attaque à été esquivée. | -| **Foudre** | 50 % de chance de provoquer un effet de « stunt » sur l’ennemi. | -| **Feu** | 60 % de chance de produire un effet « blessure/brûlure ». Si critique, blessure/brûlure grave. -| **Metal** | Semi perce-armure (100% perce-armure si déjà semi perce-armure) | - -
- -### Terrains élémentaires - -
- -| Élément | Terrain | Effet | -|:-------:|:-------:|:------| -| **Terre** | *Tempête de sable* | 1D4 dégâts chaque tour. | -| **Végétal** | *Phytoradiation* | Les personnages regagnent tous 1D4 PV par tour. | -| **Eau** | *Brume* | Les personnages non-aveugle ont 1D4 chance d’échouer leur jet d’action. | -| **Glace** | *Verglas* | Sur chaque déplacement, le personnage fait un jet d’HAB pour pas tomber. | -| **Air** | *Tornade* | Chaque attaque à distance devient difficile (-50 %) | -| **Foudre** | *Orage* | Chaque tour, un personnage présent sur le terrain au hasard se prend 1D10 dégât. | -| **Feu** | *Sol ardent (floor is lava)* | Chaque personnage sur le sol jette 1D4, si échoue, effet brûlure/blessure immédiat. | -| **Métal** | *Picots* | À chaque déplacement au sol ou arrivé sur le terrain, 1D8 dégât. | - -
- -## Éléments métaphysique - -Les éléments métaphysiques représentent plus des structures de la réalité, des éléments fondamentaux qui la composent. Ils sont en cela souvent plus rare et plus puissants. - -| **Lumière** | **Ordre** | **Espace** | -|:-----------:|:---------:|:----------:| -| **Énergie** | *(Éclat)* | **Néant** | -| **Temps** | **Chaos** | **Ombre** | - -Ils peuvent avoir les effets suivants en combat : - -
- -| Élément | Effet | -|:-------:|:------| -| **Énergie** | Le personnage à 15 % de chance de se régénérer d’un éclat en faisant l’attaque. | -| **Lumière** | 30 % d'aveugler la cible (si critique, cécité). | -| **Ordre** | Si attaque sur l’armure la plus forte de l’ennemi, attaquera sur la deuxième plus forte. | -| **Espace** | 30 % de déplacer à une autre position sur le terrain l’ennemi touché, au choix du joueur. | -| **Néant** | L’ennemi touché à 30 % de chance de devoir faire un jet de panique s’il n’est pas déjà en panique. | -| **Ombre** | Ajoute un effet de vampirisme moral (50 % des dégâts effectués régénéré en tant que PM) à l’attaque | -| **Chaos** | 50 % des dégâts physique sont aussi des dégâts d’esprit, et vice-versa. | -| **Temps** | Si l’attaque échoue : jette 1D4. Si 1, peut relancer l’attaque. | - -
- -### Terrains élémentaires - -
- -| Élément | Terrain | Effet | -|:-------:|:-------:|:------| -| **Énergie** | *Apogée cosmique* | À chaque jet de panique, le personnage jette 1D4, si 1 ou 3 : le jet de panique ne se produit pas. | -| **Lumière** | *Zénith divin* | Les attaques de lumière, plante et feu ont une amélioration au dé supérieur. Les attaques d’ombre, glace et eau passent aux dés inférieurs. Les êtres d’ombres ont un désavantage. | -| **Ordre** | *Égalisation ultime* | Les critiques, réussite comme échec, ne peuvent pas se produire. | -| **Espace** | *Distorsion spatiale* | Les êtres « proches » sont traités comme loin, les êtres « loin » sont traités comme proche. | -| **Néant** | *Vide cosmique* | Tous les tours, 1D4, si 2 ou 4 : un personnage au hasard fait un jet de panique. | -| **Ombre** | *Éclipse divine* | Les attaques d’ombre, glace et eau ont une amélioration au dé supérieur. Les attaques de lumière, plante et feu passent aux dés inférieurs. Les êtres de lumière ont un désavantage. | -| **Chaos** | *Désordre ultime* | Les critiques, réussite comme échec, sont doublé. | -| **Temps** | *Distorsion temporelle* | Inverse l’ordre de passage de tout les personnages. | - -
- -## Elements paradoxaux - -> [!NOTE] -> Dans certains univers, une troisième forme du paradoxe peut exister, l'anomie. Cependant, l'anomie étant un peu plus complexe qu'un élément, elle a le droit à sa page à part. - -Les éléments paradoxaux sont les éléments existant à une échelle supérieure à celle des mondes. C'est le nom donné aux deux formes du paradoxe, la force née des contradictions même de l'univers qui rend les magiques et la métaphysique possible, l'éclat et le paradoxe pur. - -| Éclat | Paradoxe | -|:-----:|:------:| -| La forme énergique du paradoxe. Une énergie volatile mais puissante, qui peut changer la réalité même. Il porte des noms différents dans de multiple univers, et n'existe à plus ou moins grande dose suivant l'imperfection de l'univers | La forme la plus pur du paradoxe. Plus qu'une énergie ou une entité, il s'agit d'un état de réalité, se produisant quand deux états contradictoire du monde existent. | - -
- -| Élément | Effet | -|:-------:|:------| -| **Éclat** | Aucun effet particulier hors résistance élémentaire. | -| **Paradoxe** | Le jet à deux effets secondaires d'élément parmi tout ceux disponible sur cette page hors éclat (1D20). | - -
- -### Terrains élémentaires - -
- -| Élément | Terrain | Effet | -|:-------:|:-------:|:------| -| **Éclat** | *Cieux radiants* | Toute la magie n'utilise que l'éclat environnant. Cependant, perte de 25% de PV et PM par tour. | -| **Paradoxe** | *Cieux paradoxaux* | Les effets de deux autres terrains présent sur cette page hors éclat (1D20) se produisent au hasard. | - -
- -## Pseudo-éléments - -Les pseudo-éléments sont un ensemble de quatre entités qui ont des propriétés proches d'un élément, sans en être véritablement. - -| Toxine | Son | Force | Esprit | -|:-------|:----|:------|:-------| -| Tous les poisons et entités qui affaiblissent le corps et l'esprit. | Des ondes qui peuvent être détectée et utilisée comme information par la plupart des créatures. | L'énergie née de la combativité et de la force physique du corps | L'énergie formée par l'activité cérébrale, lorsque celle-ci réussi à s'échapper de son enveloppe charnelle | - -Ils peuvent avoir les effets suivants - -
- -| P-Élément | Effet | -|:---------:|:------| -| Toxine | Provoque un poison progressif (augmentant de 1 dégât par tour à partir de 1) qui ne s'arrêtera qu'après le combat ou si soin d’altération physique. | -| Son | 30% de chance de provoquer une hypoactivité. | -| Force | Provoque un dégât supplémentaire par tranche de 5. | -| Esprit | 30% de chance de rendre confus l'ennemi. | - -
- -### Terrains élémentaires - -
- -| P-Élément | Terrain | Effet | -|:---------:|:-------:|:------| -| Toxine | *Brume miasmatique* | Tout les personnages voient leurs statistiques physique baissée de 30% | -| Son | *Déconcentration absolue* | Empêche l'utilisation de magie sur le terrain | -| Force | *Zone de guerre* | Provoque rage sur tout les personnages présents en combat. | -| Esprit | *Terres astrales* | Inversions attaques/soins physiques et morales. | - -
diff --git a/public/rules/magie/terrains.md b/public/rules/magie/terrains.md new file mode 100644 index 0000000..4b4848b --- /dev/null +++ b/public/rules/magie/terrains.md @@ -0,0 +1 @@ +## Terrains élémentaires diff --git a/src/data/fields.ts b/src/data/fields.ts index 9f11412..e5ce71a 100644 --- a/src/data/fields.ts +++ b/src/data/fields.ts @@ -34,10 +34,27 @@ const accessoiresFields = [ { key: "cout", label: "Cout" }, ]; +const elementsFields = [ + { key: "nom", label: "Nom" }, + { key: "type", label: "Type", canBeFiltered: true }, + { key: "effet", label: "Effet" }, + { key: "oppose", label: "Opposé" }, +]; + +const terrainsFields = [ + { key: "nom", label: "Nom" }, + { key: "type", label: "Type", canBeFiltered: true }, + { key: "nomTerrain", label: "Nom du Terrain" }, + { key: "effetTerrain", label: "Effet" }, + { key: "oppose", label: "Affaibli" }, +]; + export { objectFields, equipMainsFields, tenuesFields, effetsFields, accessoiresFields, + elementsFields, + terrainsFields, }; diff --git a/src/router/index.ts b/src/router/index.ts index 56238bb..086e1f0 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -5,6 +5,7 @@ import JdrView from "../views/JdrView.vue"; import FichesView from "../views/FichesView.vue"; import ObjetsView from "../views/ObjetsView.vue"; import EquipView from "../views/EquipView.vue"; +import ElementsView from "../views/ElementsView.vue"; const router = createRouter({ history: createWebHashHistory(import.meta.env.BASE_URL), @@ -42,6 +43,10 @@ const router = createRouter({ path: "/jdr/:jdr/inventaire/equipements/", component: EquipView, }, + { + path: "/jdr/:jdr/elements/", + component: ElementsView, + }, ], scrollBehavior(to, from, savedPosition) { if (to.hash) { diff --git a/src/types/JdrConfig.ts b/src/types/JdrConfig.ts index dcfd755..c6d7cee 100644 --- a/src/types/JdrConfig.ts +++ b/src/types/JdrConfig.ts @@ -12,4 +12,5 @@ export default interface JdrConfig { tenues: string[]; effetsTenues: string[]; accessoires: string[]; + elements: string[]; } diff --git a/src/views/ElementsView.vue b/src/views/ElementsView.vue new file mode 100644 index 0000000..eaf617b --- /dev/null +++ b/src/views/ElementsView.vue @@ -0,0 +1,38 @@ + + +