From f6fcf218d38cba6c316f82d56a9fa3e92640a448 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Mon, 13 Feb 2023 21:31:45 +0100 Subject: [PATCH] feat: ajout des tenues --- public/jdr/cartomancia.json | 4 +++- public/jdr/core.json | 4 +++- public/jdr/effets-tenues/base.json | 8 ++++++++ public/jdr/effets-tenues/magique.json | 12 ++++++++++++ public/jdr/effets-tenues/tech.json | 8 ++++++++ public/jdr/sonata.json | 4 +++- public/jdr/tenues/armures.json | 6 ++++++ public/jdr/tenues/base.json | 15 +++++++++++++++ public/rules/inventaire/tenues-effets.md | 3 +++ public/rules/inventaire/tenues.md | 5 +++++ src/App.vue | 10 +++++++--- src/data/fields.ts | 9 ++++++++- src/types/JdrConfig.ts | 2 ++ src/views/EquipView.vue | 24 +++++++++++++++++++++--- 14 files changed, 104 insertions(+), 10 deletions(-) create mode 100644 public/jdr/effets-tenues/base.json create mode 100644 public/jdr/effets-tenues/magique.json create mode 100644 public/jdr/effets-tenues/tech.json create mode 100644 public/jdr/tenues/armures.json create mode 100644 public/jdr/tenues/base.json create mode 100644 public/rules/inventaire/tenues-effets.md create mode 100644 public/rules/inventaire/tenues.md diff --git a/public/jdr/cartomancia.json b/public/jdr/cartomancia.json index 523afc8..c5f5c4b 100644 --- a/public/jdr/cartomancia.json +++ b/public/jdr/cartomancia.json @@ -7,5 +7,7 @@ ], "objects":["base", "elements", "magique", "potions"], "equipMains":["base", "arcs", "medieval-cac", "medieval-feu", "baguette"], - "effetsMains":["base", "magique"] + "effetsMains":["base", "magique"], + "tenues":["base","armures"], + "effetsTenues":["base", "magique"] } \ No newline at end of file diff --git a/public/jdr/core.json b/public/jdr/core.json index f3a3a83..21f6902 100644 --- a/public/jdr/core.json +++ b/public/jdr/core.json @@ -7,5 +7,7 @@ ], "objects":["base"], "equipMains":["base", "arcs"], - "effetsMains":["base"] + "effetsMains":["base"], + "tenues":["base","armures"], + "effetsTenues":["base"] } \ No newline at end of file diff --git a/public/jdr/effets-tenues/base.json b/public/jdr/effets-tenues/base.json new file mode 100644 index 0000000..a0a3a35 --- /dev/null +++ b/public/jdr/effets-tenues/base.json @@ -0,0 +1,8 @@ +[ + {"nom":"Ultime","effet":"Fait 200% de défense de base en plus","surcout":"+200%"}, + {"nom":"Intégrale","effet":"Masque les points faibles","surcout":"+25%"}, + {"nom":"Consolidée","effet":"Effet du brise-armure divisé par 2","surcout":"+25%"}, + {"nom":"Miroitante","effet":"Renvoie la moitié des dégâts spéciaux infligés","surcout":"+50%"}, + {"nom":"Améliorée","effet":"Fait 50% de défense de base en plus","surcout":"+50%"}, + {"nom":"Supérieur","effet":"Fait 100% de défense de base en plus","surcout":"+100%"} +] \ No newline at end of file diff --git a/public/jdr/effets-tenues/magique.json b/public/jdr/effets-tenues/magique.json new file mode 100644 index 0000000..83000a1 --- /dev/null +++ b/public/jdr/effets-tenues/magique.json @@ -0,0 +1,12 @@ +[ + {"nom":"Élémentaire","effet":"Evite l'effet secondaire de l'élément lié","surcout":"+25%"}, + {"nom":"Scellée","effet":"Ne peut être retirée que par le porteur","surcout":"+10%"}, + {"nom":"Magique","effet":"+2 armure spéciale","surcout":"+50%"}, + {"nom":"D'Âme","effet":"+2 armure morale","surcout":"+50%"}, + {"nom":"De sang","effet":"-25% PV ; 1D6, si 1, l'ennemi fait un jet d'affliction physique","surcout":"+100%"}, + {"nom":"Radiante","effet":"+2 éclat ; Rajoute faiblesse à tout les éléments métaphysique ","surcout":"+100%"}, + {"nom":"Funeste","effet":"-25% PM ; Double les dégats mentaux ; 1D6, si 1, l'ennemi fait un jet d'affliction morale","surcout":"+100%"}, + {"nom":"Célèste","effet":" -2 éclat ; Protège de l'éclat et si devrait devenir anomique 1D4 chance d'en être protégé","surcout":"+100%"}, + {"nom":"Des Ombres","effet":"-25% PM et PV ; 1D6, si 1, un encaissement réussi devient une esquive","surcout":"+100%"}, + {"nom":"Des Héros","effet":"-n×10 DIS ; +20% dans toutes les stats face aux êtres démoniaques.","surcout":"+100%"} +] \ No newline at end of file diff --git a/public/jdr/effets-tenues/tech.json b/public/jdr/effets-tenues/tech.json new file mode 100644 index 0000000..7c6b0f0 --- /dev/null +++ b/public/jdr/effets-tenues/tech.json @@ -0,0 +1,8 @@ +[ + {"nom":"Biotechnologie","effet":"Ramène 1 PV/tour.","surcout":"+50%"}, + {"nom":"Nanotechnologie","effet":"S'auto-répare de 1/partie","surcout":"+ 50%"}, + {"nom":"Crystalline","effet":"Brise-Arme: 1/4 de faire perdre 1 points de dégat à une arme l'attaquant sur le physique","surcout":"+ 25%"}, + {"nom":"Champs d'énergie","effet":"Les attaques perce-armure font moitié dégats","surcout":"+100%"}, + {"nom":"Pare-balle","effet":"Anti-perce défense face aux armes à feux","surcout":"+25%"}, + {"nom":"Anti-explosion","effet":"Encaisse les explosions","surcout":"+25%"} +] \ No newline at end of file diff --git a/public/jdr/sonata.json b/public/jdr/sonata.json index 9d95ff9..d585082 100644 --- a/public/jdr/sonata.json +++ b/public/jdr/sonata.json @@ -17,5 +17,7 @@ ], "objects":["base"], "equipMains":["base", "arcs", "medieval-cac", "moderne"], - "effetsMains":["base", "tech"] + "effetsMains":["base", "tech"], + "tenues":["base","armures"], + "effetsTenues":["base", "tech"] } \ No newline at end of file diff --git a/public/jdr/tenues/armures.json b/public/jdr/tenues/armures.json new file mode 100644 index 0000000..b199d5e --- /dev/null +++ b/public/jdr/tenues/armures.json @@ -0,0 +1,6 @@ +[ + {"nom":"Côte de maille","armure":4,"effet":"-10 % HAB","cout":750}, + {"nom":"Armure d'apparat","armure":4,"effet":"-25 % DIS et HAB ; +20% dans les statistiques sociales en milieu riche","cout":1050}, + {"nom":"Armure","armure":5,"effet":"-25 % DIS et HAB","cout":950}, + {"nom":"Armure Lourde","armure":7,"effet":"-40 % DIS et HAB","cout":1200} +] \ No newline at end of file diff --git a/public/jdr/tenues/base.json b/public/jdr/tenues/base.json new file mode 100644 index 0000000..82ff4a9 --- /dev/null +++ b/public/jdr/tenues/base.json @@ -0,0 +1,15 @@ +[ + {"nom":"Vêtements communs","armure":1,"effet":"","cout":200}, + {"nom":"Vêtements confortables","armure":1,"effet":"+1 armure mentale","cout":300}, + {"nom":"Tenue terrifiante","armure":1,"effet":"L'ennemi à +2% en échec critique","cout":300}, + {"nom":"Tenue polaire","armure":1,"effet":"+20% pour résister au froid ; -20% pour résister au chaud","cout":300}, + {"nom":"Tenue légère","armure":1,"effet":"+20% pour résister au chaud ; -20% pour résister au froid","cout":300}, + {"nom":"Séduisante","armure":1,"effet":"+20% pour charmer","cout":300}, + {"nom":"Tenue discrète","armure":1,"effet":"+20% en DIS dans un lieu sombre","cout":400}, + {"nom":"Uniforme de faction","armure":1,"effet":"Permet de donner l'impression d'être un membre de cette faction si l'on est pas trop connu","cout":400}, + {"nom":"Costard","armure":1,"effet":"+20% sur les reventes ; +20% risque de se faire attaquer dans les rencontre aléatoire","cout":800}, + {"nom":"Tenue majestueuse","armure":1,"effet":"+20% dans les statistiques sociales en milieu riche","cout":600}, + {"nom":"Tenue du Héros","armure":2,"effet":"+20% CHA","cout":600}, + {"nom":"Tenue de voyage","armure":2,"effet":"+20% pour les exploration de grand espace","cout":600}, + {"nom":"Tenue renforcée","armure":2,"effet":"","cout":400} +] \ No newline at end of file diff --git a/public/rules/inventaire/tenues-effets.md b/public/rules/inventaire/tenues-effets.md new file mode 100644 index 0000000..aa2b902 --- /dev/null +++ b/public/rules/inventaire/tenues-effets.md @@ -0,0 +1,3 @@ +## Effets de tenue + +Plusieurs effets peuvent être appliqués sur les tenues, affectant leur défense, etc. diff --git a/public/rules/inventaire/tenues.md b/public/rules/inventaire/tenues.md new file mode 100644 index 0000000..a54eb90 --- /dev/null +++ b/public/rules/inventaire/tenues.md @@ -0,0 +1,5 @@ +## Tenues + +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. + +### Liste des tenues diff --git a/src/App.vue b/src/App.vue index 6277a96..68d303a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,13 +4,17 @@ import TopBar from "./components/layout/TopBar.vue"; import SideBar from "./components/layout/SideBar.vue"; import TableOfContent from "./components/layout/TableOfContent.vue"; import { useConfigStore } from "./stores/config"; -import { onMounted } from "vue"; +import { onMounted, ref } from "vue"; import axios from "axios"; const store = useConfigStore(); +const loaded = ref(false); onMounted(() => { - axios.get(`/pelican.json`).then((response) => store.setConfig(response.data)); + axios.get(`/pelican.json`).then((response) => { + store.setConfig(response.data); + loaded.value = true; + }); }); @@ -20,7 +24,7 @@ onMounted(() => {
- +
diff --git a/src/data/fields.ts b/src/data/fields.ts index dd3194b..d69be9e 100644 --- a/src/data/fields.ts +++ b/src/data/fields.ts @@ -15,10 +15,17 @@ const equipMainsFields = [ { key: "cout", label: "Cout" }, ]; +const tenuesFields = [ + { key: "nom", label: "Nom" }, + { key: "effet", label: "Effet" }, + { key: "armure", label: "Armure" }, + { key: "cout", label: "cout" }, +]; + const effetsFields = [ { key: "nom", label: "Nom" }, { key: "effet", label: "Effet" }, { key: "surcout", label: "Surcout" }, ]; -export { objectFields, equipMainsFields, effetsFields }; +export { objectFields, equipMainsFields, tenuesFields, effetsFields }; diff --git a/src/types/JdrConfig.ts b/src/types/JdrConfig.ts index 61c023e..758b5df 100644 --- a/src/types/JdrConfig.ts +++ b/src/types/JdrConfig.ts @@ -9,4 +9,6 @@ export default interface JdrConfig { objects: string[]; equipMains: string[]; effetsMains: string[]; + tenues: string[]; + effetsTenues: string[]; } diff --git a/src/views/EquipView.vue b/src/views/EquipView.vue index c4c771d..e45494b 100644 --- a/src/views/EquipView.vue +++ b/src/views/EquipView.vue @@ -4,7 +4,7 @@ import { useConfigStore } from "@/stores/config"; import { onMounted, computed } from "vue"; import { useRoute } from "vue-router"; import MarkdownFile from "../components/MarkdownFile.vue"; -import { equipMainsFields, effetsFields } from "@/data/fields"; +import { equipMainsFields, effetsFields, tenuesFields } from "@/data/fields"; const store = useConfigStore(); const route = useRoute(); @@ -20,23 +20,41 @@ const equipMains = computed(() => { const effetsMains = computed(() => { return store.jdrConfig?.effetsMains ?? []; }); + +const tenues = computed(() => { + return store.jdrConfig?.tenues ?? []; +}); + +const effetsTenues = computed(() => { + return store.jdrConfig?.effetsTenues ?? []; +});