Refonte inventaire et objets #236

Merged
kazhnuz merged 27 commits from inventaire into master 2023-02-18 19:06:28 +01:00
14 changed files with 104 additions and 10 deletions
Showing only changes of commit f6fcf218d3 - Show all commits

View file

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

View file

@ -7,5 +7,7 @@
],
"objects":["base"],
"equipMains":["base", "arcs"],
"effetsMains":["base"]
"effetsMains":["base"],
"tenues":["base","armures"],
"effetsTenues":["base"]
}

View file

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

View file

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

View file

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

View file

@ -17,5 +17,7 @@
],
"objects":["base"],
"equipMains":["base", "arcs", "medieval-cac", "moderne"],
"effetsMains":["base", "tech"]
"effetsMains":["base", "tech"],
"tenues":["base","armures"],
"effetsTenues":["base", "tech"]
}

View file

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

View file

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

View file

@ -0,0 +1,3 @@
## Effets de tenue
Plusieurs effets peuvent être appliqués sur les tenues, affectant leur défense, etc.

View file

@ -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

View file

@ -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;
});
});
</script>
@ -20,7 +24,7 @@ onMounted(() => {
<SideBar />
<div id="page">
<div id="content" class="pt-1">
<RouterView />
<RouterView v-if="loaded" />
</div>
</div>
<TableOfContent />

View file

@ -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 };

View file

@ -9,4 +9,6 @@ export default interface JdrConfig {
objects: string[];
equipMains: string[];
effetsMains: string[];
tenues: string[];
effetsTenues: string[];
}

View file

@ -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 ?? [];
});
</script>
<template>
<main>
<MarkdownFile :path="`rules/inventaire/mains`">
<MarkdownFile :path="`rules/inventaire/mains`" :order="1">
<DynTable
:fields="equipMainsFields"
:files="equipMains"
category="mains"
/>
</MarkdownFile>
<MarkdownFile :path="`rules/inventaire/mains-effets`">
<MarkdownFile :path="`rules/inventaire/mains-effets`" :order="2">
<DynTable
:fields="effetsFields"
:files="effetsMains"
category="effets-mains"
/>
</MarkdownFile>
<MarkdownFile :path="`rules/inventaire/tenues`" :order="3">
<DynTable :fields="tenuesFields" :files="tenues" category="tenues" />
</MarkdownFile>
<MarkdownFile :path="`rules/inventaire/tenues-effets`" :order="4">
<DynTable
:fields="effetsFields"
:files="effetsTenues"
category="effets-tenues"
/>
</MarkdownFile>
</main>
</template>