3 Commits

Author SHA1 Message Date
63d1c5847b Fix carac secondaires 2022-11-13 10:29:36 +01:00
866a079c69 Allow items links in editors 2022-09-28 15:44:25 +02:00
fa0b989c86 Allow items links in editors 2022-09-28 15:43:48 +02:00
5 changed files with 51 additions and 22 deletions

View File

@ -14,8 +14,8 @@ export class YggdrasillActorSheet extends ActorSheet {
return mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["yggdrasill", "sheet", "actor"], classes: ["yggdrasill", "sheet", "actor"],
template: "systems/fvtt-yggdrasill/templates/actor-sheet.html", template: "systems/fvtt-yggdrasill/templates/actor-sheet.html",
width: 640, width: 680,
height: 720, height: 740,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }], tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
editScore: false editScore: false
@ -23,7 +23,7 @@ export class YggdrasillActorSheet extends ActorSheet {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getData() { async getData() {
const objectData = duplicate(this.object) const objectData = duplicate(this.object)
let formData = { let formData = {
@ -63,7 +63,11 @@ export class YggdrasillActorSheet extends ActorSheet {
optionsCarac: YggdrasillUtility.createDirectOptionList(0, 20), optionsCarac: YggdrasillUtility.createDirectOptionList(0, 20),
optionsDMDP: YggdrasillUtility.createDirectSortedOptionList(-10, +10), optionsDMDP: YggdrasillUtility.createDirectSortedOptionList(-10, +10),
optionsBase: YggdrasillUtility.createDirectOptionList(0, 20), optionsBase: YggdrasillUtility.createDirectOptionList(0, 20),
optionsFuror: YggdrasillUtility.createDirectOptionList(0, 15), optionsFuror: YggdrasillUtility.createDirectOptionList(0, 15),
tiragerunes: await TextEditor.enrichHTML(this.object.system.tiragesrunes, {async: true}),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}),
gmnotes: await TextEditor.enrichHTML(this.object.system.biodata.gmnotes, {async: true}),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,

View File

@ -193,18 +193,18 @@ export class YggdrasillActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
_preUpdate(changed, options, user) { _preUpdate(changed, options, user) {
if ( changed.data?.caracsecondaire?.pv?.value ) { if ( changed.system?.caracsecondaire?.pv?.value ) {
if ( changed.data.caracsecondaire.pv.value < 0 ) if ( changed.system.caracsecondaire.pv.value < 0 )
changed.data.caracsecondaire.pv.value = 0; changed.system.caracsecondaire.pv.value = 0;
if ( changed.data.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max ) if ( changed.system.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max )
changed.data.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max; changed.system.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max;
} }
if ( changed.data?.furor?.value ) { if ( changed.system?.furor?.value ) {
if ( changed.data.furor.value < 0 ) if ( changed.system.furor.value < 0 )
changed.data.furor.value = 0; changed.system.furor.value = 0;
if ( changed.data.furor.value > this.system.furor.max ) if ( changed.system.furor.value > this.system.furor.max )
changed.data.furor.value = this.system.furor.max; changed.system.furor.value = this.system.furor.max;
} }
super._preUpdate(changed, options, user); super._preUpdate(changed, options, user);
} }
@ -448,19 +448,41 @@ export class YggdrasillActor extends Actor {
} }
this.system.caracsecondaire.reaction.value = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; this.system.caracsecondaire.reaction.value = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value;
this.system.caracsecondaire.reaction.max = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; let newReac = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value;
if ( newReac != this.system.caracsecondaire.reaction.max) {
this.system.caracsecondaire.reaction.max = newReac
this.update( { 'system.caracsecondaire.reaction.max': newReac });
}
this.system.caracsecondaire.defensephy.value = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; this.system.caracsecondaire.defensephy.value = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value;
this.system.caracsecondaire.defensephy.max = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; let newDef = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value;
if ( newDef != this.system.caracsecondaire.defensephy.max) {
this.system.caracsecondaire.defensephy.max = newDef
this.update( { 'system.caracsecondaire.defensephy.max': newDef });
}
this.system.caracsecondaire.defensemen.value = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; this.system.caracsecondaire.defensemen.value = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value;
this.system.caracsecondaire.defensemen.max = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; newDef = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value;
if ( newDef != this.system.caracsecondaire.defensemen.max) {
this.system.caracsecondaire.defensemen.max = newDef
this.update( { 'system.caracsecondaire.defensemen.max': newDef });
}
this.system.caracsecondaire.deplacement.value = basecorps.agilite.value + basecorps.vigueur.value; this.system.caracsecondaire.deplacement.value = basecorps.agilite.value + basecorps.vigueur.value;
this.system.caracsecondaire.deplacement.max = basecorps.agilite.value + basecorps.vigueur.value; let depl = basecorps.agilite.value + basecorps.vigueur.value;
if ( depl != this.system.caracsecondaire.deplacement.max) {
this.system.caracsecondaire.deplacement.max = depl
this.update( { 'system.caracsecondaire.deplacement.max': depl });
}
this.system.caracsecondaire.capaenc.value = (basecorps.puissance.value * 2) + basecorps.vigueur.value; this.system.caracsecondaire.capaenc.value = (basecorps.puissance.value * 2) + basecorps.vigueur.value;
this.system.caracsecondaire.capaenc.max = (basecorps.puissance.value * 2) + basecorps.vigueur.value; let enc = (basecorps.puissance.value * 2) + basecorps.vigueur.value;
if ( enc != this.system.caracsecondaire.capaenc.max ) {
this.system.caracsecondaire.capaenc.max = enc
this.update( { 'system.caracsecondaire.capaenc.max': enc });
}
//console.log("CARAC SEC", this.system.caracsecondaire)
} }
} }

