Ajout items et fiches

This commit is contained in:
LeRatierBretonnien 2024-06-04 21:05:54 +02:00
parent 6b47cd3f40
commit 949baa8359
59 changed files with 4585 additions and 2180 deletions

View File

@ -1,5 +1,6 @@
[Dolphin] [Dolphin]
SortRole=modificationtime SortRole=modificationtime
Timestamp=2023,5,10,17,7,42.817 Timestamp=2024,6,1,19,13,35.263
Version=4 Version=4
ViewMode=1
VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="darkzaitzev-acrobatic-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#darkzaitzev-acrobatic-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M140.488 19.31s-26.726 65.584-24.572 75.734c1.878 9.191 9.306.316 12.457 7.064 5.59 11.803 55.342 93.663 49.182 98.626-1.558 1.36-39.38-.402-67.961-5.845-52.49-9.998-94.822 2.352-77.039 42.21 26.177 58.653 133.15 154.14 97.89 183.602-40.844 34.159 19.82 117.249 79.275 40.308 10.885-14.085 29.356-73.201-1.614-69.579-37.447 4.38-14.128-30.491-14.128-30.491l23.345-29.92c12.96-1.9 134.534-21.449 134.534-21.449l-4.226-27.002-174.475 20.25s-24.16-32.453-35.964-50.687c-9.37-11.474 62.005 4.88 76.388-10.522 19.968-21.276 7.601-43.88 7.601-43.88L155.35 69.201zm114.619 43.977l-62.759 39.419 16.081 28.897 114.931-58.86zm-124.743 78.84l-46.691 31.612 48.224 10.444 17.417-12.13zm175.08 24.496l-52.166 34.37 51.969 32.462.058-21.93c51.869 12.43 140.22 48.13 126.472 191.26l23.908-73.889 27.884 33.386c-5.502-166.903-150.537-170.593-178.19-171.609zm-74.376 175.953l-19.91 25.873 110.89 14.697s18.638-17.84 15.035-18.976c-27.712-8.623-79.886-16.97-106.015-21.594z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/icons/adresse.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
images/icons/arme_tir.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
images/icons/armure.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="lorc-awareness-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#lorc-awareness-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M121.406 18.313c-57.98 16.562-98.06 51.613-98.062 92.28-.003 40.518 39.805 75.616 97.437 92.25-33.653-22.005-55.22-55.224-55.218-92.25 0-37.237 21.85-70.277 55.844-92.28zm276.531 0c33.995 22.003 55.844 55.043 55.844 92.28.004 37.026-21.563 70.245-55.217 92.25 57.632-16.634 97.44-51.732 97.437-92.25-.003-40.667-40.082-75.718-98.063-92.28zM163.28 41.656c-43.303 12.368-73.215 38.565-73.218 68.938-.002 30.26 29.707 56.482 72.75 68.906-25.135-16.434-41.25-41.255-41.25-68.906 0-27.813 16.328-52.503 41.72-68.938zm192.782 0c25.39 16.435 41.72 41.125 41.72 68.938 0 27.65-16.115 52.472-41.25 68.906 43.043-12.424 72.752-38.645 72.75-68.906-.004-30.373-29.915-56.57-73.22-68.938zm-101.03 6.813c-23.457 3.027-44.22 30.026-44.22 64.655 0 19.094 6.635 36.007 16.438 47.75l10.22 12.25-15.69 2.938c-12.834 2.4-22.282 9.19-30.25 20.062-7.965 10.872-14 25.903-18.218 43.156-7.727 31.62-9.362 70.17-9.593 103.94h41.655l.625 8.655 10.625 141.375h90.344l9.374-141.313.594-8.718h39.625c-.017-34.152-.373-73.232-7.375-105.095-3.818-17.37-9.612-32.392-17.688-43.156-8.076-10.765-17.99-17.51-32.344-19.72l-16-2.47 10.125-12.624c9.38-11.682 15.69-28.4 15.69-47.03 0-36.92-23.274-64.564-49.095-64.564-2.8 0-4.505-.137-4.844-.093zm-51.438 12.155c-31.38 8.964-53.063 27.96-53.063 49.97 0 21.927 21.53 40.935 52.72 49.936-18.212-11.908-29.875-29.898-29.875-49.936.003-20.153 11.82-38.06 30.22-49.97zm112.156 0c18.398 11.91 30.216 29.816 30.22 49.97 0 20.037-11.664 38.027-29.876 49.936 31.19-9 52.72-28.008 52.72-49.936-.002-22.01-21.686-41.005-53.064-49.97z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
images/icons/bouclier.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
images/icons/ccsavoir.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="delapouite-classical-knowledge-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#delapouite-classical-knowledge-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M104 37.25V215.1c3.6 9.9 10 14.1 20.9 17 11.4 2.9 27.1 3.1 43.9 3.1 16.8 0 34.6-.1 51.4 3.6 9.5 2.1 18.7 5.7 26.8 11.2V55.43c-7.2-9.9-15.9-13.69-27.3-15.09-12.2-1.49-27.3.55-42.9 2.83-15.7 2.28-31.9 4.81-47.7 2.88-8.7-1.07-17.3-3.87-25.1-8.8zm304 0c-7.8 4.93-16.4 7.73-25.1 8.8-15.8 1.93-32-.6-47.7-2.88-15.6-2.28-30.7-4.32-42.9-2.83-11.4 1.4-20.1 5.19-27.3 15.09V250c8.1-5.5 17.3-9.1 26.8-11.2 16.8-3.7 34.6-3.6 51.4-3.6 16.8 0 32.5-.2 43.9-3.1 10.9-2.9 17.3-7.1 20.9-17V37.25zM130.8 80.03h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zm-161 44.47h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zm-161 46.8h89.4v18h-89.4v-18zm161 0h89.4v18h-89.4v-18zM96 249c-17.3 0-29.19 7.3-37.77 18.9C49.66 279.4 45 295.7 45 312s4.66 32.6 13.23 44.1C66.81 367.7 78.7 375 96 375c22 0 35.7-7.1 44.4-14 8.6-6.9 11.5-13 11.5-13l2.5-5h203.2l2.5 5s2.9 6.1 11.5 13c8.7 6.9 22.4 14 44.4 14 17.3 0 29.2-7.3 37.8-18.9 8.5-11.5 13.2-27.8 13.2-44.1s-4.7-32.6-13.2-44.1c-8.6-11.6-20.5-18.9-37.8-18.9-22 0-35.7 7.1-44.4 14-8.6 6.9-11.5 13-11.5 13l-2.5 5H154.4l-2.5-5s-2.9-6.1-11.5-13c-8.7-6.9-22.4-14-44.4-14zm4.6 21.9c.9 0 1.9 0 2.9.1 13.5 1.2 28.2 8.9 44.1 24h216.8c15.9-15.1 30.6-22.8 44.1-24 14.2-1.2 26.6 5.8 33.1 16.2 13.1 20.9 7 53.9-20.6 72.3l-10-15c20.4-13.6 22.3-36.6 15.4-47.7-3.5-5.6-8.1-8.6-16.4-7.8-8.2.7-20.6 6.3-35.6 21.4l-2.7 2.6H140.3l-2.7-2.6c-15-15.1-27.4-20.7-35.6-21.4-8.26-.8-12.9 2.2-16.37 7.8-6.92 11.1-4.99 34.1 15.37 47.7l-9.99 15c-27.65-18.4-33.72-51.4-20.64-72.3 5.72-9.1 15.9-15.6 27.92-16.3h2.31zM169 361v126h30V361h-30zm48 0v126h30V361h-30zm48 0v126h30V361h-30zm48 0v126h30V361h-30z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
images/icons/compass.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/icons/education.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/icons/entregent.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
images/icons/puissance.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="sbed-revolt-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#sbed-revolt-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M106 145.23c0-36.923 37.5-36.923 37.5-36.923s-18.75-23.163-18.75-36.922c0-13.76 0-18.462 18.75-36.922C162.25 16 162.25 16 181 16h150c18.75 0 42.22 19.56 56.25 36.923C398.26 66.556 406 89.845 406 101.813c0 61.88-50.018 178.424-50.018 178.424l6.137 215.197-203.352.566L181 274.46l-37.5-36.922c-18.75-18.462-37.5-36.924-37.5-55.384z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 825 B

