From 9b363d9d9324b964c67ee34dfecd19e82144a8c6 Mon Sep 17 00:00:00 2001 From: Martin Gasque Date: Tue, 9 Apr 2024 12:51:42 +0200 Subject: [PATCH] Add Character page --- src/data/levels.js | 36 ++++++++++++++++++++++++---- src/data/tsData.js | 46 ++++++++++++++++++------------------ src/layouts/Body/index.js | 8 +++++++ src/layouts/Body/styles.css | 1 + src/pages/Admin/index.js | 33 +++++++++++++++++++++----- src/pages/Character/index.js | 19 +++++++++++++-- 6 files changed, 108 insertions(+), 35 deletions(-) create mode 100644 src/layouts/Body/index.js create mode 100644 src/layouts/Body/styles.css diff --git a/src/data/levels.js b/src/data/levels.js index 15d1bcf..c5c1593 100644 --- a/src/data/levels.js +++ b/src/data/levels.js @@ -12,28 +12,29 @@ const levels = [ { folder_id: "xdVnM5YTVFEewTje", name: "Maitre des lames", - description: "assassin", + description: "Assassin redoutable", }, { folder_id: "A0uWlUA0R29NFyzt", //Mauvaise organisation des dossiers => liste des Taïjutsu et non liste des tech. de MDT name: "Maitre du Taîjutsu", - description: "combattant", + description: "Combattant au corps à corps", }, { folder_id: "iu3QsWHoalitMfaF", name: "Maitre du chakra", - description: "mage", + description: "Puissant manipulateurs des éléments", }, { folder_id: "6ugsJPZf1DtuJKcF", name: "Maitre des 1000 objets", - description: "Bricoleur", + description: "Bricoleurs de génie", }, ], }, { name: "Jutsus", type: "mandatory", + abilityType: "action", options: [ { folder_id: "kQxG5RFU69FLBPr1", @@ -53,11 +54,38 @@ const levels = [ }, ], }, + { + name: "Techniques secrètes", + type: "choice", + folder_id: "Vpz6mBEc10DHh6lT", + abilityType: "choiceDependent", + }, + { + name: "Attaque à deux armes", + type: "mandatory", + item_id: "h3zlLt2yebORkfwU", + abilityType: "passive", + }, ], }, { _id: "2", name: "2", + unlocks: [ + { + name: "Ruse", + type: "mandatory", + item_id: "hLeouAsaMvRQTbUQ", + abilityType: "bAction", + }, + { + name: "Style de combat", + item_id: "6HB0Shhw6cUZNlX7", + type: "choice", + folder: "k6WTAkLIwEsTtyM6", + abilityType: "passive", + }, + ], }, { _id: "3", diff --git a/src/data/tsData.js b/src/data/tsData.js index 5510f50..e565fe9 100644 --- a/src/data/tsData.js +++ b/src/data/tsData.js @@ -332,7 +332,7 @@ const tsData = [ system: { description: { value: - '

Un shinobi des Hibiki peut avoir appris une technique auprès d’un shinobi au cours de ses voyages, lui laissant apprendre deux technique secrète dans la liste des techniques disponibles (hors techniques spéciales de clan)

', + '

Un shinobi des Hibiki peut avoir appris une technique auprès d’un shinobi au cours de ses voyages, lui laissant apprendre deux technique secrète dans la liste des techniques disponibles (hors techniques spéciales de clan)

', chat: "", }, source: { @@ -423,7 +423,7 @@ const tsData = [ }, { _id: "BwxVXlTt3BbhTQoI", - name: "Après-vie", + name: "Après-vie", type: "feat", img: "icons/magic/death/skull-energy-light-purple.webp", effects: [], @@ -433,7 +433,7 @@ const tsData = [ system: { description: { value: - '

Le shinobi cible une créature morte depuis moins d’une journée et la ramène à la vie.
La cible retrouve alors ses points de vie maximum lorsqu’il était vivant. Il ne peut ni parler ni agir de son propre chef et perd 1 points de vie à chaque tour.
Il peut combattre aux ordres de son maître, le défendant au péril de sa non-vie.
Il peut tout de même faire preuve de conscience si on lui demande quelque chose qu’il savait faire de son vivant.
ex : Un écureuil peut cacher un objet grand comme un gland, un tailleur de pierre saura graver quelque chose…

\n

Ne peut pas être lancé sur une créature qui avait plus de points de vie maximum que les points de vie actuels du shinobi.

', + '

Le shinobi cible une créature morte depuis moins d’une journée et la ramène à la vie.
La cible retrouve alors ses points de vie maximum lorsqu’il était vivant. Il ne peut ni parler ni agir de son propre chef et perd 1 points de vie à chaque tour.
Il peut combattre aux ordres de son maître, le défendant au péril de sa non-vie.
Il peut tout de même faire preuve de conscience si on lui demande quelque chose qu’il savait faire de son vivant.
ex : Un écureuil peut cacher un objet grand comme un gland, un tailleur de pierre saura graver quelque chose…

\n

Ne peut pas être lancé sur une créature qui avait plus de points de vie maximum que les points de vie actuels du shinobi.

', chat: "", }, source: { @@ -934,7 +934,7 @@ const tsData = [ system: { description: { value: - '

Génère une fumée toxique sur la lame du hashishin avec une action bonus, s\'imprégnant d’un voile qui inflige 1d12 dégâts de poison supplémentaire sur la prochaine attaque portée.
De plus, une zone en cône de 3m en face du hashishin est aspergée de poison. Quiconque se trouvant à l’intérieur doit jeter un jet de sauvegarde de constitution ou subir 1d12 point de dégât de poison instantanément.

', + '

Génère une fumée toxique sur la lame du hashishin avec une action bonus, s\'imprégnant d’un voile qui inflige 1d12 dégâts de poison supplémentaire sur la prochaine attaque portée.
De plus, une zone en cône de 3m en face du hashishin est aspergée de poison. Quiconque se trouvant à l’intérieur doit jeter un jet de sauvegarde de constitution ou subir 1d12 point de dégât de poison instantanément.

', chat: "", }, source: { @@ -1926,7 +1926,7 @@ const tsData = [ system: { description: { value: - '

Le shinobi peut faire grandir une partie de son corps 1/repos long. Le décuplement dure 1 minute
Bras = Double le modificateur de force

\n

Jambes = Double la vitesse

\n

Corps = Confère 100% des points de vie maximum en points de vie temporaire

', + '

Le shinobi peut faire grandir une partie de son corps 1/repos long. Le décuplement dure 1 minute
Bras = Double le modificateur de force

\n

Jambes = Double la vitesse

\n

Corps = Confère 100% des points de vie maximum en points de vie temporaire

', chat: "", }, source: { @@ -2832,7 +2832,7 @@ const tsData = [ system: { description: { value: - '

Votre maîtrise du souffle mêlée à votre jutsu fuuton permet de générer un cri si puissant qu’il fait vaciller l’air.

\n

Toute créature qui entend ce cri doit jeter un jet de sauvegarde de sagesse ou être terrifié pendant 1d4 tours.
De plus, l’onde de choc renverse les ennemis petits ou très petits.
Enfin, le son perce les tympans des adversaires, les rendant assourdis pendant 2 tours.

', + '

Votre maîtrise du souffle mêlée à votre jutsu fuuton permet de générer un cri si puissant qu’il fait vaciller l’air.

\n

Toute créature qui entend ce cri doit jeter un jet de sauvegarde de sagesse ou être terrifié pendant 1d4 tours.
De plus, l’onde de choc renverse les ennemis petits ou très petits.
Enfin, le son perce les tympans des adversaires, les rendant assourdis pendant 2 tours.

', chat: "", }, source: { @@ -3071,7 +3071,7 @@ const tsData = [ system: { description: { value: - '

Jutsu Fuuton et Suiton. Requiert Hyoton : Dagues de glace
Pour 2 de chakra. imprègne sa dague de glace d’une eau aux propriétés mortelles.
Lorsque cette dague de glace touche, l’adversaire doit jeter un jet de sauvegarde contre la mort comme si elle était à 0 point de vie.
Si elle échoue 3 jets de sauvegarde, le gel de la dague se fond dans sa peau et lui.bloque les organes, le tuant sur le coup.
A trois réussites d\'affilée, l’ennemi est immunisé.

Ne fonctionne que sur les organismes vivants qui ne sont pas immunisés aux dégats de froid.

', + '

Jutsu Fuuton et Suiton. Requiert Hyoton : Dagues de glace
Pour 2 de chakra. imprègne sa dague de glace d’une eau aux propriétés mortelles.
Lorsque cette dague de glace touche, l’adversaire doit jeter un jet de sauvegarde contre la mort comme si elle était à 0 point de vie.
Si elle échoue 3 jets de sauvegarde, le gel de la dague se fond dans sa peau et lui.bloque les organes, le tuant sur le coup.
A trois réussites d\'affilée, l’ennemi est immunisé.

Ne fonctionne que sur les organismes vivants qui ne sont pas immunisés aux dégats de froid.

', chat: "", }, source: { @@ -3244,7 +3244,7 @@ const tsData = [ system: { description: { value: - '

Vous invoquez une lame enflammée dans votre main libre. Au niveau de la taille et de la forme, elle ressemble à un cimeterre et persiste pendant toute la durée du sort. Si vous la lâchez, elle disparaît, mais vous pouvez l\'invoquer de nouveau par une action bonus. Vous pouvez utiliser votre action pour faire une attaque de sort au corps-à-corps avec la lame enflammée. Si vous touchez la cible, cette dernière subit 3d6 dégâts de feu. La lame enflammée émet une vive lumière dans un rayon de 3 mètres et une faible lumière dans un rayon de 3 mètres de plus.

\n

Consomme 3 chakra. Requiert le niveau 4

', + '

Vous invoquez une lame enflammée dans votre main libre. Au niveau de la taille et de la forme, elle ressemble à un cimeterre et persiste pendant toute la durée du sort. Si vous la lâchez, elle disparaît, mais vous pouvez l\'invoquer de nouveau par une action bonus. Vous pouvez utiliser votre action pour faire une attaque de sort au corps-à-corps avec la lame enflammée. Si vous touchez la cible, cette dernière subit 3d6 dégâts de feu. La lame enflammée émet une vive lumière dans un rayon de 3 mètres et une faible lumière dans un rayon de 3 mètres de plus.

\n

Consomme 3 chakra. Requiert le niveau 4

', chat: "", }, source: { @@ -3512,7 +3512,7 @@ const tsData = [ system: { description: { value: - '

L’invocation d’une créature afin d’aider le shinobi est un grand classique dans le monde ninja.
Certains animaux ont eux aussi suivi un entraînement ninja afin de pouvoir suivre leur invocateur sans les gêner.
Les invocations sont indépendantes, durent 1 heure et consomment 1 chakras. 

Les invocations possibles et leur technique sont : 

Animal

Information

Utilitée

Spécialité

Chien
(Shinubi)

vitesse sous terre de 3m, odorat développé

3 chiens pourraient creuser un trou pour un homme. +5 perception passive tant qu’il est avec un allié.

Mobilité et perception 

Chouette

(Fukuronobi)

vol, prise et distribution d\'informations

Invoqué avec un parchemin vierge et un fusain

Information et contournement de règle

Serpent 

(Shinhebi)

Peut se placer de 3m en toute discrétion

Peut immobiliser un adversaire sous forme de piège ou d\'action au Cac

Contrôle de terrain et surprise 

Crapaud

(Hikigaerunobi)

Se perche sur l’épaule d’un allié et lui offre combos et résistance

Peut absorber 5 point de dégâts

Peut attaquer avec un coup de langue

Combat

', + '

L’invocation d’une créature afin d’aider le shinobi est un grand classique dans le monde ninja.
Certains animaux ont eux aussi suivi un entraînement ninja afin de pouvoir suivre leur invocateur sans les gêner.
Les invocations sont indépendantes, durent 1 heure et consomment 1 chakras. 

Les invocations possibles et leur technique sont : 

Animal

Information

Utilitée

Spécialité

Chien
(Shinubi)

vitesse sous terre de 3m, odorat développé

3 chiens pourraient creuser un trou pour un homme. +5 perception passive tant qu’il est avec un allié.

Mobilité et perception 

Chouette

(Fukuronobi)

vol, prise et distribution d\'informations

Invoqué avec un parchemin vierge et un fusain

Information et contournement de règle

Serpent 

(Shinhebi)

Peut se placer de 3m en toute discrétion

Peut immobiliser un adversaire sous forme de piège ou d\'action au Cac

Contrôle de terrain et surprise 

Crapaud

(Hikigaerunobi)

Se perche sur l’épaule d’un allié et lui offre combos et résistance

Peut absorber 5 point de dégâts

Peut attaquer avec un coup de langue

Combat

', chat: "", }, source: { @@ -3631,7 +3631,7 @@ const tsData = [ system: { description: { value: - '

Pour 4 chakra supplémentaire, permet d’invoquer la version adulte de chaque invocation

Animal

Information

Utilitée

Spécialité

Chien de monte

vitesse montée de 15m

20hp

attaque +5, 2d4 + 3

Permet d’être monté, profitant d’avantages sur les jets de physique lié au déplacement

Mobilité accrue

combattant

Chouette géante

vol
peut porter jusqu’à 100kg

Déplacement sur longues distance, prise de hauteur

Mobilité accrue

Boa gigantesque

Peut restreindre les adversaire et les dévorer pour se régénérer

attaque +5, 1d6 + 3

Récupère autant de points de vie que de dégâts infligés si son adversaire est immobilisé.

Tenue de position 

Ancêtre Crapaud 

Sert de mur (40hp) et permet de combiner avec une charge de flaque d’huile

Flaque d’huile infligeant 2d8+3 dégât de feu en zone 3x3 lorsqu’elle est allumée

Combat

', + '

Pour 4 chakra supplémentaire, permet d’invoquer la version adulte de chaque invocation

Animal

Information

Utilitée

Spécialité

Chien de monte

vitesse montée de 15m

20hp

attaque +5, 2d4 + 3

Permet d’être monté, profitant d’avantages sur les jets de physique lié au déplacement

Mobilité accrue

combattant

Chouette géante

vol
peut porter jusqu’à 100kg

Déplacement sur longues distance, prise de hauteur

Mobilité accrue

Boa gigantesque

Peut restreindre les adversaire et les dévorer pour se régénérer

attaque +5, 1d6 + 3

Récupère autant de points de vie que de dégâts infligés si son adversaire est immobilisé.

Tenue de position 

Ancêtre Crapaud 

Sert de mur (40hp) et permet de combiner avec une charge de flaque d’huile

Flaque d’huile infligeant 2d8+3 dégât de feu en zone 3x3 lorsqu’elle est allumée

Combat

', chat: "", }, source: { @@ -3791,7 +3791,7 @@ const tsData = [ system: { description: { value: - '

Le shinobi souffle 1d6 traits enflammés en face de lui. Lancez une attaque à distance pour chaque trait qui inflige 1d6+ modificateur d’incantation points de dégât de feu.
Les traits sont très volatiles et requiert une grande concentration pour être visé correctement. Les jets d’attaque à distance ont un désavantage pour toucher.
Consomme 2 chakra
Si 2 chakra supplémentaire est consommé, le jutsu sera plus précis et n’aura pas de désavantage aux jets de toucher

', + '

Le shinobi souffle 1d6 traits enflammés en face de lui. Lancez une attaque à distance pour chaque trait qui inflige 1d6+ modificateur d’incantation points de dégât de feu.
Les traits sont très volatiles et requiert une grande concentration pour être visé correctement. Les jets d’attaque à distance ont un désavantage pour toucher.
Consomme 2 chakra
Si 2 chakra supplémentaire est consommé, le jutsu sera plus précis et n’aura pas de désavantage aux jets de toucher

', chat: "", }, source: { @@ -4274,7 +4274,7 @@ const tsData = [ system: { description: { value: - '

Vous gagnez la possibilité de sauter plus vite et plus loin. Portez votre déplacement à 12m. De plus, vous confère un bonus égal à votre modificateur de dextérité à votre distance de saut
Coûte 1 chakra pour 10 minutes

', + '

Vous gagnez la possibilité de sauter plus vite et plus loin. Portez votre déplacement à 12m. De plus, vous confère un bonus égal à votre modificateur de dextérité à votre distance de saut
Coûte 1 chakra pour 10 minutes

', chat: "", }, source: { @@ -4669,7 +4669,7 @@ const tsData = [ system: { description: { value: - '

Le spécialiste de la mêlée obtient autant de points de ki que son niveau.
Il peut les dépenser pour gagner des bonus lors de ses assauts en mêlée.
Il récupère ses points de ki lors d’un repos long et un point pour chaque ennemi qu’il tue ou chaque coup critique avec une attaque en mêlée réalisée. 

Il peut dépasser le maximum de points de ki en récupérant des points, mais revient à son maximum (=niveau) lors des repos longs.

Nb de point dépensé

Description

1

gagnez votre bonus global aux jets d\'attaque quand vous attaquez avec votre prochaine attaque en mêlée

2

Donne un avantage à la prochaine attaque en mêlée

4

Donne une attaque supplémentaire


', + '

Le spécialiste de la mêlée obtient autant de points de ki que son niveau.
Il peut les dépenser pour gagner des bonus lors de ses assauts en mêlée.
Il récupère ses points de ki lors d’un repos long et un point pour chaque ennemi qu’il tue ou chaque coup critique avec une attaque en mêlée réalisée. 

Il peut dépasser le maximum de points de ki en récupérant des points, mais revient à son maximum (=niveau) lors des repos longs.

Nb de point dépensé

Description

1

gagnez votre bonus global aux jets d\'attaque quand vous attaquez avec votre prochaine attaque en mêlée

2

Donne un avantage à la prochaine attaque en mêlée

4

Donne une attaque supplémentaire


', chat: "", }, source: { @@ -4774,7 +4774,7 @@ const tsData = [ system: { description: { value: - '

Vous permet de conserver votre vitesse de déplacement sur les murs et les parois verticales.
Vous changez l’afflux gravitationnel de votre corps lorsque vous marchez sur les murs, donc si vous tombez en arrière, votre corps tombera sur le mur et non sur le sol.

\n

Cette technique ne requiert pas de chakra mais vous demandera de garder votre concentration.

', + '

Vous permet de conserver votre vitesse de déplacement sur les murs et les parois verticales.
Vous changez l’afflux gravitationnel de votre corps lorsque vous marchez sur les murs, donc si vous tombez en arrière, votre corps tombera sur le mur et non sur le sol.

\n

Cette technique ne requiert pas de chakra mais vous demandera de garder votre concentration.

', chat: "", }, source: { @@ -5241,7 +5241,7 @@ const tsData = [ system: { description: { value: - '

Vous défiez un adversaire à portée. Tant que vous n\'attaquez que cet adversaire, vous bénéficiez d\'un avantage à votre première attaque à chacun de vos tours.
Le mudra est brisé si vous changez de cible

', + '

Vous défiez un adversaire à portée. Tant que vous n\'attaquez que cet adversaire, vous bénéficiez d\'un avantage à votre première attaque à chacun de vos tours.
Le mudra est brisé si vous changez de cible

', chat: "", }, source: { @@ -5713,7 +5713,7 @@ const tsData = [ system: { description: { value: - '

Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau.
La nature dormante est une technique qui permet de plonger toute créature autre que le lanceur dans un rayon de 32m dans un rêve d’un autre monde.
Les créatures sont alors endormis pendant 72 heures et ne se réveillent que s\' ils sont attaqués. Ils se réveillent avec l\'état fatigué.

', + '

Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau.
La nature dormante est une technique qui permet de plonger toute créature autre que le lanceur dans un rayon de 32m dans un rêve d’un autre monde.
Les créatures sont alors endormis pendant 72 heures et ne se réveillent que s\' ils sont attaqués. Ils se réveillent avec l\'état fatigué.

', chat: "", }, source: { @@ -5887,7 +5887,7 @@ const tsData = [ system: { description: { value: - '

    Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau

\n

Le second souffle permet de créer une zone en cube de 5m²

\n

Les créatures à l’intérieur se retrouvent animées d’un souffle de vie qui leur remet leurs points de vie maximum et leur rend leur chakra dépensé.

\n

Si une créature est en train de périr ou est décédée depuis moins de 24h, il revient à la vie avec 1 point de vie et reprend immédiatement conscience.

', + '

    Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau

\n

Le second souffle permet de créer une zone en cube de 5m²

\n

Les créatures à l’intérieur se retrouvent animées d’un souffle de vie qui leur remet leurs points de vie maximum et leur rend leur chakra dépensé.

\n

Si une créature est en train de périr ou est décédée depuis moins de 24h, il revient à la vie avec 1 point de vie et reprend immédiatement conscience.

', chat: "", }, source: { @@ -6021,7 +6021,7 @@ const tsData = [ system: { description: { value: - '

Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau

\n

Le Soleil brûlant est une technique qui permet à son utilisateur d’invoquer la puissance solaire et envoyer un rayon à travers le ciel.
Les adversaires pris dans une zone de 3m de rayon subissent 5d10 dégats radiants et doivent jeter un jet de constitution ou bien être empoisonné par les radiations

', + '

Le shinobi utilise la technique secrète du parchemin, consommant le contenu du rouleau

\n

Le Soleil brûlant est une technique qui permet à son utilisateur d’invoquer la puissance solaire et envoyer un rayon à travers le ciel.
Les adversaires pris dans une zone de 3m de rayon subissent 5d10 dégats radiants et doivent jeter un jet de constitution ou bien être empoisonné par les radiations

', chat: "", }, source: { @@ -6133,7 +6133,7 @@ const tsData = [ system: { description: { value: - '

Permet d\'enchanter le tissu de ses armures. Ne fonctionne que sur les armures légères. L\'armure ne pèse alors plus rien, ce qui vous donne les avantages suivants : avantages lors des jets de sauvegarde de dextérité Plus de ralentissement lors d\'escalade Possibilité de se déplacer de 1,5m pour une action bonus.
Permanent mais réduit de 1 votre maximum de chakra

', + '

Permet d\'enchanter le tissu de ses armures. Ne fonctionne que sur les armures légères. L\'armure ne pèse alors plus rien, ce qui vous donne les avantages suivants : avantages lors des jets de sauvegarde de dextérité Plus de ralentissement lors d\'escalade Possibilité de se déplacer de 1,5m pour une action bonus.
Permanent mais réduit de 1 votre maximum de chakra

', chat: "", }, source: { @@ -6510,7 +6510,7 @@ const tsData = [ system: { description: { value: - '

    Vous avez accès à la technique Raiton de l’éclair déchaîné.

\n

Tout d’abord, le maître du chakra doit poser sur un sol relié à la terre une marque de foudre visible par tous mais intangible.

\n

Ensuite, Il peut utiliser son action bonus pour insuffler dans son jutsu ou son attaque au corps à corps du chakra Raiton afin d’apposer une marque sur une cible ou un décor.
La marque dure 10 minutes et ne peut être retirée que par la technique spéciale dissipation du chakra.

\n

Lorsque 3 marques sont apposés, le maître du chakra peut dépenser un nombre de chakra égal au nombre de marque et utiliser son action simple afin d’infliger, dans une ligne de 2 segments qui passe d’une marque à l’autre 1d4+1d6+1d8+1d10 points de dégât de foudre a chaque segments.

\n

Les ennemis touchés peuvent jeter un jet de sauvegarde de dextérité afin de réduire les dégâts de moitié.

', + '

    Vous avez accès à la technique Raiton de l’éclair déchaîné.

\n

Tout d’abord, le maître du chakra doit poser sur un sol relié à la terre une marque de foudre visible par tous mais intangible.

\n

Ensuite, Il peut utiliser son action bonus pour insuffler dans son jutsu ou son attaque au corps à corps du chakra Raiton afin d’apposer une marque sur une cible ou un décor.
La marque dure 10 minutes et ne peut être retirée que par la technique spéciale dissipation du chakra.

\n

Lorsque 3 marques sont apposés, le maître du chakra peut dépenser un nombre de chakra égal au nombre de marque et utiliser son action simple afin d’infliger, dans une ligne de 2 segments qui passe d’une marque à l’autre 1d4+1d6+1d8+1d10 points de dégât de foudre a chaque segments.

\n

Les ennemis touchés peuvent jeter un jet de sauvegarde de dextérité afin de réduire les dégâts de moitié.

', chat: "", }, source: { @@ -7243,7 +7243,7 @@ const tsData = [ }, { _id: "Vpz6mBEc10DHh6lT", - name: "Techniques secrètes", + name: "Techniques secrètes", type: "Item", sorting: "a", sort: 100000, @@ -7332,7 +7332,7 @@ const tsData = [ system: { description: { value: - '

Les shinobi de Bojambu savent qu’une arme vaut tous les jutsus, ils ont donc développé une technique pour que leur arme se métamorphose pour répondre à leur besoins.
Vous obtenez une arme en acier dans la liste suivante. La transformation d’arme permet d’alterner entre les armes du clan Bojambu a volonté.

\n

\n

\n\n

 

\n

De plus, un shinobi des bojambu profite d’un bonus de +1 lorsqu’il utilise les armes de son clan.

', + '

Les shinobi de Bojambu savent qu’une arme vaut tous les jutsus, ils ont donc développé une technique pour que leur arme se métamorphose pour répondre à leur besoins.
Vous obtenez une arme en acier dans la liste suivante. La transformation d’arme permet d’alterner entre les armes du clan Bojambu a volonté.

\n

\n

\n\n

 

\n

De plus, un shinobi des bojambu profite d’un bonus de +1 lorsqu’il utilise les armes de son clan.

', chat: "", }, source: { @@ -7666,7 +7666,7 @@ const tsData = [ system: { description: { value: - '

 À appliquer à une autre technique afin que cette dernière fasse récupérer de la vie.

\n

Consomme 2 chakra

', + '

 À appliquer à une autre technique afin que cette dernière fasse récupérer de la vie.

\n

Consomme 2 chakra

', chat: "", }, source: { diff --git a/src/layouts/Body/index.js b/src/layouts/Body/index.js new file mode 100644 index 0000000..1ebcf78 --- /dev/null +++ b/src/layouts/Body/index.js @@ -0,0 +1,8 @@ +import "./styles.css"; + +const Body = (props) => { + console.log(props); //Object { level: 0 } + return
lvl: {props.level}
; +}; + +export default Body; diff --git a/src/layouts/Body/styles.css b/src/layouts/Body/styles.css new file mode 100644 index 0000000..e246b7c --- /dev/null +++ b/src/layouts/Body/styles.css @@ -0,0 +1 @@ +.footer {} \ No newline at end of file diff --git a/src/pages/Admin/index.js b/src/pages/Admin/index.js index a07cfad..f35a774 100644 --- a/src/pages/Admin/index.js +++ b/src/pages/Admin/index.js @@ -70,14 +70,34 @@ const Admin = () => { console.log(itemId); console.log(e.target.parentNode.querySelector("textarea").value); let newDesc = e.target.parentNode.querySelector("textarea").value; - // allData.map((item) => { - // if (item._id === itemId) { - // item.system.description.value = newDesc; - // } - // }); - // console.log(allData.filter((item) => item._id === itemId)); // check if the name has been changed + allData.map((item) => { + if (item._id === itemId) { + item.system.description.value = newDesc; + } + }); + console.log(allData.filter((item) => item._id === itemId)); // check if the name has been changed }; + // const getItem = (itemId) => { + // console.log(allData.filter((item) => item._id === itemId)); + // }; + + // const getFolder = (folderId) => { + // console.log(allData.filter((item) => item.folder === folderId)); + // return allData.filter((item) => item.folder === folderId); + // }; + + // const getItemsInFolder = (folderId) => { + // let d = []; + // let folder = getFolder(folderId); + // for (let i = 0; i < folder.length; i++) { + // if (getFolder(folder[i]._id).length !== 0) + // getItemsInFolder(folder[i]._id); + // else d.push(getItem(folder[i]._id)); + // } + // console.log(d); + // }; + const renderSubItems = (subItems) => { if (subItems?.length === 0) { return subItems?.length !== 0 ? ( @@ -175,6 +195,7 @@ const Admin = () => { ); }; +// Example object for seeing the data structure and what to set changeable // { // _id: "kLHR7GDjdqHOA4bl", // name: "Billes explosives", diff --git a/src/pages/Character/index.js b/src/pages/Character/index.js index b4ded40..0b3f810 100644 --- a/src/pages/Character/index.js +++ b/src/pages/Character/index.js @@ -2,13 +2,14 @@ import "./styles.css"; import { useEffect, useState } from "react"; +import Body from "../../../src/layouts/Body/index.js"; import Container from "../../layouts/Container/index.js"; import allData from "../../data/dataFiltered.js"; import levels from "../../data/levels.js"; const Character = () => { const [data, setData] = useState(); - + var selectedLevel = 0; useEffect(() => { const filterDataByFolder = (folderId) => { const filteredData = allData.filter((item) => item.folder === folderId); @@ -34,6 +35,19 @@ const Character = () => { setData(filteredData); }, [setData]); + let levelDom = document.getElementsByClassName("level"); + + for (let i = 0; i < levelDom.length; i++) { + levelDom[i].addEventListener("click", () => { + for (let j = 0; j < levelDom.length; j++) { + levelDom[j].classList.remove("selected"); + } + levelDom[i].classList.add("selected"); + selectedLevel = i + 1; + Body({ level: selectedLevel }); + }); + } + const renderSubItems = (subItems) => { if (subItems?.length === 0) { return subItems?.length !== 0 ? ( @@ -82,7 +96,7 @@ const Character = () => { }} > {levels.map((item, id) => ( -
+

{item?.name}

))} @@ -97,6 +111,7 @@ const Character = () => { {renderSubItems(item?.subItems)}
))} */} + );