View File

@ -23,7 +23,7 @@ export class YggdrasillFigurantSheet extends ActorSheet {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
getData() { async getData() {
const objectData = duplicate(this.object) const objectData = duplicate(this.object)
let formData = { let formData = {
@ -42,6 +42,8 @@ export class YggdrasillFigurantSheet extends ActorSheet {
monnaies: this.actor.getMonnaies(), monnaies: this.actor.getMonnaies(),
optionsAttr: new Array(41).fill('option'), optionsAttr: new Array(41).fill('option'),
optionsBase: YggdrasillUtility.createDirectOptionList(0, 20), optionsBase: YggdrasillUtility.createDirectOptionList(0, 20),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}),
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,
editScore: this.options.editScore, editScore: this.options.editScore,

View File

@ -56,6 +56,7 @@ export class YggdrasillItemSheet extends ItemSheet {
data: foundry.utils.deepClone(this.object.system), data: foundry.utils.deepClone(this.object.system),
optionsBase: YggdrasillUtility.createDirectOptionList(0, 20), optionsBase: YggdrasillUtility.createDirectOptionList(0, 20),
optionsNiveaux4: YggdrasillUtility.buildListOptions(1, 5), optionsNiveaux4: YggdrasillUtility.buildListOptions(1, 5),
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
limited: this.object.limited, limited: this.object.limited,
options: this.options, options: this.options,
owner: this.document.isOwner, owner: this.document.isOwner,

View File

@ -1,7 +1,7 @@
{ {
"title": "Yggdrasill", "title": "Yggdrasill",
"description": "Système non-officiel Yggdrasill (7ième Cercle) pour FoundryVTT", "description": "Système non-officiel Yggdrasill (7ième Cercle) pour FoundryVTT",
"version": "10.0.0", "version": "10.0.3",
"esmodules": [ "esmodules": [
"modules/yggdrasill-main.js" "modules/yggdrasill-main.js"
], ],
@ -196,7 +196,7 @@
"socket": true, "socket": true,
"url": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/", "url": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/raw/branch/v10/system.json", "manifest": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/raw/branch/v10/system.json",
"download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.0.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.3.zip",
"license": "LICENSE.txt", "license": "LICENSE.txt",
"id": "fvtt-yggdrasill", "id": "fvtt-yggdrasill",
"authors": [ "authors": [