BIN
images/icons/savoir.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="delapouite-shaking-hands-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#delapouite-shaking-hands-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M494 61.363l-82.58 77.934 78.994 132.96 3.586-4.458V61.362zM18 62.5v225.893c4.48.582 9.863.903 15.295.96 11.87.125 21.654-.65 27.15-1.144L113.1 154.974 18 62.5zm389.154 104.86l-7.04 4.556c-.15.097-5.362 3.336-6.893 4.29l-10.605 6.42.15.09c-4.914 3.057-6.28 3.917-11.857 7.38-2.83 1.757-2.9 1.798-5.584 3.465-20.29-10.907-42.306-19.29-67.998-25.882-32.312 9.762-66.542 23.888-100.722 37.142 14.19 17.087 29.96 22.651 45.845 22.85 18.42.23 37.25-7.78 50.218-16.754l7.4-5.12 7.426 10.73 115.453 83.33 45.112-29.987-60.906-102.51zM126.477 170.1L81.11 284.887 97.76 297.69l30.795-34.905 2.467-2.795 3.72-.232c1.5-.094 2.98-.138 4.44-.13 10.212.066 19.342 2.716 26.19 8.76 5.072 4.472 8.444 10.426 10.4 17.32l2.28-.142c11.995-.75 22.802 1.725 30.63 8.63 7.827 6.907 11.63 17.323 12.38 29.32l.07 1.08c6.44 1.216 12.205 3.752 16.893 7.888 7.828 6.906 11.63 17.32 12.38 29.317l.197 3.12c.642.202 1.275.424 1.9.658l2.033-2.853 5.47-7.678 2.813-3.95 7.33 5.223 59.428 42.336c6.464-1.594 10.317-4.075 12.46-7.086 2.147-3.012 3.233-7.47 2.624-14.107l-71.258-51.03-7.318-5.24 5.19-7.246 6.67-9.365 7.33 5.223 80.335 57.226c6.464-1.593 10.32-4.074 12.463-7.085 2.144-3.01 3.23-7.457 2.625-14.082l-92.398-65.55-7.34-5.21 10.414-14.68 7.343 5.208 92.414 65.565c6.47-1.594 10.327-4.075 12.473-7.088 2.148-3.015 3.233-7.476 2.62-14.125l-110.44-79.71c-14.655 8.688-33.402 15.648-53.557 15.396-23.587-.295-48.817-11.566-67.377-40.05a9 9 0 0 1 4.343-13.327c13.014-4.945 26.163-10.17 39.343-15.354l-92.056-6.834zm12.902 107.62l-47.564 53.91c.927 6.746 3.04 10.942 5.887 13.454 2.847 2.512 7.275 4.085 14.084 4.164l47.563-53.908c-.927-6.747-3.04-10.945-5.887-13.457-2.847-2.512-7.274-4.084-14.084-4.162zm43.308 25.81l-53.713 60.88c.926 6.747 3.04 10.945 5.886 13.457 2.85 2.51 7.275 4.083 14.085 4.16l53.713-60.878c-.926-6.748-3.04-10.944-5.887-13.457-2.846-2.512-7.273-4.085-14.083-4.164zm29.34 38.286l-47.56 53.91c.927 6.746 3.04 10.943 5.887 13.456 2.848 2.512 7.275 4.083 14.084 4.162L232 359.44c-.927-6.75-3.04-10.947-5.887-13.46-2.847-2.512-7.274-4.083-14.084-4.162zm24.702 39.137l-38.794 44.28c.925 6.76 3.038 10.962 5.888 13.476 2.845 2.51 7.267 4.082 14.067 4.163l38.796-44.28c-.926-6.758-3.04-10.96-5.89-13.476-2.844-2.51-7.266-4.08-14.066-4.162zm35.342 4.79c1.694 4.62 2.673 9.74 3.014 15.192l.232 3.704-8.277 9.448 26.724 19.037c6.464-1.594 10.316-4.075 12.46-7.086 2.145-3.01 3.233-7.464 2.628-14.093l-36.78-26.2z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -1 +0,0 @@
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><radialGradient id="lorc-strong-gradient-0"><stop offset="0%" stop-color="#333232" stop-opacity="1"></stop><stop offset="100%" stop-color="#9e9c9c" stop-opacity="1"></stop></radialGradient></defs><rect fill="url(#lorc-strong-gradient-0)" height="512" width="512" rx="32" ry="32"></rect><g class="" style="" transform="translate(0,0)"><path d="M257.375 20.313c-13.418 0-26.07 7.685-35.938 21.75-9.868 14.064-16.343 34.268-16.343 56.75 0 22.48 6.475 42.654 16.344 56.718 9.868 14.066 22.52 21.75 35.937 21.75 13.418 0 26.038-7.684 35.906-21.75 9.87-14.063 16.376-34.236 16.376-56.718 0-22.48-6.506-42.685-16.375-56.75-9.867-14.064-22.487-21.75-35.905-21.75zm-150.25 43.062c-20.305.574-23.996 13.892-31.78 29.03-23.298 45.304-55.564 164.75-55.564 164.75l160.47-5.436 29.125 137.593-22.78 106.03h149.093l-22.282-106 24.25-137.5 157.53 5.313c.002 0-32.264-119.447-55.56-164.75-7.787-15.14-11.477-28.457-31.782-29.03-17.898 0-32.406 15.552-32.406 34.718 0 19.166 14.508 34.72 32.406 34.72 3.728 0 7.258-.884 10.594-2.126l7.937 74.406L309.437 165c-.285.42-.552.867-.843 1.28-12.436 17.724-30.604 29.69-51.22 29.69-20.614 0-38.782-11.966-51.218-29.69-.277-.395-.54-.816-.812-1.218l-116.75 40.032 7.937-74.406c3.337 1.242 6.867 2.125 10.595 2.125 17.898 0 32.406-15.553 32.406-34.72 0-19.165-14.507-34.718-32.405-34.718z" fill="#000" fill-opacity="1"></path></g></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -42,6 +42,7 @@ export class TeDeumActorPJSheet extends ActorSheet {
providence: this.actor.prepareProvidence(), providence: this.actor.prepareProvidence(),
arbreCompetences: this.actor.prepareArbreCompetences(), arbreCompetences: this.actor.prepareArbreCompetences(),
equipements: this.actor.getEquipements(), equipements: this.actor.getEquipements(),
graces: this.actor.getGraces(),
description: await TextEditor.enrichHTML(this.object.system.description, { async: true }), description: await TextEditor.enrichHTML(this.object.system.description, { async: true }),
notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }), notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }),
options: this.options, options: this.options,

