Refonte inventaire et objets #236
14 changed files with 104 additions and 10 deletions
|
@ -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"]
|
||||
}
|
|
@ -7,5 +7,7 @@
|
|||
],
|
||||
"objects":["base"],
|
||||
"equipMains":["base", "arcs"],
|
||||
"effetsMains":["base"]
|
||||
"effetsMains":["base"],
|
||||
"tenues":["base","armures"],
|
||||
"effetsTenues":["base"]
|
||||
}
|
8
public/jdr/effets-tenues/base.json
Normal file
8
public/jdr/effets-tenues/base.json
Normal 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%"}
|
||||
]
|
12
public/jdr/effets-tenues/magique.json
Normal file
12
public/jdr/effets-tenues/magique.json
Normal 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%"}
|
||||
]
|
8
public/jdr/effets-tenues/tech.json
Normal file
8
public/jdr/effets-tenues/tech.json
Normal 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%"}
|
||||
]
|
|
@ -17,5 +17,7 @@
|
|||
],
|
||||
"objects":["base"],
|
||||
"equipMains":["base", "arcs", "medieval-cac", "moderne"],
|
||||
"effetsMains":["base", "tech"]
|
||||
"effetsMains":["base", "tech"],
|
||||
"tenues":["base","armures"],
|
||||
"effetsTenues":["base", "tech"]
|
||||
}
|
6
public/jdr/tenues/armures.json
Normal file
6
public/jdr/tenues/armures.json
Normal 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}
|
||||
]
|
15
public/jdr/tenues/base.json
Normal file
15
public/jdr/tenues/base.json
Normal 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}
|
||||
]
|
3
public/rules/inventaire/tenues-effets.md
Normal file
3
public/rules/inventaire/tenues-effets.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
## Effets de tenue
|
||||
|
||||
Plusieurs effets peuvent être appliqués sur les tenues, affectant leur défense, etc.
|
5
public/rules/inventaire/tenues.md
Normal file
5
public/rules/inventaire/tenues.md
Normal 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
|
10
src/App.vue
10
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;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -20,7 +24,7 @@ onMounted(() => {
|
|||
<SideBar />
|
||||
<div id="page">
|
||||
<div id="content" class="pt-1">
|
||||
<RouterView />
|
||||
<RouterView v-if="loaded" />
|
||||
</div>
|
||||
</div>
|
||||
<TableOfContent />
|
||||
|
|
|
@ -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 };
|
||||
|
|
|
@ -9,4 +9,6 @@ export default interface JdrConfig {
|
|||
objects: string[];
|
||||
equipMains: string[];
|
||||
effetsMains: string[];
|
||||
tenues: string[];
|
||||
effetsTenues: string[];
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue