Simplification des feuilles de créatures
* Homogénisation des fiches de créatures / entités * Regroupement d'onglets (peu de compétences/caracs) * ajout du bouton vue détaillée/simplifiée pour toutes les feuilles * la santé des créatures est dans l'en-tête * bouton pour boire pour els personnages * agrandissement des caractéristiques dérivées
This commit is contained in:
parent
5410dd6ec0
commit
d8d5a20904
@ -4,7 +4,6 @@
|
|||||||
* @extends {ActorSheet}
|
* @extends {ActorSheet}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { HtmlUtility } from "./html-utility.js";
|
|
||||||
import { RdDUtility } from "./rdd-utility.js";
|
import { RdDUtility } from "./rdd-utility.js";
|
||||||
import { RdDActorSheet } from "./actor-sheet.js";
|
import { RdDActorSheet } from "./actor-sheet.js";
|
||||||
import { RdDCarac } from "./rdd-carac.js";
|
import { RdDCarac } from "./rdd-carac.js";
|
||||||
@ -24,34 +23,11 @@ export class RdDActorCreatureSheet extends RdDActorSheet {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async getData() {
|
|
||||||
let formData = await super.getData()
|
|
||||||
//console.log("Creature : ", formData, formData.system)
|
|
||||||
formData.calc = {
|
|
||||||
caracTotal: RdDCarac.computeTotal(formData.system.carac),
|
|
||||||
resumeBlessures: this.actor.computeResumeBlessure(formData.system.blessures),
|
|
||||||
encTotal: await this.actor.computeEncombrementTotalEtMalusArmure(),
|
|
||||||
surEncombrementMessage: this.actor.getMessageSurEncombrement()
|
|
||||||
}
|
|
||||||
|
|
||||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
|
||||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
|
||||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
|
||||||
|
|
||||||
console.log("Creature : ", this.objetVersConteneur, formData);
|
|
||||||
|
|
||||||
return formData;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM);
|
|
||||||
|
|
||||||
// Everything below here is only needed if the sheet is editable
|
// Everything below here is only needed if the sheet is editable
|
||||||
if (!this.options.editable) return;
|
if (!this.options.editable) return;
|
||||||
|
|
||||||
|
@ -1,14 +1,8 @@
|
|||||||
/**
|
import { RdDActorSheet } from "./actor-sheet.js";
|
||||||
* Extend the basic ActorSheet with some very simple modifications
|
|
||||||
* @extends {ActorSheet}
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { HtmlUtility } from "./html-utility.js";
|
import { HtmlUtility } from "./html-utility.js";
|
||||||
import { Misc } from "./misc.js";
|
|
||||||
import { RdDUtility } from "./rdd-utility.js";
|
import { RdDUtility } from "./rdd-utility.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
export class RdDActorEntiteSheet extends RdDActorSheet {
|
||||||
export class RdDActorEntiteSheet extends ActorSheet {
|
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
@ -22,64 +16,14 @@ export class RdDActorEntiteSheet extends ActorSheet {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async getData() {
|
|
||||||
let formData = {
|
|
||||||
title: this.title,
|
|
||||||
id: this.actor.id,
|
|
||||||
type: this.actor.type,
|
|
||||||
img: this.actor.img,
|
|
||||||
name: this.actor.name,
|
|
||||||
editable: this.isEditable,
|
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
|
||||||
system: foundry.utils.deepClone(this.actor.system),
|
|
||||||
effects: this.actor.effects.map(e => foundry.utils.deepClone(e)),
|
|
||||||
// items: items,
|
|
||||||
limited: this.actor.limited,
|
|
||||||
options: this.options,
|
|
||||||
owner: this.actor.isOwner,
|
|
||||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
|
||||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
|
||||||
};
|
|
||||||
|
|
||||||
formData.options.isGM = game.user.isGM;
|
|
||||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
|
||||||
|
|
||||||
|
|
||||||
return formData;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM);
|
|
||||||
|
|
||||||
// Everything below here is only needed if the sheet is editable
|
// Everything below here is only needed if the sheet is editable
|
||||||
if (!this.options.editable) return;
|
if (!this.options.editable) return;
|
||||||
|
|
||||||
// Update Inventory Item
|
|
||||||
html.find('.item-edit').click(event => {
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
|
||||||
const item = this.actor.getEmbeddedDocument('Item', li.data("itemId"));
|
|
||||||
item.sheet.render(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Delete Inventory Item
|
|
||||||
html.find('.item-delete').click(event => {
|
|
||||||
const li = $(event.currentTarget).parents(".item");
|
|
||||||
this.actor.deleteEmbeddedDocuments('Item', [li.data("itemId")]);
|
|
||||||
li.slideUp(200, () => this.render(false));
|
|
||||||
});
|
|
||||||
|
|
||||||
// Roll Carac
|
|
||||||
html.find('.carac-label a').click(async event => {
|
|
||||||
let caracName = event.currentTarget.attributes.name.value;
|
|
||||||
this.actor.rollCarac( caracName.toLowerCase() );
|
|
||||||
});
|
|
||||||
|
|
||||||
// On competence change
|
// On competence change
|
||||||
html.find('.creature-carac').change(async event => {
|
html.find('.creature-carac').change(async event => {
|
||||||
let compName = event.currentTarget.attributes.compname.value;
|
let compName = event.currentTarget.attributes.compname.value;
|
||||||
@ -93,53 +37,6 @@ export class RdDActorEntiteSheet extends ActorSheet {
|
|||||||
let compName = event.currentTarget.attributes.compname.value;
|
let compName = event.currentTarget.attributes.compname.value;
|
||||||
this.actor.updateCreatureCompetence( compName, "dommages", parseInt(event.target.value) );
|
this.actor.updateCreatureCompetence( compName, "dommages", parseInt(event.target.value) );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
// Roll Skill
|
|
||||||
html.find('.competence-label a').click(async event => {
|
|
||||||
let compName = event.currentTarget.text;
|
|
||||||
this.actor.rollCompetence( compName );
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.endurance-plus').click(event => {
|
|
||||||
this.actor.santeIncDec("endurance", 1);
|
|
||||||
this.render(true);
|
|
||||||
});
|
|
||||||
html.find('.endurance-moins').click(event => {
|
|
||||||
this.actor.santeIncDec("endurance", -1);
|
|
||||||
this.render(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.encaisser-direct').click(event => {
|
|
||||||
this.actor.encaisser();
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.remise-a-neuf').click(event => {
|
|
||||||
if (game.user.isGM) {
|
|
||||||
this.actor.remiseANeuf();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
|
|
||||||
/** @override */
|
|
||||||
setPosition(options = {}) {
|
|
||||||
const position = super.setPosition(options);
|
|
||||||
const sheetHeader = this.element.find(".sheet-header");
|
|
||||||
const sheetTabs = this.element.find(".sheet-tabs");
|
|
||||||
const sheetBody = this.element.find(".sheet-body");
|
|
||||||
const bodyHeight = position.height - sheetHeader[0].clientHeight - sheetTabs[0].clientHeight;
|
|
||||||
sheetBody.css("height", bodyHeight);
|
|
||||||
return position;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
|
|
||||||
/** @override */
|
|
||||||
_updateObject(event, formData) {
|
|
||||||
// Update the Actor
|
|
||||||
return this.actor.update(formData);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -51,72 +51,70 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
limited: this.actor.limited,
|
limited: this.actor.limited,
|
||||||
options: this.options,
|
options: this.options,
|
||||||
owner: this.actor.isOwner,
|
owner: this.actor.isOwner,
|
||||||
biographie: await TextEditor.enrichHTML(this.object.system.biographie, {async: true}),
|
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||||
notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}),
|
biographie: await TextEditor.enrichHTML(this.object.system.biographie, {async: true}),
|
||||||
|
notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}),
|
||||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
||||||
|
calc: {
|
||||||
|
encTotal: await this.actor.computeEncombrementTotalEtMalusArmure(),
|
||||||
|
prixTotalEquipement: this.actor.computePrixTotalEquipement(),
|
||||||
|
surprise: RdDBonus.find(this.actor.getSurprise(false)).descr,
|
||||||
|
resumeBlessures: this.actor.computeResumeBlessure(this.actor.system.blessures),
|
||||||
|
caracTotal: RdDCarac.computeTotal(this.actor.system.carac, this.actor.system.beaute),
|
||||||
|
surEncombrementMessage: this.actor.getMessageSurEncombrement(),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
formData.options.isGM = game.user.isGM;
|
||||||
|
|
||||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
||||||
|
|
||||||
formData.options.isGM = game.user.isGM;
|
|
||||||
|
|
||||||
if (formData.type == 'creature') return formData; // Shortcut
|
|
||||||
|
|
||||||
formData.byCateg = Misc.classify(formData.competences, it => it.system.categorie)
|
|
||||||
|
|
||||||
formData.calc = {
|
|
||||||
comptageArchetype: RdDItemCompetence.computeResumeArchetype(formData.competences),
|
|
||||||
competenceXPTotal: RdDItemCompetence.computeTotalXP(formData.competences),
|
|
||||||
caracTotal: RdDCarac.computeTotal(formData.system.carac, formData.system.beaute),
|
|
||||||
// Mise à jour de l'encombrement total et du prix de l'équipement
|
|
||||||
encTotal: await this.actor.computeEncombrementTotalEtMalusArmure(),
|
|
||||||
prixTotalEquipement: this.actor.computePrixTotalEquipement(),
|
|
||||||
surprise: RdDBonus.find(this.actor.getSurprise(false)).descr,
|
|
||||||
fatigue: RdDUtility.calculFatigueHtml(formData.system.sante.fatigue.value, formData.system.sante.endurance.max),
|
|
||||||
resumeBlessures: this.actor.computeResumeBlessure(formData.system.blessures),
|
|
||||||
surEncombrementMessage: this.actor.getMessageSurEncombrement()
|
|
||||||
};
|
|
||||||
|
|
||||||
formData.competences.forEach(item => {
|
|
||||||
item.system.isVisible = this.options.recherche
|
|
||||||
? RdDItemCompetence.nomContientTexte(item, this.options.recherche.text)
|
|
||||||
: (!this.options.showCompNiveauBase || !RdDItemCompetence.isNiveauBase(item));
|
|
||||||
RdDItemCompetence.levelUp(item, formData.system.compteurs.experience.value);
|
|
||||||
});
|
|
||||||
Object.values(formData.system.carac).forEach(c => {
|
|
||||||
RdDCarac.levelUp(c);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// toujours avoir une liste d'armes (pour mettre esquive et corps à corps)
|
|
||||||
formData.combat = duplicate(formData.armes ?? []);
|
|
||||||
RdDItemArme.computeNiveauArmes(formData.combat, formData.competences);
|
|
||||||
RdDItemArme.ajoutCorpsACorps(formData.combat, formData.competences, formData.system.carac);
|
|
||||||
formData.esquives = this.actor.getCompetences("Esquive");
|
|
||||||
formData.combat = RdDCombatManager.listActionsArmes(formData.combat, formData.competences, formData.system.carac);
|
|
||||||
|
|
||||||
this.armesList = formData.combat;
|
|
||||||
|
|
||||||
// Common data
|
|
||||||
formData.ajustementsConditions = CONFIG.RDD.ajustementsConditions;
|
|
||||||
formData.difficultesLibres = CONFIG.RDD.difficultesLibres;
|
|
||||||
|
|
||||||
formData.hautreve = {
|
|
||||||
isDemiReve: this.actor.getEffect(STATUSES.StatusDemiReve),
|
|
||||||
rencontres: duplicate(formData.system.reve.rencontre.list),
|
|
||||||
cacheTMR: this.actor.isTMRCache()
|
|
||||||
}
|
|
||||||
|
|
||||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
||||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
||||||
|
|
||||||
formData.subacteurs = {
|
if (formData.type == 'personnage') {
|
||||||
vehicules: this.actor.listeVehicules(),
|
formData.byCateg = Misc.classify(formData.competences, it => it.system.categorie)
|
||||||
montures: this.actor.listeMontures(),
|
formData.calc.comptageArchetype = RdDItemCompetence.computeResumeArchetype(formData.competences);
|
||||||
suivants: this.actor.listeSuivants()
|
formData.calc.competenceXPTotal= RdDItemCompetence.computeTotalXP(formData.competences);
|
||||||
}
|
formData.calc.fatigue= RdDUtility.calculFatigueHtml(formData.system.sante.fatigue.value, formData.system.sante.endurance.max);
|
||||||
if (this.actor.getBestDraconic().system.niveau > -11 && !this.actor.isHautRevant()) {
|
|
||||||
ui.notifications.error(`${this.actor.name} a des compétences draconiques, mais pas le don de Haut-Rêve!
|
formData.competences.forEach(item => {
|
||||||
<br>Ajoutez-lui la tête "Don de Haut-Rêve" pour lui permettre d'utiliser ses compétences et d'accéder aux terres médianes du rêve`);
|
item.system.isVisible = this.options.recherche
|
||||||
|
? RdDItemCompetence.nomContientTexte(item, this.options.recherche.text)
|
||||||
|
: (!this.options.showCompNiveauBase || !RdDItemCompetence.isNiveauBase(item));
|
||||||
|
RdDItemCompetence.levelUp(item, formData.system.compteurs.experience.value);
|
||||||
|
});
|
||||||
|
|
||||||
|
Object.values(formData.system.carac).forEach(c => {
|
||||||
|
RdDCarac.levelUp(c);
|
||||||
|
});
|
||||||
|
|
||||||
|
// toujours avoir une liste d'armes (pour mettre esquive et corps à corps)
|
||||||
|
formData.combat = duplicate(formData.armes ?? []);
|
||||||
|
RdDItemArme.computeNiveauArmes(formData.combat, formData.competences);
|
||||||
|
RdDItemArme.ajoutCorpsACorps(formData.combat, formData.competences, formData.system.carac);
|
||||||
|
formData.esquives = this.actor.getCompetences("Esquive");
|
||||||
|
formData.combat = RdDCombatManager.listActionsArmes(formData.combat, formData.competences, formData.system.carac);
|
||||||
|
|
||||||
|
this.armesList = formData.combat;
|
||||||
|
|
||||||
|
// Common data
|
||||||
|
formData.ajustementsConditions = CONFIG.RDD.ajustementsConditions;
|
||||||
|
formData.difficultesLibres = CONFIG.RDD.difficultesLibres;
|
||||||
|
|
||||||
|
formData.hautreve = {
|
||||||
|
isDemiReve: this.actor.getEffect(STATUSES.StatusDemiReve),
|
||||||
|
rencontres: duplicate(formData.system.reve.rencontre.list),
|
||||||
|
cacheTMR: this.actor.isTMRCache()
|
||||||
|
}
|
||||||
|
|
||||||
|
formData.subacteurs = {
|
||||||
|
vehicules: this.actor.listeVehicules(),
|
||||||
|
montures: this.actor.listeMontures(),
|
||||||
|
suivants: this.actor.listeSuivants()
|
||||||
|
}
|
||||||
|
if (this.actor.getBestDraconic().system.niveau > -11 && !this.actor.isHautRevant()) {
|
||||||
|
ui.notifications.error(`${this.actor.name} a des compétences draconiques, mais pas le don de Haut-Rêve!
|
||||||
|
<br>Ajoutez-lui la tête "Don de Haut-Rêve" pour lui permettre d'utiliser ses compétences et d'accéder aux terres médianes du rêve`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return formData;
|
return formData;
|
||||||
}
|
}
|
||||||
@ -156,7 +154,6 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM);
|
|
||||||
HtmlUtility._showControlWhen($(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
HtmlUtility._showControlWhen($(".appliquerFatigue"), ReglesOptionelles.isUsing("appliquer-fatigue"));
|
||||||
|
|
||||||
// Everything below here is only needed if the sheet is editable
|
// Everything below here is only needed if the sheet is editable
|
||||||
@ -168,7 +165,6 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
});
|
});
|
||||||
html.find('.item-edit').click(async event => {
|
html.find('.item-edit').click(async event => {
|
||||||
const item = RdDSheetUtility.getItem(event, this.actor)
|
const item = RdDSheetUtility.getItem(event, this.actor)
|
||||||
console.log("ITEM :", item)
|
|
||||||
item.sheet.render(true)
|
item.sheet.render(true)
|
||||||
})
|
})
|
||||||
html.find('.display-label a').click(async event => {
|
html.find('.display-label a').click(async event => {
|
||||||
@ -497,7 +493,7 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
html.find('.moral-heureux').click(async event => {
|
html.find('.moral-heureux').click(async event => {
|
||||||
this.actor.jetDeMoral('heureuse');
|
this.actor.jetDeMoral('heureuse');
|
||||||
});
|
});
|
||||||
html.find('#ethylisme-test').click(async event => {
|
html.find('.ethylisme-test').click(async event => {
|
||||||
this.actor.jetEthylisme();
|
this.actor.jetEthylisme();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -570,7 +566,10 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
const sheetHeader = this.element.find(".sheet-header");
|
const sheetHeader = this.element.find(".sheet-header");
|
||||||
const sheetTabs = this.element.find(".sheet-tabs");
|
const sheetTabs = this.element.find(".sheet-tabs");
|
||||||
const sheetBody = this.element.find(".sheet-body");
|
const sheetBody = this.element.find(".sheet-body");
|
||||||
const bodyHeight = position.height - sheetHeader[0].clientHeight - sheetTabs[0].clientHeight;
|
let bodyHeight = position.height - sheetHeader[0].clientHeight;
|
||||||
|
if (sheetTabs.length>0) {
|
||||||
|
bodyHeight -= sheetTabs[0].clientHeight;
|
||||||
|
}
|
||||||
sheetBody.css("height", bodyHeight);
|
sheetBody.css("height", bodyHeight);
|
||||||
return position;
|
return position;
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,9 @@
|
|||||||
/**
|
|
||||||
* Extend the basic ActorSheet with some very simple modifications
|
|
||||||
* @extends {ActorSheet}
|
|
||||||
*/
|
|
||||||
|
|
||||||
import { RdDUtility } from "./rdd-utility.js";
|
import { RdDUtility } from "./rdd-utility.js";
|
||||||
import { HtmlUtility } from "./html-utility.js";
|
|
||||||
import { Misc } from "./misc.js";
|
|
||||||
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
import { RdDSheetUtility } from "./rdd-sheet-utility.js";
|
||||||
|
import { RdDActorSheet } from "./actor-sheet.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class RdDActorVehiculeSheet extends ActorSheet {
|
export class RdDActorVehiculeSheet extends RdDActorSheet {
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
@ -25,142 +19,5 @@ export class RdDActorVehiculeSheet extends ActorSheet {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async getData() {
|
|
||||||
let formData = {
|
|
||||||
title: this.title,
|
|
||||||
id: this.actor.id,
|
|
||||||
type: this.actor.type,
|
|
||||||
img: this.actor.img,
|
|
||||||
name: this.actor.name,
|
|
||||||
editable: this.isEditable,
|
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
|
||||||
system: foundry.utils.deepClone(this.actor.system),
|
|
||||||
effects: this.actor.effects.map(e => foundry.utils.deepClone(e)),
|
|
||||||
limited: this.actor.limited,
|
|
||||||
options: this.options,
|
|
||||||
owner: this.actor.isOwner,
|
|
||||||
description: await TextEditor.enrichHTML(this.object.system.biographie, {async: true}),
|
|
||||||
notesmj: await TextEditor.enrichHTML(this.object.system.notesmj, {async: true}),
|
|
||||||
};
|
|
||||||
|
|
||||||
RdDUtility.filterItemsPerTypeForSheet(formData, this.actor.itemTypes);
|
|
||||||
this.objetVersConteneur = RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.objets);
|
|
||||||
formData.conteneurs = RdDUtility.conteneursRacine(formData.conteneurs);
|
|
||||||
|
|
||||||
formData.options.isGM = game.user.isGM;
|
|
||||||
|
|
||||||
formData.calc = {
|
|
||||||
encTotal: await this.actor.computeEncombrementTotalEtMalusArmure(),
|
|
||||||
surEncombrementMessage: this.actor.getMessageSurEncombrement()
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log("DATA", formData);
|
|
||||||
|
|
||||||
return formData;
|
|
||||||
}
|
|
||||||
|
|
||||||
async computeMalusArmure() {
|
|
||||||
// pas de malus armure
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async _onDropItem(event, dragData) {
|
|
||||||
const destItemId = $(event.target)?.closest('.item').attr('data-item-id');
|
|
||||||
const dropParams = RdDSheetUtility.prepareItemDropParameters(destItemId, this.actor.id, dragData, this.objetVersConteneur);
|
|
||||||
const callSuper = await this.actor.processDropItem(dropParams);
|
|
||||||
if (callSuper) {
|
|
||||||
await super._onDropItem(event, dragData)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async createItem(name, type) {
|
|
||||||
await this.actor.createEmbeddedDocuments('Item', [{ name: name, type: type }], { renderSheet: true });
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
async monnaieIncDec(id, value) {
|
|
||||||
let monnaie = this.getMonnaie(id);
|
|
||||||
if (monnaie) {
|
|
||||||
const quantite = Math.max(0, monnaie.system.quantite + value);
|
|
||||||
await this.updateEmbeddedDocuments('Item', [{ _id: monnaie.id, 'data.quantite': quantite }]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/** @override */
|
|
||||||
activateListeners(html) {
|
|
||||||
super.activateListeners(html);
|
|
||||||
|
|
||||||
HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM);
|
|
||||||
|
|
||||||
// Everything below here is only needed if the sheet is editable
|
|
||||||
if (!this.options.editable) return;
|
|
||||||
|
|
||||||
// Update Inventory Item
|
|
||||||
html.find('.item-edit').click(async event => {
|
|
||||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
|
||||||
item.sheet.render(true);
|
|
||||||
});
|
|
||||||
// Delete Inventory Item
|
|
||||||
html.find('.item-delete').click(async event => {
|
|
||||||
const li = RdDSheetUtility.getEventElement(event);
|
|
||||||
const item = this.actor.getObjet(li.data("item-id"));
|
|
||||||
RdDUtility.confirmerSuppressionItem(this, item, li);
|
|
||||||
});
|
|
||||||
html.find('.item-vendre').click(async event => {
|
|
||||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
|
||||||
item?.proposerVente();
|
|
||||||
});
|
|
||||||
html.find('.item-montrer').click(async event => {
|
|
||||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
|
||||||
item?.postItem();
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.item-action').click(async event => {
|
|
||||||
const item = RdDSheetUtility.getItem(event, this.actor);
|
|
||||||
this.actor.actionItem(item);
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.creer-un-objet').click(async event => {
|
|
||||||
RdDUtility.selectObjetType(this);
|
|
||||||
});
|
|
||||||
html.find('.nettoyer-conteneurs').click(async event => {
|
|
||||||
this.actor.nettoyerConteneurs();
|
|
||||||
});
|
|
||||||
|
|
||||||
html.find('.monnaie-plus').click(async event => {
|
|
||||||
this.actor.monnaieIncDec(RdDSheetUtility.getItemId(event), 1);
|
|
||||||
});
|
|
||||||
html.find('.monnaie-moins').click(async event => {
|
|
||||||
this.actor.monnaieIncDec(RdDSheetUtility.getItemId(event), -1);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Display info about queue
|
|
||||||
html.find('.conteneur-name a').click((event) => {
|
|
||||||
RdDUtility.toggleAfficheContenu(RdDSheetUtility.getItemId(event));
|
|
||||||
this.render(true);
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/** @override */
|
|
||||||
setPosition(options = {}) {
|
|
||||||
const position = super.setPosition(options);
|
|
||||||
const sheetHeader = this.element.find(".sheet-header");
|
|
||||||
const sheetTabs = this.element.find(".sheet-tabs");
|
|
||||||
const sheetBody = this.element.find(".sheet-body");
|
|
||||||
const bodyHeight = position.height - sheetHeader[0].clientHeight - sheetTabs[0].clientHeight;
|
|
||||||
sheetBody.css("height", bodyHeight);
|
|
||||||
return position;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/** @override */
|
|
||||||
_updateObject(event, formData) {
|
|
||||||
// Update the Actor
|
|
||||||
return this.actor.update(formData);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,6 @@ export class RdDActor extends Actor {
|
|||||||
this.computeIsHautRevant();
|
this.computeIsHautRevant();
|
||||||
await this.cleanupConteneurs();
|
await this.cleanupConteneurs();
|
||||||
await this.computeEncombrementTotalEtMalusArmure();
|
await this.computeEncombrementTotalEtMalusArmure();
|
||||||
this.computePrixTotalEquipement();
|
|
||||||
this.computeEtatGeneral();
|
this.computeEtatGeneral();
|
||||||
// Sanity check
|
// Sanity check
|
||||||
await this.checkMonnaiePresence();
|
await this.checkMonnaiePresence();
|
||||||
@ -1359,14 +1358,15 @@ export class RdDActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async computeMalusArmure() {
|
async computeMalusArmure() {
|
||||||
const newMalusArmure = this.filterItems(it => it.type == 'armure' && it.system.equipe)
|
if (this.isPersonnage()) {
|
||||||
|
const malusArmure = this.filterItems(it => it.type == 'armure' && it.system.equipe)
|
||||||
.map(it => it.system.malus ?? 0)
|
.map(it => it.system.malus ?? 0)
|
||||||
.reduce(Misc.sum(), 0);
|
.reduce(Misc.sum(), 0);
|
||||||
// Mise à jour éventuelle du malus armure
|
// Mise à jour éventuelle du malus armure
|
||||||
if (this.system.attributs?.malusarmure?.value != newMalusArmure) {
|
if (this.system.attributs?.malusarmure?.value != malusArmure) {
|
||||||
await this.updateAttributeValue("malusarmure", newMalusArmure);
|
await this.updateAttributeValue("malusarmure", malusArmure);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return newMalusArmure;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -2557,11 +2557,13 @@ export class RdDActor extends Actor {
|
|||||||
if (rollData.competence.system.iscombat) {
|
if (rollData.competence.system.iscombat) {
|
||||||
if (rollData.competence.system.ispossession) {
|
if (rollData.competence.system.ispossession) {
|
||||||
RdDPossession.onAttaquePossession(this, rollData.competence)
|
RdDPossession.onAttaquePossession(this, rollData.competence)
|
||||||
} else {
|
return
|
||||||
|
}
|
||||||
|
else if (RdDCombat.getTarget()) {
|
||||||
const arme = RdDItemCompetenceCreature.toActionArme(rollData.competence)
|
const arme = RdDItemCompetenceCreature.toActionArme(rollData.competence)
|
||||||
RdDCombat.createUsingTarget(this)?.attaque(competence, arme)
|
RdDCombat.createUsingTarget(this)?.attaque(competence, arme)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
return
|
|
||||||
}
|
}
|
||||||
// Fake competence pour créature
|
// Fake competence pour créature
|
||||||
RdDItemCompetenceCreature.setRollDataCreature(rollData)
|
RdDItemCompetenceCreature.setRollDataCreature(rollData)
|
||||||
@ -3270,7 +3272,6 @@ export class RdDActor extends Actor {
|
|||||||
let update = { _id: item.id, "system.equipe": isEquipe };
|
let update = { _id: item.id, "system.equipe": isEquipe };
|
||||||
await this.updateEmbeddedDocuments('Item', [update]);
|
await this.updateEmbeddedDocuments('Item', [update]);
|
||||||
this.computeEncombrementTotalEtMalusArmure(); // Mise à jour encombrement
|
this.computeEncombrementTotalEtMalusArmure(); // Mise à jour encombrement
|
||||||
this.computePrixTotalEquipement(); // Mis à jour du prix total de l'équipement
|
|
||||||
if (isEquipe)
|
if (isEquipe)
|
||||||
this.verifierForceMin(item);
|
this.verifierForceMin(item);
|
||||||
}
|
}
|
||||||
|
@ -534,9 +534,7 @@ export class RdDCalendrier extends Application {
|
|||||||
async activateListeners(html) {
|
async activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
HtmlUtility._showControlWhen($(".gm-only"), game.user.isGM);
|
this.updateDisplay();
|
||||||
|
|
||||||
await this.updateDisplay();
|
|
||||||
|
|
||||||
html.find('.calendar-btn').click(ev => this.onCalendarButton(ev));
|
html.find('.calendar-btn').click(ev => this.onCalendarButton(ev));
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ export class RdDCarac {
|
|||||||
|
|
||||||
|
|
||||||
static computeTotal(carac, beaute = undefined) {
|
static computeTotal(carac, beaute = undefined) {
|
||||||
const total = Object.values(carac).filter(c => !c.derivee)
|
const total = Object.values(carac ?? {}).filter(c => !c.derivee)
|
||||||
.map(it => parseInt(it.value))
|
.map(it => parseInt(it.value))
|
||||||
.reduce(Misc.sum(), 0);
|
.reduce(Misc.sum(), 0);
|
||||||
const beauteSuperieur10 = Math.max((beaute ?? 10) - 10, 0);
|
const beauteSuperieur10 = Math.max((beaute ?? 10) - 10, 0);
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import { DialogSplitItem } from "./dialog-split-item.js";
|
import { DialogSplitItem } from "./dialog-split-item.js";
|
||||||
import { Misc } from "./misc.js";
|
|
||||||
|
|
||||||
export class RdDSheetUtility {
|
export class RdDSheetUtility {
|
||||||
|
|
||||||
|
@ -112,14 +112,28 @@ export class RdDUtility {
|
|||||||
static async preloadHandlebarsTemplates() {
|
static async preloadHandlebarsTemplates() {
|
||||||
const templatePaths = [
|
const templatePaths = [
|
||||||
//Character Sheets
|
//Character Sheets
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor-creation-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor-creature-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor-entite-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor-entite-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor-vehicule-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor-vehicule-sheet.html',
|
||||||
// sous-parties de feuilles de personnages
|
// sous-parties de feuilles de personnages
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-buttons.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-etat.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs-creature.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs-entitee.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/header-effects.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/vue-detaillee.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/carac-main.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/carac-derivee.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/carac-creature.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/carac-entitee.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/comp-creature.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/comp-possession.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/actor/carac-total.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/competence.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor/competence.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/effects.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/combat.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor/combat.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html',
|
'systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html',
|
||||||
|
@ -93,7 +93,7 @@
|
|||||||
.sheet nav.sheet-tabs {
|
.sheet nav.sheet-tabs {
|
||||||
font-family: "CaslonAntique";
|
font-family: "CaslonAntique";
|
||||||
} /* For nav and title */
|
} /* For nav and title */
|
||||||
.window-app input, .foundryvtt-reve-de-dragon .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
|
.window-app input, .foundryvtt-reve-de-dragon .item-form, .sheet header.sheet-header .flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
|
||||||
font-family: "CaslonAntique"; /* For sheet parts */
|
font-family: "CaslonAntique"; /* For sheet parts */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -332,9 +332,9 @@ input:is(.blessure-premiers_soins, .blessure-soins_complets) {
|
|||||||
}
|
}
|
||||||
.button-img {
|
.button-img {
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
width: 8%;
|
width: 32px;
|
||||||
height: 8%;
|
height: 32px;
|
||||||
max-height: 48px;
|
max-height: 36px;
|
||||||
border-width: 0;
|
border-width: 0;
|
||||||
border: 1px solid rgba(0, 0, 0, 0);
|
border: 1px solid rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
@ -409,10 +409,11 @@ input:is(.blessure-premiers_soins, .blessure-soins_complets) {
|
|||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
justify-content: stretch;
|
justify-content: stretch;
|
||||||
}
|
}
|
||||||
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique.vehicle {
|
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique.streched {
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
justify-content: stretch;
|
justify-content: stretch;
|
||||||
flex-basis: 7.5em;
|
flex-basis: 7.5em;
|
||||||
|
width: max-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique > .carac-label {
|
.rdd.sheet .window-content .sheet-body .carac-list .caracteristique > .carac-label {
|
||||||
@ -638,7 +639,14 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
|
|||||||
margin: 0.5rem 0 0.5rem 0.5rem;
|
margin: 0.5rem 0 0.5rem 0.5rem;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
.sheet header.sheet-header h1 {
|
||||||
|
flex: 3;
|
||||||
|
}
|
||||||
|
.sheet header.sheet-header img.button-img{
|
||||||
|
height: 48px;
|
||||||
|
padding: 1px;
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
.sheet nav.sheet-tabs {
|
.sheet nav.sheet-tabs {
|
||||||
font-size: 0.65rem;
|
font-size: 0.65rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -680,9 +688,13 @@ section.sheet-body:after {
|
|||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet header.sheet-header .flex-compteurs {text-align: right;}
|
.sheet header.sheet-header .flex-compteurs { text-align: right; max-width: max-content;}
|
||||||
.sheet header.sheet-header .resource-content {width: 2rem;}
|
.sheet header.sheet-header .resource-content {width: 2rem;}
|
||||||
|
|
||||||
|
li label.compteur {
|
||||||
|
display: inline-block;
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
.compteur span {
|
.compteur span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
|
@ -238,7 +238,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"common": {
|
"personnage": {
|
||||||
"carac": {
|
"carac": {
|
||||||
"taille": {
|
"taille": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
@ -574,7 +574,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"personnage": {
|
"personnage": {
|
||||||
"templates": [ "background", "common", "subacteurs" ]
|
"templates": [ "personnage", "background", "subacteurs" ]
|
||||||
},
|
},
|
||||||
"creature": {
|
"creature": {
|
||||||
"templates": [ "creature", "description" ]
|
"templates": [ "creature", "description" ]
|
||||||
|
@ -2,33 +2,33 @@
|
|||||||
|
|
||||||
{{!-- Sheet Header --}}
|
{{!-- Sheet Header --}}
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
|
||||||
<div class="header-fields">
|
<div class="header-fields">
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
</div>
|
<h1 class="charname flex-grow"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
<div class="flexrow flex-group-center flex-actions-bar">
|
<div class="flex-group-center">
|
||||||
<div>
|
|
||||||
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
|
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
|
||||||
<span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
|
{{#if @root.options.isGM}}
|
||||||
|
<span class="remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flex-group-left flexrow">
|
||||||
<div class="flexrow">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs-creature.html"}}
|
||||||
<span>{{calc.resumeBlessures}}</span>
|
<div class="flex-group-center">
|
||||||
|
<span>
|
||||||
|
{{calc.resumeBlessures}}
|
||||||
|
‐ Etat Général : {{system.compteurs.etat.value}}
|
||||||
|
</span>
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-effects.html"}}
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
</div>
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/effects.html"}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Sheet Tab Navigation --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
<a class="item" data-tab="carac">Caractéristiques</a>
|
<a class="item" data-tab="carac">Caractéristiques</a>
|
||||||
<a class="item" data-tab="competences">Compétences</a>
|
|
||||||
<a class="item" data-tab="blessures">Blessures</a>
|
|
||||||
<a class="item" data-tab="items">Équipement</a>
|
<a class="item" data-tab="items">Équipement</a>
|
||||||
<a class="item" data-tab="description">Description</a>
|
<a class="item" data-tab="description">Description</a>
|
||||||
</nav>
|
</nav>
|
||||||
@ -36,91 +36,21 @@
|
|||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
|
||||||
{{!-- Carac Tab --}}
|
{{!-- Carac & compétences --}}
|
||||||
<div class="tab items" data-group="primary" data-tab="carac">
|
<div class="tab items" data-group="primary" data-tab="carac">
|
||||||
|
<div class="flexrow">
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/vue-detaillee.html"}}
|
||||||
|
</div>
|
||||||
<div class="grid grid-2col">
|
<div class="grid grid-2col">
|
||||||
<div class="flex-group-left flexcol">
|
<div class="flex-group-left flexcol">
|
||||||
<ol class="carac-list alterne-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-main.html"}}
|
||||||
{{#each system.carac as |carac key|}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-creature.html"}}
|
||||||
<li class="flexrow list-item" data-attribute="{{key}}">
|
|
||||||
{{#if (eq key 'taille')}}
|
|
||||||
<span class="carac-label flexrow" name="system.carac.{{key}}.label">{{carac.label}}</span>
|
|
||||||
{{else}}
|
|
||||||
<span class="carac-label flexrow" name="system.carac.{{key}}.label"><a
|
|
||||||
name={{key}}>{{carac.label}}</a></span>
|
|
||||||
{{/if}}
|
|
||||||
<input class="competence-value flexrow" type="text" name="system.carac.{{key}}.value"
|
|
||||||
value="{{carac.value}}" data-dtype="{{carac.type}}" />
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
<li class="flexrow">
|
|
||||||
<span class="carac-label" name="carac-total">Total Caractéristiques</span>
|
|
||||||
<span class="competence-value" name="carac-total-value">{{calc.caracTotal}}</span>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-group-left flexcol">
|
|
||||||
<ol class="carac-list alterne-list">
|
|
||||||
{{#each system.attributs as |attr key|}}
|
|
||||||
<li class="flexrow list-item" data-attribute="{{key}}">
|
|
||||||
<span class="carac-label" name="system.attributs.{{key}}.label">{{attr.label}}</span>
|
|
||||||
<input type="text" name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="{{attr.type}}" />
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
<li class="flexrow list-item" data-attribute="vie">
|
|
||||||
<span class="competence-label" name="system.sante.vie.label">Vie</span>
|
|
||||||
<span class="flexrow" >
|
|
||||||
<input type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number" /> /
|
|
||||||
<input type="text" name="system.sante.vie.max" value="{{system.sante.vie.max}}" data-dtype="Number" />
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
<li class="flexrow list-item" data-attribute="endurance">
|
|
||||||
<span class="competence-label" name="system.sante.endurance.label">Endurance</span>
|
|
||||||
<span class="flexrow" >
|
|
||||||
<input type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number" /> /
|
|
||||||
<input type="text" name="system.sante.endurance.max" value="{{system.sante.endurance.max}}" data-dtype="Number" />
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
<li class="flexrow list-item" data-attribute="etat">
|
|
||||||
<span class="competence-label" name="system.compteurs.etat.label">Etat Général</span>
|
|
||||||
<input type="text" value="{{system.compteurs.etat.value}}" disabled />
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{!-- Compétences Tab --}}
|
|
||||||
<div class="tab competences" data-group="primary" data-tab="competences">
|
|
||||||
<div class="flexcol">
|
|
||||||
<div class="flex-group-left flexcol competence-column">
|
<div class="flex-group-left flexcol competence-column">
|
||||||
<ol class="item-list alterne-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/comp-creature.html"}}
|
||||||
{{#each competences as |comp key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{comp._id}}">
|
|
||||||
<a class="competence-label" name="{{comp.name}}">
|
|
||||||
<img class="sheet-competence-img" src="{{comp.img}}"/>
|
|
||||||
<span class="competence-label">{{comp.name}}</span>
|
|
||||||
</a>
|
|
||||||
<input class="competence-value creature-carac" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{comp.system.carac_value}}" data-dtype="number" />
|
|
||||||
<input class="competence-value creature-niveau" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{numberFormat comp.system.niveau decimals=0 sign=true}}" data-dtype="number" />
|
|
||||||
<input class="competence-value creature-dommages" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{numberFormat comp.system.dommages decimals=0 sign=true}}" data-dtype="number" />
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ol>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{{!-- blessures Tab --}}
|
|
||||||
<div class="tab blessures" data-group="primary" data-tab="blessures" style="height:200px">
|
|
||||||
{{!-- Liste de blessures --}}
|
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/blessures.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -2,138 +2,48 @@
|
|||||||
|
|
||||||
{{!-- Sheet Header --}}
|
{{!-- Sheet Header --}}
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
|
||||||
<div class="header-fields">
|
<div class="header-fields">
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
|
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
</div>
|
<div class="flex-group-center">
|
||||||
<div class="flexrow flex-group-center flex-actions-bar">
|
|
||||||
<div>
|
|
||||||
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
|
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
|
||||||
<span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
|
{{#if @root.options.isGM}}
|
||||||
|
<span class="remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex-group-left flexrow">
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs-entitee.html"}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
|
||||||
<a class="item" data-tab="carac">Caractéristiques</a>
|
|
||||||
<a class="item" data-tab="competences">Compétences</a>
|
|
||||||
<a class="item" data-tab="description">Description</a>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
|
||||||
{{!-- Carac Tab --}}
|
{{!-- Carac Tab --}}
|
||||||
<div class="tab items" data-group="primary" data-tab="carac">
|
<div class="items" data-group="primary" data-tab="carac">
|
||||||
|
<div class="flexrow">
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/vue-detaillee.html"}}
|
||||||
|
</div>
|
||||||
<div class="grid grid-2col">
|
<div class="grid grid-2col">
|
||||||
<div class="flex-group-left flexcol">
|
<div class="flex-group-left flexcol">
|
||||||
<ol class="carac-list alterne-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-main.html"}}
|
||||||
{{#each system.carac as |carac key|}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-entitee.html"}}
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
|
||||||
{{#if (eq key 'taille')}}
|
|
||||||
<span class="carac-label flexrow" name="system.carac.{{key}}.label">{{carac.label}}</span>
|
|
||||||
{{else}}
|
|
||||||
<span class="carac-label flexrow" name="system.carac.{{key}}.label"><a
|
|
||||||
name={{key}}>{{carac.label}}</a></span>
|
|
||||||
{{/if}}
|
|
||||||
<input class="competence-value flexrow" type="text" name="system.carac.{{key}}.value"
|
|
||||||
value="{{carac.value}}" data-dtype="{{carac.type}}" />
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ol>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-group-left flexcol">
|
<div class="flex-group-left flexcol">
|
||||||
|
<div class="flex-group-left flexcol competence-column">
|
||||||
<ol class="carac-list alterne-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/comp-creature.html"}}
|
||||||
<li class="caracteristique flexrow list-item">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/comp-possession.html"}}
|
||||||
<span class="carac-label flexrow" name="catEntite">Catégorie : </span>
|
</div>
|
||||||
<select name="system.definition.categorieentite" value="{{system.definition.categorieentite}}" data-dtype="String">
|
|
||||||
{{#select system.definition.categorieentite}}
|
|
||||||
<option value="cauchemar">Cauchemar</option>
|
|
||||||
<option value="reve">Rêve</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
<li class="caracteristique flexrow list-item">
|
|
||||||
<span class="carac-label flexrow" name="typeEntite">Type d'entité : </span>
|
|
||||||
<select name="system.definition.typeentite" value="{{system.definition.typeentite}}" data-dtype="String">
|
|
||||||
{{#select system.definition.typeentite}}
|
|
||||||
<option value="incarne">Incarnée</option>
|
|
||||||
<option value="nonincarne">Non Incarnée</option>
|
|
||||||
<option value="blurette">Blurette</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
{{#each system.attributs as |attr key|}}
|
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
|
||||||
<span class="carac-label flexrow" name="system.attributs.{{key}}.label">{{attr.label}} : </span>
|
|
||||||
<span><input class="attribut-value flexrow" type="text" name="system.attributs.{{key}}.value"
|
|
||||||
value="{{attr.value}}" data-dtype="{{attr.type}}" /></span>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="endurance">
|
|
||||||
<span class="competence-label flexrow" name="system.sante.endurance.label">Endurance : </span>
|
|
||||||
<span><input class="sante-value flexrow" type="text" name="system.sante.endurance.value"
|
|
||||||
value="{{system.sante.endurance.value}}" data-dtype="Number" /></span><span>/ </span>
|
|
||||||
<span><input class="sante-value flexrow" type="text" name="system.sante.endurance.max"
|
|
||||||
value="{{system.sante.endurance.max}}" data-dtype="Number" /></span>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
{{!-- Compétences Tab --}}
|
|
||||||
<div class="tab competences" data-group="primary" data-tab="competences">
|
|
||||||
<div class="flexcol">
|
|
||||||
<div class="flex-group-left flexcol competence-column">
|
|
||||||
<ol class="item-list alterne-list">
|
|
||||||
{{#each competences as |comp key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{comp._id}}">
|
|
||||||
<img class="sheet-competence-img" src="{{comp.img}}" />
|
|
||||||
<span class="competence-label"><a>{{comp.name}}</a></span>
|
|
||||||
<input class="competence-value creature-carac" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{comp.system.carac_value}}" data-dtype="number" />
|
|
||||||
<input class="competence-value creature-niveau" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{numberFormat comp.system.niveau decimals=0 sign=true}}" data-dtype="number" />
|
|
||||||
<input class="competence-value creature-dommages" type="text" compname="{{comp.name}}"
|
|
||||||
value="{{numberFormat comp.system.dommages decimals=0 sign=true}}" data-dtype="number" />
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
<div class="flex-group-left flexcol competence-column">
|
|
||||||
<ol class="item-list alterne-list">
|
|
||||||
{{#each possessions as |possession key|}}
|
|
||||||
<li class="item flexrow list-item" data-item-id="{{possession._id}}">
|
|
||||||
<img class="sheet-competence-img" src="{{possession.img}}" />
|
|
||||||
<span class="competence-label">{{possession.name}}</span>
|
|
||||||
<div class="item-controls">
|
|
||||||
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
|
||||||
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ol>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{!-- Biography Tab --}}
|
|
||||||
<div class="tab description" data-group="primary" data-tab="description">
|
|
||||||
<div class="form-group editor">
|
<div class="form-group editor">
|
||||||
{{editor description target="system.description" button=true owner=owner editable=true}}
|
{{editor description target="system.description" button=true owner=owner editable=true}}
|
||||||
</div>
|
</div>
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/editor-notes-mj.html"}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -8,70 +8,11 @@
|
|||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<ul class="flex-group-center flex-compteurs">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-compteurs.html"}}
|
||||||
<li>
|
<div class="flex-group-center">
|
||||||
<label class="compteur">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-buttons.html"}}
|
||||||
<a class="jet-vie">Vie</a>
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-etat.html"}}
|
||||||
<a class="vie-moins"><i class="fas fa-minus-square"></i></a>
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/header-effects.html"}}
|
||||||
<input class="resource-content" type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number"/>
|
|
||||||
<span>/ {{system.sante.vie.max}}</span>
|
|
||||||
<a class="vie-plus"><i class="fas fa-plus-square"></i></a>
|
|
||||||
</label>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label class="compteur">
|
|
||||||
<a class="jet-endurance">Endurance</a>
|
|
||||||
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
|
|
||||||
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number"/>
|
|
||||||
<span>/ {{system.sante.endurance.max}}</span>
|
|
||||||
<a class="endurance-plus"><i class="fas fa-plus-square"></i></a>
|
|
||||||
</label>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label class="appliquerFatigue compteur tooltip">
|
|
||||||
<span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span>
|
|
||||||
Fatigue
|
|
||||||
<a class="fatigue-moins"><i class="fas fa-minus-square"></i></a>
|
|
||||||
<input class="resource-content" id="fatigue-value" type="text" name="system.sante.fatigue.value" value="{{system.sante.fatigue.value}}" data-dtype="Number" />
|
|
||||||
<span>/ {{system.sante.fatigue.max}}</span>
|
|
||||||
<a class="fatigue-plus"><i class="fas fa-plus-square"></i></a>
|
|
||||||
</label>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<label class="compteur">
|
|
||||||
<span class="ptreve-actuel"><a>Rêve</a></span>
|
|
||||||
<a class="ptreve-actuel-moins"><i class="fas fa-minus-square"></i></a>
|
|
||||||
<input class="resource-content" id="pointsreve-value" type="text" name="system.reve.reve.value" value="{{system.reve.reve.value}}" data-dtype="Number" />
|
|
||||||
<span>/ {{system.reve.seuil.value}}</span>
|
|
||||||
<a class="ptreve-actuel-plus"><i class="fas fa-plus-square"></i></a>
|
|
||||||
</label>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="flex-group-center flex-actions-bar">
|
|
||||||
<div>
|
|
||||||
<span class="chance-appel"><a title="Appel à la chance"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/appel-chance.svg" alt="Appel à la chance"/></a></span>
|
|
||||||
<span class="encaisser-direct"><a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a></span>
|
|
||||||
<span class="repos"><a title="Repos"><img class="button-img" src="icons/svg/sleep.svg" alt="Se reposer"/></a></span>
|
|
||||||
{{#if system.attributs.hautrevant.value}}
|
|
||||||
<span class="monte-tmr"><a title="Montée dans les Terres Médianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg" alt="Montée dans les Terres Médianes !"/></a></span>
|
|
||||||
<span class="monte-tmr-rapide"><a title="Montée accélérée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg" alt="Montée accélérée dans les Terres Médianes !"/></a></span>
|
|
||||||
<span class="visu-tmr"><a title="Regarder les Terres Médianes"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg" alt="Regarder les Terres Médianes"/></a></span>
|
|
||||||
{{/if}}
|
|
||||||
<span class="gm-only remise-a-neuf"><a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a></span>
|
|
||||||
</div>
|
|
||||||
<div class="flexrow">
|
|
||||||
<span class="appliquerFatigue tooltip tooltip-dotted">Malus de fatigue : {{calc.fatigue.malus}}
|
|
||||||
<span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span>
|
|
||||||
</span>
|
|
||||||
<span>{{calc.resumeBlessures}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="flexrow">
|
|
||||||
<span>{{system.compteurs.etat.label}}: {{system.compteurs.etat.value}}</span>
|
|
||||||
<span>{{system.compteurs.surenc.label}}: {{system.compteurs.surenc.value}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="flexrow">
|
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/effects.html"}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -86,125 +27,23 @@
|
|||||||
<a class="item" data-tab="hautreve">Haut-Rêve</a>
|
<a class="item" data-tab="hautreve">Haut-Rêve</a>
|
||||||
<a class="item" data-tab="items">Équipement</a>
|
<a class="item" data-tab="items">Équipement</a>
|
||||||
<a class="item" data-tab="description">Description</a>
|
<a class="item" data-tab="description">Description</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
|
||||||
{{!-- Carac Tab --}}
|
{{!-- Carac Tab --}}
|
||||||
<div class="tab items" data-group="primary" data-tab="carac">
|
<div class="tab items" data-group="primary" data-tab="carac">
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span><a class="vue-detaillee">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/vue-detaillee.html"}}
|
||||||
<i class="fas {{#if options.vueDetaillee}}fa-eye-slash{{else}}fa-eye{{/if}}"></i>
|
|
||||||
{{#if options.vueDetaillee}}Vue simplifiée{{else}}Vue détaillée{{/if}}</a>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-2col">
|
<div class="grid grid-2col">
|
||||||
<div class="flex-group-left flexcol">
|
<div class="flex-group-left flexcol">
|
||||||
<ul class="carac-list alterne-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-main.html"}}
|
||||||
{{#each system.carac as |carac key|}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-total.html"}}
|
||||||
{{#if carac.isLevelUp}}
|
|
||||||
<li class="caracteristique flexrow item-list xp-level-up" data-attribute="{{key}}">
|
|
||||||
{{else}}
|
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
|
||||||
{{/if}}
|
|
||||||
{{#if (eq key 'taille')}}
|
|
||||||
<span class="carac-label" name="system.carac.{{key}}.label">{{carac.label}}</span>
|
|
||||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
|
||||||
<label class="carac-xp"/>
|
|
||||||
{{else}}
|
|
||||||
{{#if carac.derivee}}
|
|
||||||
<span class="carac-label" name="system.carac.{{key}}.label"> <a name={{key}}>{{carac.label}}</a></span>
|
|
||||||
<label class="competence-value">{{carac.value}}</label>
|
|
||||||
<label class="carac-xp"/>
|
|
||||||
{{else}}
|
|
||||||
{{#if carac.isLevelUp}}
|
|
||||||
<span class="carac-label tooltip" name="system.carac.{{key}}.label">
|
|
||||||
<span class="tooltiptext ttt-xp">
|
|
||||||
Vous pouvez dépenser {{carac.xpNext}} points d'Experience pour augmenter de 1 votre caractéristique {{carac.label}}
|
|
||||||
</span>
|
|
||||||
<a name={{key}}>{{carac.label}}</a></span>
|
|
||||||
{{else}}
|
|
||||||
<span class="carac-label tooltip" name="system.carac.{{key}}.label"><a name={{key}}>{{carac.label}}</a></span>
|
|
||||||
{{/if}}
|
|
||||||
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
|
||||||
<span class="carac-xp tooltip">
|
|
||||||
<input class="carac-xp" type="text" name="system.carac.{{key}}.xp" value="{{carac.xp}}" data-dtype="number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
|
||||||
<span class="tooltiptext ttt-xp">Vous devez acquérir {{carac.xpNext}} points d'Experience pour augmenter de 1 votre {{carac.label}}</span>
|
|
||||||
</span>
|
|
||||||
{{#if carac.isLevelUp}}
|
|
||||||
<a class="carac-xp-augmenter" name="augmenter.{{key}}" title="Augmenter">
|
|
||||||
<i class="fas fa-arrow-alt-circle-up"></i>
|
|
||||||
</a>
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
<li class="caracteristique flexrow">
|
|
||||||
<span class="carac-label" name="carac-total">Total Caractéristiques </span>
|
|
||||||
<span class="competence-value total" name="carac-total-value">{{calc.caracTotal}} </span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-group-left flexcol" >
|
<div class="flex-group-left flexcol" >
|
||||||
<ul class="carac-list">
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/carac-derivee.html"}}
|
||||||
<li class="caracteristique flexrow list-item">
|
|
||||||
<span class="carac-label" name="beaute">Beauté :</span>
|
|
||||||
<input class="description-value" type="text" name="system.beaute" value="{{system.beaute}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
|
||||||
<label class="carac-xp"/>
|
|
||||||
</li>
|
|
||||||
{{#each system.attributs as |attr key|}}
|
|
||||||
{{#unless (eq key 'hautrevant')}}
|
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
|
||||||
<span class="carac-label" name="system.attributs.{{key}}.label">{{attr.label}} :</span>
|
|
||||||
{{#if (eq key 'protection')}}
|
|
||||||
<input class="description-value" id="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/>
|
|
||||||
{{else}}
|
|
||||||
<input class="description-value" type="text" disabled name="system.attributs.{{key}}." value="{{attr.value}}" data-dtype="number"/>
|
|
||||||
{{/if}}
|
|
||||||
<label class="carac-xp"/>
|
|
||||||
</li>
|
|
||||||
{{/unless}}
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
<ul class="carac-list alterne-list">
|
|
||||||
<li class="caracteristique flexrow list-item">
|
|
||||||
<span class="attribut-label chance-actuelle"><a>Chance actuelle</a></span>
|
|
||||||
<input class="description-value compteur-edit" type="text" name="chance" value="{{system.compteurs.chance.value}}" data-dtype="number"/>
|
|
||||||
</li>
|
|
||||||
{{#each system.compteurs as |compteur key|}}
|
|
||||||
{{#if (eq compteur.label 'Chance')}}
|
|
||||||
{{else if (eq compteur.label 'Experience')}}
|
|
||||||
{{else if compteur.isInput}}
|
|
||||||
<li class="caracteristique flexrow list-item">
|
|
||||||
<span class="attribut-label">{{compteur.label}}</span>
|
|
||||||
{{#if (eq compteur.label 'Ethylisme')}}
|
|
||||||
<select class="description-value" name="system.compteurs.ethylisme.value" id="ethylisme" data-dtype="Number">
|
|
||||||
{{#select compteur.value}}
|
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/niveau-ethylisme.html"}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
{{else}}
|
|
||||||
<input class="description-value compteur-edit" id="{{key}}-edit" type="text" name="{{key}}" value="{{compteur.value}}" data-dtype="number"/>
|
|
||||||
{{/if}}
|
|
||||||
<span class="utiliser-attribut" style="padding-left: 5px">
|
|
||||||
{{#if compteur.isStress}}
|
|
||||||
<a class="stress-test" title="Transformer">Transformer</a>
|
|
||||||
{{else if (eq compteur.label 'Ethylisme')}}
|
|
||||||
<a class="ethylisme-test" id="ethylisme-test" title="Jet d'Ethylisme">Boire</a>
|
|
||||||
{{else if (eq compteur.label 'Moral')}}
|
|
||||||
<a class="moral-malheureux" title="Jet de moral situation malheureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-malheureux.svg" alt="Jet de moral situation malheureuse"/></a>
|
|
||||||
<a class="moral-neutre" title="Jet de moral situation neutre"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg" alt="Jet de moral situation neutre"/></a>
|
|
||||||
<a class="moral-heureux" title="Jet de moral situation heureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-heureux.svg" alt="Jet de moral situation heureuse"/></a>
|
|
||||||
{{else}}
|
|
||||||
<label></label>
|
|
||||||
{{/if}}
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -230,18 +69,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="grid grid-2col">
|
<div class="grid grid-2col">
|
||||||
<div class="flex-group-left flexcol competence-column">
|
<div class="flex-group-left flexcol competence-column">
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.generale) categorie="Compétences générales"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.generale) categorie="Compétences générales"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.particuliere) categorie="Compétences Particulières"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.particuliere) categorie="Compétences Particulières"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.specialisee) categorie="Compétences Spécialisées"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.specialisee) categorie="Compétences Spécialisées"}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-group-left flexcol competence-column">
|
<div class="flex-group-left flexcol competence-column">
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.melee) categorie="Compétences de Mêlée"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.melee) categorie="Compétences de Mêlée"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.tir) categorie="Compétences de Tir"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.tir) categorie="Compétences de Tir"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.lancer) categorie="Compétences de Lancer"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.lancer) categorie="Compétences de Lancer"}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.connaissance) categorie="Connaissances"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.connaissance) categorie="Connaissances"}}
|
||||||
{{#if (or system.attributs.hautrevant.value options.vueDetaillee)}}
|
{{#if (or system.attributs.hautrevant.value options.vueDetaillee)}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/categorie-competences.html" competences=(filtreTriCompetences byCateg.draconic) categorie="Draconic"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/competence-categorie.html" competences=(filtreTriCompetences byCateg.draconic) categorie="Draconic"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html"}}
|
{{> "systems/foundryvtt-reve-de-dragon/templates/actor/xp-competences.html"}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -22,48 +22,51 @@
|
|||||||
|
|
||||||
{{!-- Carac Tab --}}
|
{{!-- Carac Tab --}}
|
||||||
<div class="tab items" data-group="primary" data-tab="carac">
|
<div class="tab items" data-group="primary" data-tab="carac">
|
||||||
|
<div class="flexrow">
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/actor/vue-detaillee.html"}}
|
||||||
|
</div>
|
||||||
<div class="grid grid-2col">
|
<div class="grid grid-2col">
|
||||||
<div class="flex-group-left flexcol">
|
<div class="flex-group-left flexcol">
|
||||||
<ol class="carac-list alterne-list">
|
<ol class="carac-list alterne-list">
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Catégorie</span>
|
<span class="carac-label">Catégorie</span>
|
||||||
<select name="system.categorie" class="categorie" data-dtype="String">
|
<select name="system.categorie" class="categorie" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}>
|
||||||
{{#select system.categorie}}
|
{{#select system.categorie}}
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html"}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html"}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Résistance</span>
|
<span class="carac-label">Résistance</span>
|
||||||
<input class="competence-value flexrow" type="text" name="system.etat.resistance.value" value="{{system.etat.resistance.value}}" data-dtype="Number" />
|
<input class="competence-value" type="text" name="system.etat.resistance.value" value="{{system.etat.resistance.value}}" data-dtype="Number" />
|
||||||
/
|
/
|
||||||
<input class="competence-value flexrow" type="text" name="system.etat.resistance.max" value="{{system.etat.resistance.max}}" data-dtype="Number" />
|
<input class="competence-value" type="text" name="system.etat.resistance.max" value="{{system.etat.resistance.max}}" data-dtype="Number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Structure</span>
|
<span class="carac-label">Structure</span>
|
||||||
<input class="competence-value flexrow" type="text" name="system.etat.structure.value" value="{{system.etat.structure.value}}" data-dtype="Number" />
|
<input class="competence-value" type="text" name="system.etat.structure.value" value="{{system.etat.structure.value}}" data-dtype="Number" />
|
||||||
/
|
/
|
||||||
<input class="competence-value flexrow" type="text" name="system.etat.structure.max" value="{{system.etat.structure.max}}" data-dtype="Number" />
|
<input class="competence-value" type="text" name="system.etat.structure.max" value="{{system.etat.structure.max}}" data-dtype="Number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Vitesse</span>
|
<span class="carac-label">Vitesse</span>
|
||||||
<input class="caracteristique vehicle" type="text" name="system.vitesse" value="{{system.vitesse}}" data-dtype="String" />
|
<input class="caracteristique streched" type="text" name="system.vitesse" value="{{system.vitesse}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Bonus</span>
|
<span class="carac-label">Bonus rames</span>
|
||||||
<input class="caracteristique vehicle" type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="String" />
|
<input class="caracteristique streched" type="text" name="system.bonus" value="{{system.bonus}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Manoeuvrabilité</span>
|
<span class="carac-label">Manoeuvrabilité</span>
|
||||||
<input class="caracteristique vehicle" type="text" name="system.manoeuvrabilite" value="{{system.manoeuvrabilite}}" data-dtype="String" />
|
<input class="caracteristique streched" type="text" name="system.manoeuvrabilite" value="{{system.manoeuvrabilite}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Equipage</span>
|
<span class="carac-label">Equipage</span>
|
||||||
<input class="caracteristique vehicle" type="text" name="system.equipage" value="{{system.equipage}}" data-dtype="Number" />
|
<input class="caracteristique streched" type="text" name="system.equipage" value="{{system.equipage}}" data-dtype="Number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
<li class="caracteristique flexrow list-item">
|
||||||
<span class="carac-label">Capacité d'Encombrement</span>
|
<span class="carac-label">Capacité d'Encombrement</span>
|
||||||
<input class="caracteristique vehicle" type="text" name="system.capacite_encombrement" value="{{system.capacite_encombrement}}" data-dtype="Number" />
|
<input class="caracteristique streched" type="text" name="system.capacite_encombrement" value="{{system.capacite_encombrement}}" data-dtype="Number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
|
8
templates/actor/carac-creature.html
Normal file
8
templates/actor/carac-creature.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<ol class="carac-list alterne-list">
|
||||||
|
{{#each system.attributs as |attr key|}}
|
||||||
|
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||||
|
<span class="carac-label" name="system.attributs.{{key}}.label">{{attr.label}}</span>
|
||||||
|
<input class="caracteristique streched" type="text" name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="{{attr.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
55
templates/actor/carac-derivee.html
Normal file
55
templates/actor/carac-derivee.html
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<ul class="carac-list">
|
||||||
|
<li class="caracteristique flexrow list-item">
|
||||||
|
<span class="carac-label" name="beaute">Beauté :</span>
|
||||||
|
<input class="description-value" type="text" name="system.beaute" value="{{system.beaute}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
<label class="carac-xp"/>
|
||||||
|
</li>
|
||||||
|
{{#each system.attributs as |attr key|}}
|
||||||
|
{{#unless (eq key 'hautrevant')}}
|
||||||
|
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||||
|
<span class="carac-label" name="system.attributs.{{key}}.label">{{attr.label}} :</span>
|
||||||
|
{{#if (eq key 'protection')}}
|
||||||
|
<input class="description-value" id="attribut-protection-edit" type="text" name="{{key}}" value="{{attr.value}}" data-dtype="number"/>
|
||||||
|
{{else}}
|
||||||
|
<input class="description-value" type="text" disabled name="system.attributs.{{key}}." value="{{attr.value}}" data-dtype="number"/>
|
||||||
|
{{/if}}
|
||||||
|
<label class="carac-xp"/>
|
||||||
|
</li>
|
||||||
|
{{/unless}}
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
<ul class="carac-list alterne-list">
|
||||||
|
<li class="caracteristique flexrow list-item">
|
||||||
|
<span class="attribut-label chance-actuelle"><a>Chance actuelle</a></span>
|
||||||
|
<input class="description-value compteur-edit" type="text" name="chance" value="{{system.compteurs.chance.value}}" data-dtype="number"/>
|
||||||
|
</li>
|
||||||
|
{{#each system.compteurs as |compteur key|}}
|
||||||
|
{{#if (eq compteur.label 'Chance')}}
|
||||||
|
{{else if (eq compteur.label 'Experience')}}
|
||||||
|
{{else if compteur.isInput}}
|
||||||
|
<li class="caracteristique flexrow list-item">
|
||||||
|
<span class="attribut-label">{{compteur.label}}</span>
|
||||||
|
{{#if (eq compteur.label 'Ethylisme')}}
|
||||||
|
<select class="description-value" name="system.compteurs.ethylisme.value" id="ethylisme" data-dtype="Number">
|
||||||
|
{{#select compteur.value}}
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/niveau-ethylisme.html"}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
{{else}}
|
||||||
|
<input class="description-value compteur-edit" id="{{key}}-edit" type="text" name="{{key}}" value="{{compteur.value}}" data-dtype="number"/>
|
||||||
|
{{/if}}
|
||||||
|
<span class="utiliser-attribut" style="padding-left: 5px">
|
||||||
|
{{#if compteur.isStress}}
|
||||||
|
<a class="stress-test" title="Transformer">Transformer</a>
|
||||||
|
{{else if (eq compteur.label 'Moral')}}
|
||||||
|
<a class="moral-malheureux" title="Jet de moral situation malheureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-malheureux.svg" alt="Jet de moral situation malheureuse"/></a>
|
||||||
|
<a class="moral-neutre" title="Jet de moral situation neutre"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-neutre.svg" alt="Jet de moral situation neutre"/></a>
|
||||||
|
<a class="moral-heureux" title="Jet de moral situation heureuse"><img class="small-button-container" src="systems/foundryvtt-reve-de-dragon/icons/moral-heureux.svg" alt="Jet de moral situation heureuse"/></a>
|
||||||
|
{{else}}
|
||||||
|
<label></label>
|
||||||
|
{{/if}}
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
28
templates/actor/carac-entitee.html
Normal file
28
templates/actor/carac-entitee.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{{log 'entitee.system' system}}
|
||||||
|
<ol class="carac-list alterne-list">
|
||||||
|
<li class="caracteristique flexrow list-item">
|
||||||
|
<span class="carac-label" name="catEntite">Catégorie : </span>
|
||||||
|
<select name="system.definition.categorieentite" value="{{system.definition.categorieentite}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}>
|
||||||
|
{{#select system.definition.categorieentite}}
|
||||||
|
<option value="cauchemar">Cauchemar</option>
|
||||||
|
<option value="reve">Rêve</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
<li class="caracteristique flexrow list-item">
|
||||||
|
<span class="carac-label" name="typeEntite">Type d'entité : </span>
|
||||||
|
<select name="system.definition.typeentite" value="{{system.definition.typeentite}}" data-dtype="String" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}>
|
||||||
|
{{#select system.definition.typeentite}}
|
||||||
|
<option value="incarne">Incarnée</option>
|
||||||
|
<option value="nonincarne">Non Incarnée</option>
|
||||||
|
<option value="blurette">Blurette</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
{{#each system.attributs as |attr key|}}
|
||||||
|
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||||
|
<span class="carac-label" name="system.attributs.{{key}}.label">{{attr.label}} : </span>
|
||||||
|
<input class="caracteristique streched" type="text" name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="{{attr.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
41
templates/actor/carac-main.html
Normal file
41
templates/actor/carac-main.html
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<ul class="carac-list alterne-list">
|
||||||
|
{{#each system.carac as |carac key|}}
|
||||||
|
{{#if carac.isLevelUp}}
|
||||||
|
<li class="caracteristique flexrow item-list xp-level-up" data-attribute="{{key}}">
|
||||||
|
{{else}}
|
||||||
|
<li class="caracteristique flexrow list-item" data-attribute="{{key}}">
|
||||||
|
{{/if}}
|
||||||
|
{{#if (eq key 'taille')}}
|
||||||
|
<span class="carac-label" name="system.carac.{{key}}.label">{{carac.label}}</span>
|
||||||
|
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
|
<label class="carac-xp"/>
|
||||||
|
{{else}}
|
||||||
|
{{#if carac.derivee}}
|
||||||
|
<span class="carac-label" name="system.carac.{{key}}.label"> <a name={{key}}>{{carac.label}}</a></span>
|
||||||
|
<label class="competence-value">{{carac.value}}</label>
|
||||||
|
<label class="carac-xp"/>
|
||||||
|
{{else}}
|
||||||
|
{{#if carac.isLevelUp}}
|
||||||
|
<span class="carac-label tooltip" name="system.carac.{{key}}.label">
|
||||||
|
<span class="tooltiptext ttt-xp">
|
||||||
|
Vous pouvez dépenser {{carac.xpNext}} points d'Experience pour augmenter de 1 votre caractéristique {{carac.label}}
|
||||||
|
</span>
|
||||||
|
<a name={{key}}>{{carac.label}}</a></span>
|
||||||
|
{{else}}
|
||||||
|
<span class="carac-label tooltip" name="system.carac.{{key}}.label"><a name={{key}}>{{carac.label}}</a></span>
|
||||||
|
{{/if}}
|
||||||
|
<input class="carac-value" type="text" name="system.carac.{{key}}.value" value="{{carac.value}}" data-dtype="{{carac.type}}" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
|
<span class="carac-xp tooltip">
|
||||||
|
<input class="carac-xp" type="text" name="system.carac.{{key}}.xp" value="{{carac.xp}}" data-dtype="number" {{#unless @root.options.vueDetaillee}}disabled{{/unless}} />
|
||||||
|
<span class="tooltiptext ttt-xp">Vous devez acquérir {{carac.xpNext}} points d'Experience pour augmenter de 1 votre {{carac.label}}</span>
|
||||||
|
</span>
|
||||||
|
{{#if carac.isLevelUp}}
|
||||||
|
<a class="carac-xp-augmenter" name="augmenter.{{key}}" title="Augmenter">
|
||||||
|
<i class="fas fa-arrow-alt-circle-up"></i>
|
||||||
|
</a>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
6
templates/actor/carac-total.html
Normal file
6
templates/actor/carac-total.html
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<ul class="carac-list alterne-list">
|
||||||
|
<li class="caracteristique flexrow">
|
||||||
|
<span class="carac-label" name="carac-total">Total Caractéristiques </span>
|
||||||
|
<span class="competence-value total" name="carac-total-value">{{calc.caracTotal}} </span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
26
templates/actor/comp-creature.html
Normal file
26
templates/actor/comp-creature.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<ol class="item-list alterne-list">
|
||||||
|
{{#each competences as |comp key|}}
|
||||||
|
<li class="item flexrow list-item" data-item-id="{{comp._id}}">
|
||||||
|
<a class="competence-label">
|
||||||
|
<img class="sheet-competence-img" src="{{comp.img}}" />
|
||||||
|
<span>{{comp.name}}</span>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input class="competence-value creature-carac" type="text" compname="{{comp.name}}"
|
||||||
|
value="{{comp.system.carac_value}}" data-dtype="number"
|
||||||
|
{{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
<input class="competence-value creature-niveau" type="text" compname="{{comp.name}}"
|
||||||
|
value="{{numberFormat comp.system.niveau decimals=0 sign=true}}" data-dtype="number"
|
||||||
|
{{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
<input class="competence-value creature-dommages" type="text" compname="{{comp.name}}"
|
||||||
|
value="{{numberFormat comp.system.dommages decimals=0 sign=true}}" data-dtype="number"
|
||||||
|
{{#unless @root.options.vueDetaillee}}disabled{{/unless}}/>
|
||||||
|
{{#if @root.options.vueDetaillee}}
|
||||||
|
<div class="item-controls">
|
||||||
|
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
16
templates/actor/comp-possession.html
Normal file
16
templates/actor/comp-possession.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{{#if possessions}}
|
||||||
|
<div class="flex-group-left flexcol competence-column">
|
||||||
|
<ol class="item-list alterne-list">
|
||||||
|
{{#each possessions as |possession key|}}
|
||||||
|
<li class="item flexrow list-item" data-item-id="{{possession._id}}">
|
||||||
|
<img class="sheet-competence-img" src="{{possession.img}}" />
|
||||||
|
<span class="competence-label">{{possession.name}}</span>
|
||||||
|
<div class="item-controls">
|
||||||
|
<a class="item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||||
|
<a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
@ -2,7 +2,7 @@
|
|||||||
<li class="item flexrow list-item {{#if system.isLevelUp}}xp-level-up tooltip{{/if}}" data-item-id="{{_id}}">
|
<li class="item flexrow list-item {{#if system.isLevelUp}}xp-level-up tooltip{{/if}}" data-item-id="{{_id}}">
|
||||||
<a class="competence-label" name="{{name}}">
|
<a class="competence-label" name="{{name}}">
|
||||||
<img class="sheet-competence-img" src="{{img}}"/>
|
<img class="sheet-competence-img" src="{{img}}"/>
|
||||||
<span class="competence-label">{{name}}</span>
|
<span>{{name}}</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
{{#if system.isLevelUp}}
|
{{#if system.isLevelUp}}
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
{{#if calc.surprise}}{{calc.surprise}}! {{/if}}
|
|
||||||
{{#if effects}}
|
|
||||||
{{#each effects as |effect key|}}
|
|
||||||
<span class="active-effect" data-effect="{{effect.flags.core.statusId}}">
|
|
||||||
<img class="button-effect-img delete-active-effect" src="{{effect.icon}}" alt="{{localize effect.label}}" width="24" height="24" />
|
|
||||||
</span>
|
|
||||||
{{/each}}
|
|
||||||
{{#if options.isGM}}
|
|
||||||
<span class="enlever-tous-effets"><a>(enlever tout)</a></span>
|
|
||||||
{{/if}}
|
|
||||||
{{else}}
|
|
||||||
Aucun effet actif
|
|
||||||
{{/if}}
|
|
28
templates/actor/header-buttons.html
Normal file
28
templates/actor/header-buttons.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<div>
|
||||||
|
<span class="chance-appel">
|
||||||
|
<a title="Appel à la chance"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/appel-chance.svg" alt="Appel à la chance"/></a>
|
||||||
|
</span>
|
||||||
|
<span class="encaisser-direct">
|
||||||
|
<a title="Encaisser des dommages"><img class="button-img" src="icons/svg/bones.svg" alt="Encaisser des dommages"/></a>
|
||||||
|
</span>
|
||||||
|
<span class="ethylisme-test">
|
||||||
|
<a title="Jet d'Ethylisme"><img class="button-img" src="icons/svg/tankard.svg" alt="Boire"/></a>
|
||||||
|
</span>
|
||||||
|
<span class="repos">
|
||||||
|
<a title="Repos"><img class="button-img" src="icons/svg/sleep.svg" alt="Se reposer"/></a>
|
||||||
|
</span>
|
||||||
|
{{#if system.attributs.hautrevant.value}}
|
||||||
|
<span class="monte-tmr">
|
||||||
|
<a title="Montée dans les Terres Médianes !" {{#if hautreve.isDemiReve}}disabled{{/if}}><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-normal.svg" alt="Montée dans les Terres Médianes !"/></a></span>
|
||||||
|
<span class="monte-tmr-rapide">
|
||||||
|
<a title="Montée accélérée dans les Terres Médianes !"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-rapide.svg" alt="Montée accélérée dans les Terres Médianes !"/></a></span>
|
||||||
|
<span class="visu-tmr">
|
||||||
|
<a title="Regarder les Terres Médianes"><img class="button-img" src="systems/foundryvtt-reve-de-dragon/styles/img/ui/icon-tmr-view.svg" alt="Regarder les Terres Médianes"/></a>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
{{#if @root.options.isGM}}
|
||||||
|
<span class="remise-a-neuf">
|
||||||
|
<a title="Remise à neuf"><img class="button-img" src="icons/svg/regen.svg" alt="Remise à neuf"/></a>
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
24
templates/actor/header-compteurs-creature.html
Normal file
24
templates/actor/header-compteurs-creature.html
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<ul class="flex-compteurs">
|
||||||
|
<li data-attribute="vie">
|
||||||
|
<label class="compteur">
|
||||||
|
<a class="jet-vie" name="system.sante.vie.label">Vie</a>
|
||||||
|
<a class="vie-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number" />
|
||||||
|
/ {{#if @root.options.vueDetaillee}}
|
||||||
|
<input class="resource-content" type="text" name="system.sante.vie.max" value="{{system.sante.vie.max}}" data-dtype="Number"/>
|
||||||
|
{{else}}{{system.sante.vie.max}}{{/if}}
|
||||||
|
<a class="vie-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li data-attribute="endurance">
|
||||||
|
<label class="compteur">
|
||||||
|
<a class="jet-endurance" name="system.sante.endurance.label">Endurance</a>
|
||||||
|
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number"/>
|
||||||
|
/ {{#if @root.options.vueDetaillee}}
|
||||||
|
<input class="resource-content" type="text" name="system.sante.endurance.max" value="{{system.sante.endurance.max}}" data-dtype="Number"/>
|
||||||
|
{{else}}{{system.sante.endurance.max}}{{/if}}
|
||||||
|
<a class="endurance-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
13
templates/actor/header-compteurs-entitee.html
Normal file
13
templates/actor/header-compteurs-entitee.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{{#if (eq system.definition.typeentite 'incarne')}}
|
||||||
|
<li data-attribute="endurance">
|
||||||
|
<label class="compteur">
|
||||||
|
Endurance
|
||||||
|
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number" />
|
||||||
|
/ {{#if @root.options.vueDetaillee}}
|
||||||
|
<input class="resource-content" type="text" name="system.sante.endurance.max" value="{{system.sante.endurance.max}}" data-dtype="Number"/>
|
||||||
|
{{else}}{{system.sante.endurance.max}}{{/if}}
|
||||||
|
<a class="endurance-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
39
templates/actor/header-compteurs.html
Normal file
39
templates/actor/header-compteurs.html
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<ul class="flex-group-center flex-compteurs">
|
||||||
|
<li>
|
||||||
|
<label class="compteur">
|
||||||
|
<a class="jet-vie">Vie</a>
|
||||||
|
<a class="vie-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" type="text" name="system.sante.vie.value" value="{{system.sante.vie.value}}" data-dtype="Number"/>
|
||||||
|
<span>/ {{system.sante.vie.max}}</span>
|
||||||
|
<a class="vie-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label class="compteur">
|
||||||
|
<a class="jet-endurance">Endurance</a>
|
||||||
|
<a class="endurance-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" type="text" name="system.sante.endurance.value" value="{{system.sante.endurance.value}}" data-dtype="Number"/>
|
||||||
|
<span>/ {{system.sante.endurance.max}}</span>
|
||||||
|
<a class="endurance-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label class="appliquerFatigue compteur tooltip">
|
||||||
|
<span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span>
|
||||||
|
Fatigue
|
||||||
|
<a class="fatigue-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" id="fatigue-value" type="text" name="system.sante.fatigue.value" value="{{system.sante.fatigue.value}}" data-dtype="Number" />
|
||||||
|
<span>/ {{system.sante.fatigue.max}}</span>
|
||||||
|
<a class="fatigue-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label class="compteur">
|
||||||
|
<span class="ptreve-actuel"><a>Rêve</a></span>
|
||||||
|
<a class="ptreve-actuel-moins"><i class="fas fa-minus-square"></i></a>
|
||||||
|
<input class="resource-content" id="pointsreve-value" type="text" name="system.reve.reve.value" value="{{system.reve.reve.value}}" data-dtype="Number" />
|
||||||
|
<span>/ {{system.reve.seuil.value}}</span>
|
||||||
|
<a class="ptreve-actuel-plus"><i class="fas fa-plus-square"></i></a>
|
||||||
|
</label>
|
||||||
|
</li>
|
||||||
|
</ul>
|
17
templates/actor/header-effects.html
Normal file
17
templates/actor/header-effects.html
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<div class="flexrow">
|
||||||
|
{{#if calc.surprise}}{{calc.surprise}}! {{/if}}
|
||||||
|
{{#if effects}}
|
||||||
|
<span>
|
||||||
|
{{#each effects as |effect key|}}
|
||||||
|
<span class="active-effect" data-effect="{{effect.flags.core.statusId}}">
|
||||||
|
<img class="button-effect-img delete-active-effect" src="{{effect.icon}}" alt="{{localize effect.label}}" width="24" height="24" />
|
||||||
|
</span>
|
||||||
|
{{/each}}
|
||||||
|
</span>
|
||||||
|
{{#if options.isGM}}
|
||||||
|
<span class="enlever-tous-effets"><a>(enlever tout)</a></span>
|
||||||
|
{{/if}}
|
||||||
|
{{else}}
|
||||||
|
<span>Aucun effet actif</span>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
10
templates/actor/header-etat.html
Normal file
10
templates/actor/header-etat.html
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<div class="flexrow">
|
||||||
|
<span class="appliquerFatigue tooltip tooltip-dotted">Malus de fatigue : {{calc.fatigue.malus}}
|
||||||
|
<span class="tooltiptext ttt-fatigue">{{{calc.fatigue.html}}}</span>
|
||||||
|
</span>
|
||||||
|
<span>{{calc.resumeBlessures}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span>{{system.compteurs.etat.label}}: {{system.compteurs.etat.value}}</span>
|
||||||
|
<span>{{system.compteurs.surenc.label}}: {{system.compteurs.surenc.value}}</span>
|
||||||
|
</div>
|
4
templates/actor/vue-detaillee.html
Normal file
4
templates/actor/vue-detaillee.html
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<span><a class="vue-detaillee">
|
||||||
|
<i class="fas {{#if options.vueDetaillee}}fa-eye-slash{{else}}fa-eye{{/if}}"></i>
|
||||||
|
{{#if options.vueDetaillee}}Vue simplifiée{{else}}Vue détaillée{{/if}}</a>
|
||||||
|
</span>
|
Loading…
Reference in New Issue
Block a user