View File

@ -83,6 +83,11 @@ export class TeDeumActor extends Actor {
return comp; return comp;
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getGraces() {
let comp = duplicate(this.items.filter(item => item.type == 'grace') || [])
TeDeumUtility.sortArrayObjectsByName(comp)
return comp;
}
getArmes() { getArmes() {
let comp = duplicate(this.items.filter(item => item.type == 'arme') || []) let comp = duplicate(this.items.filter(item => item.type == 'arme') || [])
TeDeumUtility.sortArrayObjectsByName(comp) TeDeumUtility.sortArrayObjectsByName(comp)

View File

@ -27,14 +27,30 @@ export const TEDEUM_CONFIG = {
}, },
ARME_SPECIFICITE: { ARME_SPECIFICITE: {
"encombrante": { label: "Encombrante", id: "encombrante" }, "encombrante": { label: "Encombrante", id: "encombrante", melee: true, tir: true},
"maintiendistance": { label: "Maintien à distance", id: "maintiendistance" }, "maintiendistance": { label: "Maintien à distance", id: "maintiendistance", melee: true, tir: false },
"treslongue": { label: "Très longue", id: "treslongue" }, "coupassomant": { label: "Coup assomant", id: "coupassomant", melee: true, tir: false},
"coupassomant": { label: "Coup assomant", id: "coupassomant" }, "peutlancer": { label: "Peut être lancée", id: "peutlancer", melee: true, tir: false},
"peutlancer": { label: "Peut être lancée", id: "peutlancer" }, "pasboutportant": { label: "Inutilisable à bout portant", id: "pasboutportant", melee: false, tir: true},
"rechargearquebusade": { label: "Retrancher l'Arquebusade au temps de recharge", id: "rechargearquebusade", melee: false, tir: true },
"mitraille": { label: "Mitraille", id: "mitraille", melee: false, tir: true },
"degatscharge": { label: "Dégâts accrus à la charge", id: "degatscharge", melee: true, tir: false },
"crochecavalier": { label: "Croche-cavalier", id: "crochecavalier", melee: true, tir: false },
"coupfaucheur": { label: "Coup du faucheur", id: "coupfaucheur", melee: true, tir: false },
"briselances": { label: "Brise-lances", id: "briselances", melee: true, tir: false },
"pasbrisemaingaucheespagnole": { label: "Ne peut être brisé pas une main gauche espagnole", id: "pasbrisemaingaucheespagnole", melee: true, tir: false },
"peutbriser": { label: "Peut briser", id: "peutbriser", melee: true, tir: false },
}, },
descriptionValeur: { ARME_PORTEES: {
"brulepourpoint": { label: "Brûle-pourpoint", difficulty: "facile", id: "brulepourpoint"},
"courte": { label: "Courte", difficulty: "pardefaut", id: "courte"},
"moyenne": { label: "Moyenne", difficulty: "difficile", id: "moyenne"},
"longue": { label: "Longue", difficulty: "perilleux", id: "longue"},
"extreme": { label: "Extrême", difficulty: "desespere", id: "extreme"},
},
descriptionValeurOdd: {
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" }, 1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" }, 2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" }, 3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
@ -48,6 +64,14 @@ export const TEDEUM_CONFIG = {
11: { valeur: 11, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" }, 11: { valeur: 11, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
12: { valeur: 12, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" }, 12: { valeur: 12, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
}, },
descriptionValeur: {
1: { valeur: 1, qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
2: { valeur: 2, qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
3: { valeur: 3, qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
4: { valeur: 4, qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
5: { valeur: 5, qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
6: { valeur: 6, qualite: "Admirable", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
},
diceValeur: [ "d4", "d6", "d8", "d10", "d12", "d20" ], diceValeur: [ "d4", "d6", "d8", "d10", "d12", "d20" ],
degatsArmure : { degatsArmure : {
sansarmure : { label: "Sans armure"}, sansarmure : { label: "Sans armure"},
@ -79,6 +103,21 @@ export const TEDEUM_CONFIG = {
melee: { label: "Mêlée", value: "melee" }, melee: { label: "Mêlée", value: "melee" },
tir: { label: "Tir", value: "tir" } tir: { label: "Tir", value: "tir" }
}, },
armeAllonges: {
courte: { label: "Courte", value: "courte" },
moyenne: { label: "Moyenne", value: "moyenne" },
longue: { label: "Longue", value: "longue" },
treslongue: { label: "Très longue", value: "treslongue"}
},
armeCompetences: {
bagarre: { label: "Bagarre", value: "bagarre" },
maingauche: { label: "Main gauche", value: "maingauche" },
escrime: { label: "Escrime", value: "escrime" },
hast: { label: "Armes d'Hast", value: "hast" },
lancer: { label: "Lancer", value: "lancer" },
archerie: { label: "Archerie", value: "archerie" },
arquebusade: { label: "Arquebusade", value: "arquebusade" }
},
difficulte: { difficulte: {
routine: { label: "Routine", value: 3 }, routine: { label: "Routine", value: 3 },
facile: { label: "Facile", value: 5 }, facile: { label: "Facile", value: 5 },

View File

@ -50,9 +50,17 @@ export class TeDeumUtility {
//console.log("getConfigLabel", configName, key) //console.log("getConfigLabel", configName, key)
return game.system.tedeum.config[configName][key].label return game.system.tedeum.config[configName][key].label
}) })
Handlebars.registerHelper('isSpecArmeType', function (key, armeType) {
return game.system.tedeum.config.ARME_SPECIFICITE[key][armeType]
})
Handlebars.registerHelper('getConfigLabelWithGender', function (configName, key, genderKey) { Handlebars.registerHelper('getConfigLabelWithGender', function (configName, key, genderKey) {
return game.system.tedeum.config[configName][key]["label"+genderKey] return game.system.tedeum.config[configName][key]["label"+genderKey]
}) })
Handlebars.registerHelper('getCaracDescription', function (key, value) {
return game.system.tedeum.config.descriptionValeur[Number(value)][key]
})
Handlebars.registerHelper('isGM', function () { Handlebars.registerHelper('isGM', function () {
return game.user.isGM return game.user.isGM
}) })
@ -333,7 +341,7 @@ export class TeDeumUtility {
} }
if (rollData.diceSum == 1) { if (rollData.diceSum == 1) {
let critiqueRoll = await new Roll(rollData.carac.negativeDice).roll() let critiqueRoll = await new Roll(rollData.carac.negativeDice).roll()
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) await this.showDiceSoNice(critiqueRoll, game.settings.get("core", "rollMode"))
rollData.critiqueRoll = foundry.utils.duplicate(critiqueRoll) rollData.critiqueRoll = foundry.utils.duplicate(critiqueRoll)
if (critiqueRoll.total > rollData.competence.score) { if (critiqueRoll.total > rollData.competence.score) {
rollData.isEchecCritique = true rollData.isEchecCritique = true

View File

@ -6,6 +6,7 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
const schema = {}; const schema = {};
schema.typeArme = new fields.StringField({required: true, choices: ["melee", "tir"], initial: "melee"}); schema.typeArme = new fields.StringField({required: true, choices: ["melee", "tir"], initial: "melee"});
schema.allonge = new fields.StringField({required: true, choices: ["courte", "moyenne", "longue", "treslongue"], initial: "courte"});
schema.specificites = new fields.SchemaField( schema.specificites = new fields.SchemaField(
Object.values((game.system.tedeum.config.ARME_SPECIFICITE)).reduce((obj, spec) => { Object.values((game.system.tedeum.config.ARME_SPECIFICITE)).reduce((obj, spec) => {
@ -16,6 +17,15 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
}, {}) }, {})
); );
schema.portees = new fields.SchemaField(
Object.values((game.system.tedeum.config.ARME_PORTEES)).reduce((obj, spec) => {
obj[spec.id] = new fields.SchemaField({
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
});
return obj;
}, {})
);
schema.degatsArmure = new fields.SchemaField( { schema.degatsArmure = new fields.SchemaField( {
sansarmure : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }), sansarmure : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
cuir : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }), cuir : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
@ -23,9 +33,18 @@ export class TeDeumArmeSchema extends foundry.abstract.TypeDataModel {
mailles : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }), mailles : new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
}); });
schema.tempsRecharge = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.valeurEchecCritique = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 });
schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }); schema.initiativeBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 });
schema.degats = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.degats = new fields.StringField({ required: false, blank: true, initial: undefined });
let comp = []
for (let key of Object.keys(game.system.tedeum.config.armeCompetences)) {
comp.push(key);
}
schema.competence = new fields.StringField({ required: true, choices:comp, initial: "bagarre" });
schema.competence2 = new fields.StringField({ required: false, choices:comp, initial: "", blank: true });
schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 }); schema.prix = new fields.NumberField({ ...requiredDouble, initial: 0, min: 0 });
schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" }); schema.monnaie = new fields.StringField({ required: true, blank: false, initial: "denier" });

View File

@ -0,0 +1,14 @@
export class TeDeumGraceSchema extends foundry.abstract.TypeDataModel {
static defineSchema() {
const fields = foundry.data.fields;
const requiredInteger = { required: true, nullable: false, integer: true };
const schema = {};
schema.prerequis = new fields.StringField({ required: true, blank: true, initial: "" });
schema.effet = new fields.StringField({ required: true, blank: true, initial: "" });
schema.description = new fields.HTMLField({ required: true, blank: true });
return schema;
}
}

View File

@ -40,7 +40,7 @@ export class TeDeumPJSchema extends foundry.abstract.TypeDataModel {
schema.description = new fields.HTMLField({required: true, blank: true}); schema.description = new fields.HTMLField({required: true, blank: true});
schema.connaissances = new fields.HTMLField({required: true, blank: true}); schema.connaissances = new fields.HTMLField({required: true, blank: true});
schema.vetements = new fields.HTMLField({required: true, blank: true}); schema.vetements = new fields.HTMLField({required: true, blank: true});
schema.descriptiongraces = new fields.HTMLField({required: true, blank: true}); //schema.descriptiongraces = new fields.HTMLField({required: true, blank: true});
schema.genre = new fields.StringField({required: true, choices: ["Homme", "Femme"], initial: "Femme"}); schema.genre = new fields.StringField({required: true, choices: ["Homme", "Femme"], initial: "Femme"});
schema.age = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.age = new fields.StringField({ required: false, blank: true, initial: undefined });
schema.statutocial = new fields.StringField({ required: false, blank: true, initial: undefined }); schema.statutocial = new fields.StringField({ required: false, blank: true, initial: undefined });

View File

@ -1,11 +1,12 @@
import { TeDeumUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
export const defaultItemImg = { export const defaultItemImg = {
arme: "systems/fvtt-te-deum/images/icons/icon_arme.webp", arme: "systems/fvtt-te-deum/images/icons/arme_melee.webp",
armure: "systems/fvtt-te-deum/images/icons/icon_armure.webp", armure: "systems/fvtt-te-deum/images/icons/armure.webp",
equipement: "systems/fvtt-te-deum/images/icons/icon_equipement.webp", equipement: "systems/fvtt-te-deum/images/icons/equipement.webp",
competence: "systems/fvtt-te-deum/images/icons/icon_competence.webp", competence: "systems/fvtt-te-deum/images/icons/competence.webp",
education: "systems/fvtt-te-deum/images/icons/icon_education.webp", education: "systems/fvtt-te-deum/images/icons/education.webp",
grace: "systems/fvtt-te-deum/images/icons/grace.webp",
} }
/** /**

View File

@ -18,6 +18,7 @@ import { TeDeumCompetenceSchema } from "./data/tedeum-schema-competence.js";
import { TeDeumEquipementSchema } from "./data/tedeum-schema-equipement.js"; import { TeDeumEquipementSchema } from "./data/tedeum-schema-equipement.js";
import { TeDeumOrigineSchema } from "./data/tedeum-schema-origine.js"; import { TeDeumOrigineSchema } from "./data/tedeum-schema-origine.js";
import { TeDeumEducationSchema } from "./data/tedeum-schema-education.js"; import { TeDeumEducationSchema } from "./data/tedeum-schema-education.js";
import { TeDeumGraceSchema } from "./data/tedeum-schema-grace.js";
import { TeDeumItem } from "./items/tedeum-item.js"; import { TeDeumItem } from "./items/tedeum-item.js";
import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js"; import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js";
@ -69,7 +70,8 @@ Hooks.once("init", async function () {
equipement: TeDeumEquipementSchema, equipement: TeDeumEquipementSchema,
armure: TeDeumArmureSchema, armure: TeDeumArmureSchema,
origine: TeDeumOrigineSchema, origine: TeDeumOrigineSchema,
education: TeDeumEducationSchema education: TeDeumEducationSchema,
grace: TeDeumGraceSchema
}; };
console.log("TeDeum RPG | Ready"); console.log("TeDeum RPG | Ready");

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000042 MANIFEST-000097

View File

@ -1,8 +1,8 @@
2024/05/30-18:20:39.192517 7f19c60006c0 Recovering log #40 2024/06/04-21:04:01.195163 7f1e64e006c0 Recovering log #94
2024/05/30-18:20:39.203008 7f19c60006c0 Delete type=3 #38 2024/06/04-21:04:01.205547 7f1e64e006c0 Delete type=3 #92
2024/05/30-18:20:39.203069 7f19c60006c0 Delete type=0 #40 2024/06/04-21:04:01.205638 7f1e64e006c0 Delete type=0 #94
2024/05/31-09:06:57.898180 7f19c56006c0 Level-0 table #45: started 2024/06/04-21:04:48.464146 7f1e5da006c0 Level-0 table #100: started
2024/05/31-09:06:57.898214 7f19c56006c0 Level-0 table #45: 0 bytes OK 2024/06/04-21:04:48.464176 7f1e5da006c0 Level-0 table #100: 0 bytes OK
2024/05/31-09:06:57.905181 7f19c56006c0 Delete type=0 #43 2024/06/04-21:04:48.500422 7f1e5da006c0 Delete type=0 #98
2024/05/31-09:06:57.905376 7f19c56006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) 2024/06/04-21:04:48.500602 7f1e5da006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end)
2024/05/31-09:06:57.905426 7f19c56006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) 2024/06/04-21:04:48.500619 7f1e5da006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,15 @@
2024/05/29-14:03:31.123056 7f1708c006c0 Recovering log #36 2024/06/02-20:22:04.658032 7f2f302006c0 Recovering log #90
2024/05/29-14:03:31.132934 7f1708c006c0 Delete type=3 #34 2024/06/02-20:22:04.712047 7f2f302006c0 Delete type=3 #88
2024/05/29-14:03:31.132990 7f1708c006c0 Delete type=0 #36 2024/06/02-20:22:04.712099 7f2f302006c0 Delete type=0 #90
2024/05/29-14:17:02.858350 7f17072006c0 Level-0 table #41: started 2024/06/02-20:58:31.396230 7f2f2ee006c0 Level-0 table #95: started
2024/05/29-14:17:02.858400 7f17072006c0 Level-0 table #41: 0 bytes OK 2024/06/02-20:58:31.399756 7f2f2ee006c0 Level-0 table #95: 28482 bytes OK
2024/05/29-14:17:02.865141 7f17072006c0 Delete type=0 #39 2024/06/02-20:58:31.406774 7f2f2ee006c0 Delete type=0 #93
2024/05/29-14:17:02.865366 7f17072006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) 2024/06/02-20:58:31.406940 7f2f2ee006c0 Manual compaction at level-0 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end)
2024/05/29-14:17:02.865414 7f17072006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end) 2024/06/02-20:58:31.406967 7f2f2ee006c0 Manual compaction at level-1 from '!folders!4OPhigzcPv46qbWW' @ 72057594037927935 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at '!items!zwC0H39ar5Pl1l92' @ 390 : 1
2024/06/02-20:58:31.406972 7f2f2ee006c0 Compacting 1@1 + 1@2 files
2024/06/02-20:58:31.410472 7f2f2ee006c0 Generated table #96@1: 113 keys, 15164 bytes
2024/06/02-20:58:31.410495 7f2f2ee006c0 Compacted 1@1 + 1@2 files => 15164 bytes
2024/06/02-20:58:31.416350 7f2f2ee006c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2024/06/02-20:58:31.416439 7f2f2ee006c0 Delete type=2 #5
2024/06/02-20:58:31.416583 7f2f2ee006c0 Delete type=2 #95
2024/06/02-20:58:31.416682 7f2f2ee006c0 Manual compaction at level-1 from '!items!zwC0H39ar5Pl1l92' @ 390 : 1 .. '!items!zwC0H39ar5Pl1l92' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000104 MANIFEST-000158

View File

@ -1,7 +1,7 @@
2024/05/30-18:20:39.177986 7f19c74006c0 Recovering log #102 2024/06/04-21:04:01.182320 7f1e5f4006c0 Recovering log #156
2024/05/30-18:20:39.190129 7f19c74006c0 Delete type=3 #100 2024/06/04-21:04:01.193373 7f1e5f4006c0 Delete type=3 #154
2024/05/30-18:20:39.190232 7f19c74006c0 Delete type=0 #102 2024/06/04-21:04:01.193473 7f1e5f4006c0 Delete type=0 #156
2024/05/31-09:06:57.885512 7f19c56006c0 Level-0 table #107: started 2024/06/04-21:04:48.422044 7f1e5da006c0 Level-0 table #161: started
2024/05/31-09:06:57.885543 7f19c56006c0 Level-0 table #107: 0 bytes OK 2024/06/04-21:04:48.422074 7f1e5da006c0 Level-0 table #161: 0 bytes OK
2024/05/31-09:06:57.891829 7f19c56006c0 Delete type=0 #105 2024/06/04-21:04:48.463998 7f1e5da006c0 Delete type=0 #159
2024/05/31-09:06:57.905315 7f19c56006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/04-21:04:48.500588 7f1e5da006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

View File

@ -1,7 +1,7 @@
2024/05/29-14:03:31.108608 7f17096006c0 Recovering log #98 2024/06/02-20:22:04.602737 7f2f2f8006c0 Recovering log #152
2024/05/29-14:03:31.119647 7f17096006c0 Delete type=3 #96 2024/06/02-20:22:04.655957 7f2f2f8006c0 Delete type=3 #150
2024/05/29-14:03:31.119700 7f17096006c0 Delete type=0 #98 2024/06/02-20:22:04.656073 7f2f2f8006c0 Delete type=0 #152
2024/05/29-14:17:02.850741 7f17072006c0 Level-0 table #103: started 2024/06/02-20:58:31.369733 7f2f2ee006c0 Level-0 table #157: started
2024/05/29-14:17:02.850779 7f17072006c0 Level-0 table #103: 0 bytes OK 2024/06/02-20:58:31.369760 7f2f2ee006c0 Level-0 table #157: 0 bytes OK
2024/05/29-14:17:02.858192 7f17072006c0 Delete type=0 #101 2024/06/02-20:58:31.376040 7f2f2ee006c0 Delete type=0 #155
2024/05/29-14:17:02.865350 7f17072006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) 2024/06/02-20:58:31.376155 7f2f2ee006c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

1325
postcss/tedeum2.css Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1306
styles/tedeum2.css Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,20 @@
{ {
"Actor": { "Actor": {
"types": ["pj", "pnj"], "types": ["pj", "pnj"],
"htmlFields": ["description"],
"pj": {}, "pj": {},
"pnj": {} "pnj": {}
}, },
"Item": { "Item": {
"types": ["arme", "competence", "armure", "equipement", "origine", "education"], "types": ["arme", "competence", "armure", "grace", "equipement", "origine", "education"],
"htmlFields": ["description"],
"arme": {}, "arme": {},
"competence": {}, "competence": {},
"armure": {}, "armure": {},
"equipement": {}, "equipement": {},
"origine": {}, "origine": {},
"education": {}, "education": {},
"grace": {},
"debouche": {} "debouche": {}
} }
} }

View File

@ -42,6 +42,7 @@
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
{{#each caracList as |char key|}} {{#each caracList as |char key|}}
<li class="item flexrow list-item carac-box"> <li class="item flexrow list-item carac-box">
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<label class="item-left-pad item-field item-field-label-medium">{{char.name}}</label> <label class="item-left-pad item-field item-field-label-medium">{{char.name}}</label>
<select type="text" class="input-numeric-short" name="system.caracteristiques.{{key}}.value"data-dtype="Number" /> <select type="text" class="input-numeric-short" name="system.caracteristiques.{{key}}.value"data-dtype="Number" />
{{selectOptions @root.config.descriptionValeur selected=char.value labelAttr="valeur"}} {{selectOptions @root.config.descriptionValeur selected=char.value labelAttr="valeur"}}
@ -52,23 +53,46 @@
{{/each}} {{/each}}
</ul> </ul>
<ul class="item-list alternate-list"> <div>
<li class="item flexrow list-item carac-box"> <ul class="item-list alternate-list">
<label class="item-left-pad item-field item-field-label-medium">Providence</label> <li class="item flexrow list-item carac-box">
<select type="text" class="input-numeric-short" name="system.providence.value" data-dtype="Number" /> <label class="item-left-pad item-field item-field-label-medium">Providence</label>
{{selectOptions @root.config.providence selected=providence.value nameAttr="value" valueAttr="value" labelAttr="value"}} <select type="text" class="input-numeric-short" name="system.providence.value" data-dtype="Number" />
</select> {{selectOptions @root.config.providence selected=providence.value nameAttr="value" valueAttr="value" labelAttr="value"}}
<label class="item-field item-field-label-long">{{providence.qualite}}</label> </select>
<label class="item-field item-field-label-short">{{providence.dice}}</label> <label class="item-field item-field-label-long">{{providence.qualite}}</label>
</li> <label class="item-field item-field-label-short">{{providence.dice}}</label>
<li class="item flexrow list-item carac-box"> </li>
<label class="item-left-pad item-field item-field-label-medium">Bienveillance</label> <li class="item flexrow list-item carac-box">
<input class="input-numeric-short" type="text" name="system.bienveillance.value" data-dtype="Number" /> <label class="item-left-pad item-field item-field-label-medium">Bienveillance</label>
<label class="item-field item-field-label-long"></label> <input class="input-numeric-short" type="text" name="system.bienveillance.value" data-dtype="Number" />
<label class="item-field item-field -label-short"></label> <label class="item-field item-field-label-long"></label>
</li> <label class="item-field item-field -label-short"></label>
</ul> </li>
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-field-title-long">
<h3><label class="item-field-label-long">Graces</label></h3>
</span>
</li>
{{#each graces as |grace key|}}
<li class="item flexrow list-item list-item-shadow item-id" data-item-id="{{arme._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{grace.img}}" /></a>
<span class="item-field-label-long">
{{grace.name}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'arme"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
</div> </div>
</div> </div>
@ -79,6 +103,7 @@
{{#each arbreCompetences as |carac key|}} {{#each arbreCompetences as |carac key|}}
<ul> <ul>
<li class="flexrow"> <li class="flexrow">
<img class="sheet-competence-img" src="/systems/fvtt-te-deum/images/icons/{{key}}.webp" />
<h3 class="item-field-label-long14" data-tooltip="Caracteristique">{{carac.name}} : {{carac.qualite}}</h3> <h3 class="item-field-label-long14" data-tooltip="Caracteristique">{{carac.name}} : {{carac.qualite}}</h3>
<label class="item-field item-field-label-short">{{carac.value}}</label> <label class="item-field item-field-label-short">{{carac.value}}</label>
<label class="item-field item-field-label-medium">{{carac.dice}} (xp : {{carac.experience}})</label> <label class="item-field item-field-label-medium">{{carac.dice}} (xp : {{carac.experience}})</label>
@ -100,36 +125,6 @@
</div> </div>
<div class="tab traits" data-group="primary" data-tab="traits">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long2">
<h3><label class="item-name-label-header-long2">Traits</label></h3>
</span>
<span class="item-field-label-short">
<label class="item-field-label-short">Niveau</label>
</span>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="trait" title="Create Trait"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each traits as |trait key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{trait._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{trait.img}}" /></a>
<span class="item-name-label-long2">{{trait.name}}</span>
<span class="item-field-label-short"><label>{{trait.system.level}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete trait"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
<div class="tab combat" data-group="primary" data-tab="combat"> <div class="tab combat" data-group="primary" data-tab="combat">
@ -138,32 +133,36 @@
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg"> <li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header-long2"> <span class="item-field-title-long">
<h3><label class="item-name-label-header-long2">{{localize "ECRY.ui.weapons"}}</label></h3> <h3><label class="item-field-label-long">Armes</label></h3>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="item-field-label-medium">{{localize "ECRY.ui.type"}}</label> <label class="item-field-label-medium">Type</label>
</span> </span>
<span class="item-field-label-medium"> <span class="item-field-label-medium">
<label class="item-field-label-medium">{{localize "ECRY.ui.effect"}}</label> <label class="item-field-label-medium">Compétence</label>
</span>
<span class="item-field-label-medium">
<label class="item-field-label-medium">Degats</label>
</span> </span>
</li> </li>
{{#each weapons as |weapon key|}} {{#each armes as |arme key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}"> <li class="item flexrow list-item list-item-shadow item-id" data-item-id="{{arme._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" <a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{weapon.img}}" /></a> src="{{arme.img}}" /></a>
<span class="item-name-label-long2"> <span class="item-field-label-long">
<a class="roll-weapon-confront" data-category-key="{{categkey}}" data-skill-key="{{skillkey}}"> <a class="roll-arme">
<i class="fa-regular fa-swords"></i> {{arme.name}}
{{weapon.name}}
</a> </a>
</span> </span>
<span class="item-field-label-medium">{{localize (concat "ECRY.ui." weapon.system.weapontype)}}</span> <span class="item-field-label-medium">{{upperFirst arme.system.typeArme}}</span>
<span class="item-field-label-medium">{{weapon.system.effect}}</span> <span class="item-field-label-medium">{{upperFirst arme.system.competence}}</span>
<span class="item-field-label-medium">{{arme.system.degats}}</span>
<div class="item-filler">&nbsp;</div> <div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed"> <div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete weapon"><i class="fas fa-trash"></i></a> <a class="item-control item-edit" title="Editer"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Supprimer l'arme"><i class="fas fa-trash"></i></a>
</div> </div>
</li> </li>
{{/each}} {{/each}}

View File

@ -22,18 +22,60 @@
<li class="flexrow"> <li class="flexrow">
<label class="item-name-label-long">Type d'arme</label> <label class="item-name-label-long">Type d'arme</label>
<select name="system.typeArme"> <select name="system.typeArme">
{{selectOptions config.armeTypes selected=system.typeArme labelAttr="label" blank=""}} {{selectOptions config.armeTypes selected=system.typeArme labelAttr="label"}}
</select>
</li>
<li class="flexrow">
<label class="item-name-label-long">Compétence</label>
<select name="system.competence">
{{selectOptions config.armeCompetences selected=system.competence labelAttr="label"}}
</select>
</li>
<li class="flexrow">
<label class="item-name-label-long">Compétence secondaire</label>
<select name="system.competence2">
{{selectOptions config.armeCompetences selected=system.competence2 blank="" labelAttr="label"}}
</select> </select>
</li> </li>
<h3>Spécificités</h3>
<li class="flexrow">
<label class="item-name-label-long">Dégâts</label>
<input type="text" class="padd-right numeric-input item-field-label-short"
name="system.degats" value="{{system.degats}}" data-dtype="String" />
</li>
{{#if (eq system.typeArme "melee")}}
<li class="flexrow">
<label class="item-name-label-long">Allonge</label>
<select name="system.allonge">
{{selectOptions config.armeAllonges selected=system.allonge labelAttr="label"}}
</select>
</li>
{{/if}}
{{#each system.specificites as |spec specId|}} {{#each system.specificites as |spec specId|}}
<li class="flexrow"> <li class="flexrow">
{{#if (isSpecArmeType specId @root.system.typeArme)}}
<label class="item-name-label-long">{{getConfigLabel "ARME_SPECIFICITE" specId}}</label> <label class="item-name-label-long">{{getConfigLabel "ARME_SPECIFICITE" specId}}</label>
<input type="checkbox" name="system.specificites.{{specId}}.hasSpec" {{checked <input type="checkbox" name="system.specificites.{{specId}}.hasSpec" {{checked
spec.hasSpec}} /> spec.hasSpec}} />
{{/if}}
</li> </li>
{{/each}} {{/each}}
{{#if (eq system.typeArme "tir")}}
<h3>Portées</h3>
{{#each system.portees as |portee porteeId|}}
<li class="flexrow">
<label class="item-name-label-long">{{getConfigLabel "ARME_PORTEES" porteeId}}</label>
<input type="text" class="padd-right numeric-input item-field-label-short"
name="system.portees.{{porteeId}}.value" value="{{portee.value}}" data-dtype="Number" />
</li>
{{/each}}
{{/if}}
<h3>Degats sur armures</h3>
{{#each system.degatsArmure as |degat degtId|}} {{#each system.degatsArmure as |degat degtId|}}
<li class="flexrow"> <li class="flexrow">
<label class="item-name-label-long">{{getConfigLabel "degatsArmure" degtId}}</label> <label class="item-name-label-long">{{getConfigLabel "degatsArmure" degtId}}</label>
@ -42,6 +84,7 @@
</li> </li>
{{/each}} {{/each}}
<h3>Autres</h3>
<li class="flexrow"> <li class="flexrow">
<label class="item-name-label-long">Bonus d'Initiative</label> <label class="item-name-label-long">Bonus d'Initiative</label>
<input type="text" class="padd-right numeric-input item-field-label-short" <input type="text" class="padd-right numeric-input item-field-label-short"

View File

@ -36,17 +36,6 @@
name="system.score" value="{{system.score}}" data-dtype="Number" /> name="system.score" value="{{system.score}}" data-dtype="Number" />
</li> </li>
<li class="flexrow">
<label class="item-name-label-long">Score de base</label>
{{#if isGM}}
<input type="text" class="padd-right numeric-input item-field-label-short"
name="system.scoreBase" value="{{system.scoreBase}}" data-dtype="Number" />
{{else}}
<input type="text" class="padd-right numeric-input item-field-label-short"
name="system.scoreBase" value="{{system.scoreBase}}" data-dtype="Number" disabled />
{{/if}}
</li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -0,0 +1,34 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
{{> systems/fvtt-te-deum/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-te-deum/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<h4 class="item-name-label-long">Prérequis</h4>
<textarea name="system.prerequis" data-dtype="String">
{{{system.prerequis}}}
</textarea>
<h4 class="item-name-label-long">Effet</h4>
<textarea name="system.effet" data-dtype="String">
{{{system.effet}}}
</textarea>
</div>
</div>
</section>
</form>